From e2a0ff07fd29c19fc06c2aa3c86518c658f944a8 Mon Sep 17 00:00:00 2001 From: ccurme Date: Wed, 18 Jun 2025 15:01:54 -0400 Subject: [PATCH] openai[patch]: include 'type' key internally when streaming reasoning blocks (#31661) Covered by existing tests. Will make it easier to process streamed reasoning blocks. --- libs/partners/openai/langchain_openai/chat_models/_compat.py | 2 +- libs/partners/openai/langchain_openai/chat_models/base.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/partners/openai/langchain_openai/chat_models/_compat.py b/libs/partners/openai/langchain_openai/chat_models/_compat.py index 969fc192da..d266039488 100644 --- a/libs/partners/openai/langchain_openai/chat_models/_compat.py +++ b/libs/partners/openai/langchain_openai/chat_models/_compat.py @@ -72,7 +72,7 @@ def _convert_to_v03_ai_message( new_content: list[Union[dict, str]] = [] for block in message.content: if isinstance(block, dict): - if block.get("type") == "reasoning" or "summary" in block: + if block.get("type") == "reasoning": # Store a reasoning item in additional_kwargs (overwriting as in # v0.3) _ = block.pop("index", None) diff --git a/libs/partners/openai/langchain_openai/chat_models/base.py b/libs/partners/openai/langchain_openai/chat_models/base.py index 4ebda394ab..f9fa43ec9f 100644 --- a/libs/partners/openai/langchain_openai/chat_models/base.py +++ b/libs/partners/openai/langchain_openai/chat_models/base.py @@ -3756,6 +3756,7 @@ def _convert_responses_chunk_to_generation_chunk( {"index": chunk.summary_index, "type": "summary_text", "text": ""} ], "index": current_index, + "type": "reasoning", } ) elif chunk.type == "response.image_generation_call.partial_image": @@ -3773,6 +3774,7 @@ def _convert_responses_chunk_to_generation_chunk( } ], "index": current_index, + "type": "reasoning", } ) else: