From 72bb858eec0d9f651be80e589066387ed934ad8f Mon Sep 17 00:00:00 2001 From: Chester Curme Date: Thu, 10 Jul 2025 18:18:53 -0400 Subject: [PATCH] fix --- .../openai/langchain_openai/chat_models/_compat.py | 7 ++++--- .../openai/tests/unit_tests/chat_models/test_base.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libs/partners/openai/langchain_openai/chat_models/_compat.py b/libs/partners/openai/langchain_openai/chat_models/_compat.py index f1ac28392d4..86aff674295 100644 --- a/libs/partners/openai/langchain_openai/chat_models/_compat.py +++ b/libs/partners/openai/langchain_openai/chat_models/_compat.py @@ -485,12 +485,13 @@ def _implode_reasoning_blocks(blocks: list[dict[str, Any]]) -> Iterable[dict[str while i < n: block = blocks[i] - # Ordinary block – just yield a shallow copy - if block.get("type") != "reasoning": + # Skip non-reasoning blocks or blocks already in Responses format + if block.get("type") != "reasoning" or "summary" in block: yield dict(block) i += 1 continue - elif "reasoning" not in block: + elif "reasoning" not in block and "summary" not in block: + # {"type": "reasoning", "id": "rs_..."} yield {**block, "summary": []} i += 1 continue diff --git a/libs/partners/openai/tests/unit_tests/chat_models/test_base.py b/libs/partners/openai/tests/unit_tests/chat_models/test_base.py index d1c6b254614..f8120df7d3e 100644 --- a/libs/partners/openai/tests/unit_tests/chat_models/test_base.py +++ b/libs/partners/openai/tests/unit_tests/chat_models/test_base.py @@ -2563,7 +2563,7 @@ def test_convert_to_v1_from_chat_completions( ), AIMessage( [ - {"type": "reasoning", "id": "abc123"}, + {"type": "reasoning", "id": "abc123", "summary": []}, { "type": "reasoning", "id": "abc234",