-
Notifications
You must be signed in to change notification settings - Fork 183
chore: updated semantic conventions on Generative AI spans #319
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
chore: updated semantic conventions on Generative AI spans #319
Conversation
src/strands/telemetry/tracer.py
Outdated
self._add_event( | ||
span, | ||
"gen_ai.choice", | ||
event_attributes={"finish_reason": "stop", "message": serialize(message["content"])}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just curious: shouldn't the finish_reason
be provided by the model? https://docs.anthropic.com/en/api/handling-stop-reasons
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will pass them!
parent_span: Optional[Span] = None, | ||
messages: Optional[Messages] = None, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just confirming that it's safe to remove the Optional
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, the source was not None
src/strands/telemetry/tracer.py
Outdated
self._end_span(span, attributes, error) | ||
event_attributes["tool.result"] = serialize(tool_result_message["content"]) | ||
self._add_event(span, "gen_ai.choice", event_attributes=event_attributes) | ||
self._end_span(span, {}, error) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i noticed above that the event did not have attributes added and instead the attributes where added to the span. why is it the opposite here - attributes are added to the event but not the span?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
they are actually the same span, and start_event_loop_cycle_span
has the attributes that we want to add, but for end_event_loop_cycle_span
, ""gen_ai.completion"" and "tool.result" should not be in the attributes.
In the future we might have additional attributes to add, I can create an empty attributes (attributes = {}
) first.
7a23cb0
to
a4fae57
Compare
Description
Update semantic conventions for Gen-AI spans
refs:
Related Issues
https://github.com/strands-agents/private-sdk-python-staging/issues/77
Documentation PR
Will update the doc
Type of Change
Other (please describe):
chore: semantic conventions
Testing
How have you tested the change? Verify that the changes do not break functionality or introduce warnings in consuming repositories: agents-docs, agents-tools, agents-cli
hatch run prepare
Checklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.