feat(crewai) GenAI semconv compliance#3817
feat(crewai) GenAI semconv compliance#3817max-deygin-traceloop wants to merge 3 commits intomax/tlp-1925-python-sdk-otel-semantic-conventionfrom
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip You can enable review details to help with troubleshooting, context usage and more.Enable the |
a443c64 to
77e9177
Compare
740ee81 to
6401889
Compare
7e2c0fb to
fc8c171
Compare
…EN_AI_ - Import GEN_AI_REQUEST_MODEL/TEMPERATURE/TOP_P/MAX_TOKENS/FREQUENCY_PENALTY/ PRESENCE_PENALTY/STOP_SEQUENCES/SEED directly from upstream gen_ai_attributes - Use SpanAttributes.GEN_AI_REQUEST_N and GEN_AI_REQUEST_MAX_COMPLETION_TOKENS (renamed from LLM_*) for the remaining non-upstream constants - Update test_semconv_attrs.py to assert upstream constants directly - Add [tool.uv.sources] for local editable semconv_ai install Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fc8c171 to
31af227
Compare
What
Refactors the Crew-AI instrumentation package to emit span attributes that comply with the
OpenTelemetry GenAI semantic conventions spec.
Summary
gen_ai.*attribute namespace, replacing legacyllm.*names)gen_ai.provider.nameto all CrewAI spans (wrap_kickoff,wrap_agent_execute_task,wrap_llm_call)tests/test_semconv_attrs.py— unit tests verifying every mapped attribute name lands correctly on emitted spans, and that no legacyllm.*attributes remain
tests/test_semconv_compliance.py— re-uses shared compliance suite fromopentelemetry-semantic-conventions-ai._testingTest plan
uv run pytest tests/test_semconv_compliance.py— all shared semconv constants passuv run pytest tests/test_semconv_attrs.py— all attribute name and legacy-absence assertions passuv run pytest tests/— full test suite passes