Support OpenAI Responses API content parts#1981
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Signed-off-by: Ritwij Aryan Parmar <ritwij.aryan.parmar@gmail.com>
8249198 to
fec0bc1
Compare
|
Updated this. File IDs now use the semconv Focused checks pass:
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthrough
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Please fix coverage |
0524aa2 to
508b299
Compare
|
Fixed coverage. CI and Codecov are green now. |
Fixes #1901.
This fills in the Responses API content-part gap in the OpenAI instrumentation:
input_textnow maps to a text part/event instead of falling through as unknowninput_imagehandles the Responses API's flatimage_urlstring as well asfile_idand inline file datainput_filemaps URL and file-id references to document URI parts, and inlinefile_datato a document blob partgen_ai.unknownI kept unknown/future part types on the existing generic fallback, so this should be narrowly scoped to the documented Responses API part types.
Tests run:
uv run pytest tests/otel_integrations/test_openai.py -q -k "input_to_events or convert_responses_inputs"uv run ruff check logfire/_internal/integrations/llm_providers/openai.py tests/otel_integrations/test_openai.pyuv run ruff format --check --diff logfire/_internal/integrations/llm_providers/openai.py tests/otel_integrations/test_openai.pyuv run pyright logfire/_internal/integrations/llm_providers/openai.py tests/otel_integrations/test_openai.pyAI disclosure: I used AI assistance while editing and reviewing this patch, then ran the tests and checks above locally.