Skip to content

Commit c92ee01

Browse files
chore(typesafe): Use decide in place of evaluate (#7968)
1 parent 6450132 commit c92ee01

4 files changed

Lines changed: 14 additions & 12 deletions

File tree

‎MIGRATION_GUIDE.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Span ops are now a smaller, framework-neutral set.
4343

4444
- The OpenAI integration now emits `gen_ai.chat` instead of `gen_ai.responses`.
4545
- The Cohere integration now emits `gen_ai.chat` instead of `ai.chat_completions.create.cohere`, and `gen_ai.embeddings` instead of `ai.embeddings.create.cohere`.
46+
- The TypeSafe AI integration now emits `gen_ai.decide` instead of `gen_ai.evaluate`.
4647
- The Redis integration now emits `db.query` instead of `db.redis`.
4748
- The Django integration now emits `view.render` instead of `view.response.render`, `view` instead of `view.authenticate`, and `function` instead of `event.django`.
4849
- The Django, Starlette, Starlite, and Litestar integrations now emit `middleware` instead of `middleware.django`, `middleware.starlette`, `middleware.starlette.receive`, `middleware.starlette.send`, `middleware.starlite`, `middleware.starlite.receive`, `middleware.starlite.send`, `middleware.litestar`, `middleware.litestar.receive`, and `middleware.litestar.send`.

‎sentry_sdk/consts.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1342,6 +1342,7 @@ class OP:
13421342
FUNCTION_GCP = "function.gcp"
13431343
GEN_AI_CHAT = "gen_ai.chat"
13441344
GEN_AI_CREATE_AGENT = "gen_ai.create_agent"
1345+
GEN_AI_DECIDE = "gen_ai.decide"
13451346
GEN_AI_EMBEDDINGS = "gen_ai.embeddings"
13461347
GEN_AI_EVALUATE = "gen_ai.evaluate"
13471348
GEN_AI_EXECUTE_TOOL = "gen_ai.execute_tool"

‎sentry_sdk/integrations/typesafe.py‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -216,12 +216,12 @@ def wrap_system_one(self: "TypeSafeClient", *args: "Any", **kwargs: "Any") -> "A
216216
model = self._config.default_model
217217

218218
with sentry_sdk.start_span(
219-
name=f"evaluate {model}".strip(),
219+
name=f"decide {model}".strip(),
220220
attributes={
221-
"sentry.op": OP.GEN_AI_EVALUATE,
221+
"sentry.op": OP.GEN_AI_DECIDE,
222222
"sentry.origin": TypeSafeIntegration.origin,
223223
SPANDATA.GEN_AI_PROVIDER_NAME: "typesafe",
224-
SPANDATA.GEN_AI_OPERATION_NAME: "evaluate",
224+
SPANDATA.GEN_AI_OPERATION_NAME: "decide",
225225
},
226226
) as span:
227227
if model is not None:
@@ -300,12 +300,12 @@ async def wrap_system_one_async(
300300
model = self._config.default_model
301301

302302
with sentry_sdk.start_span(
303-
name=f"evaluate {model}".strip(),
303+
name=f"decide {model}".strip(),
304304
attributes={
305-
"sentry.op": OP.GEN_AI_EVALUATE,
305+
"sentry.op": OP.GEN_AI_DECIDE,
306306
"sentry.origin": TypeSafeIntegration.origin,
307307
SPANDATA.GEN_AI_PROVIDER_NAME: "typesafe",
308-
SPANDATA.GEN_AI_OPERATION_NAME: "evaluate",
308+
SPANDATA.GEN_AI_OPERATION_NAME: "decide",
309309
},
310310
) as span:
311311
if model is not None:

‎tests/integrations/typesafe/test_typesafe.py‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,12 @@ def test_system_one(sentry_init, capture_items, typesafe_response):
105105
(span,) = (
106106
span
107107
for span in spans
108-
if span["attributes"].get("sentry.op") == OP.GEN_AI_EVALUATE
108+
if span["attributes"].get("sentry.op") == OP.GEN_AI_DECIDE
109109
)
110-
assert span["name"] == "evaluate jev-latest"
110+
assert span["name"] == "decide jev-latest"
111111

112112
assert span["attributes"][SPANDATA.GEN_AI_PROVIDER_NAME] == "typesafe"
113-
assert span["attributes"][SPANDATA.GEN_AI_OPERATION_NAME] == "evaluate"
113+
assert span["attributes"][SPANDATA.GEN_AI_OPERATION_NAME] == "decide"
114114
assert span["attributes"][SPANDATA.GEN_AI_REQUEST_MODEL] == "jev-latest"
115115

116116
assert span["attributes"][SPANDATA.GEN_AI_RESPONSE_MODEL] == "jev-latest"
@@ -258,12 +258,12 @@ async def test_system_one_async(sentry_init, capture_items, typesafe_response):
258258
(span,) = (
259259
span
260260
for span in spans
261-
if span["attributes"].get("sentry.op") == OP.GEN_AI_EVALUATE
261+
if span["attributes"].get("sentry.op") == OP.GEN_AI_DECIDE
262262
)
263-
assert span["name"] == "evaluate jev-latest"
263+
assert span["name"] == "decide jev-latest"
264264

265265
assert span["attributes"][SPANDATA.GEN_AI_PROVIDER_NAME] == "typesafe"
266-
assert span["attributes"][SPANDATA.GEN_AI_OPERATION_NAME] == "evaluate"
266+
assert span["attributes"][SPANDATA.GEN_AI_OPERATION_NAME] == "decide"
267267
assert span["attributes"][SPANDATA.GEN_AI_REQUEST_MODEL] == "jev-latest"
268268

269269
assert span["attributes"][SPANDATA.GEN_AI_RESPONSE_MODEL] == "jev-latest"

0 commit comments

Comments
 (0)