feat(openai): add support for response.parse #1292
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Important
Add support for
parsemethod inResponsesandAsyncResponsesfor OpenAI SDK version>=1.66.0inlangfuse/openai.py.parsemethod inResponsesandAsyncResponsesinOPENAI_METHODS_V1.>=1.66.0._extract_streamed_openai_response()for readability.This description was created by
for b9f81d6. You can customize this summary. It will automatically update as commits are pushed.
Disclaimer: Experimental PR review
Greptile Summary
This PR adds support for OpenAI's
response.parsemethod by extending Langfuse's OpenAI integration. The change introduces two newOpenAiDefinitionentries for both synchronous and asynchronous versions of theparsemethod on OpenAI'sResponsesandAsyncResponsesclasses.The
parsemethod was introduced in OpenAI SDK version 1.66.0 as part of their structured output functionality, allowing users to parse API responses into specific formats. The implementation leverages existing infrastructure in the codebase - the_get_langfuse_data_from_kwargsfunction already includes special handling forResponsesobjects (extracting input from theinputparameter), and the_get_langfuse_data_from_default_responsefunction has logic to process responses fromResponsesobjects.The new method definitions follow the established pattern used for other OpenAI methods:
The PR also includes minor code formatting improvements and import reordering for better readability.
Confidence score: 5/5