From 6004ba7a0d98aa67bd9a93c5fee8bb46e62acdf3 Mon Sep 17 00:00:00 2001 From: Chester Curme Date: Thu, 10 Jul 2025 14:03:53 -0400 Subject: [PATCH] fix streaming annotations --- .../langchain_openai/chat_models/base.py | 12 +++++++++++- .../tests/cassettes/test_web_search.yaml.gz | Bin 24336 -> 30306 bytes .../chat_models/test_responses_api.py | 7 +++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/libs/partners/openai/langchain_openai/chat_models/base.py b/libs/partners/openai/langchain_openai/chat_models/base.py index 0b1f3ef9604..7cb80a7f134 100644 --- a/libs/partners/openai/langchain_openai/chat_models/base.py +++ b/libs/partners/openai/langchain_openai/chat_models/base.py @@ -3889,7 +3889,17 @@ def _convert_responses_chunk_to_generation_chunk( annotation = chunk.annotation else: annotation = chunk.annotation.model_dump(exclude_none=True, mode="json") - content.append({"annotations": [annotation], "index": current_index}) + if output_version == "v1": + content.append( + { + "type": "text", + "text": "", + "annotations": [annotation], + "index": current_index + } + ) + else: + content.append({"annotations": [annotation], "index": current_index}) elif chunk.type == "response.output_text.done": if output_version == "v1": content.append( diff --git a/libs/partners/openai/tests/cassettes/test_web_search.yaml.gz b/libs/partners/openai/tests/cassettes/test_web_search.yaml.gz index e99f1c2e13a14928c0b2b025eab331ac4ec326f3..c1231c99f98a3737e868ca800f7db42e2a06f360 100644 GIT binary patch literal 30306 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 Ad;kCd literal 24336 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 diff --git a/libs/partners/openai/tests/integration_tests/chat_models/test_responses_api.py b/libs/partners/openai/tests/integration_tests/chat_models/test_responses_api.py index fac526c382b..3568b3dd136 100644 --- a/libs/partners/openai/tests/integration_tests/chat_models/test_responses_api.py +++ b/libs/partners/openai/tests/integration_tests/chat_models/test_responses_api.py @@ -55,7 +55,7 @@ def _check_response(response: Optional[BaseMessage]) -> None: @pytest.mark.default_cassette("test_web_search.yaml.gz") @pytest.mark.vcr @pytest.mark.parametrize("output_version", ["responses/v1", "v1"]) -def test_web_search(output_version: Literal["v0", "responses/v1", "v1"]) -> None: +def test_web_search(output_version: Literal["responses/v1", "v1"]) -> None: llm = ChatOpenAI(model=MODEL_NAME, output_version=output_version) first_response = llm.invoke( "What was a positive news story from today?", @@ -112,7 +112,10 @@ def test_web_search(output_version: Literal["v0", "responses/v1", "v1"]) -> None for msg in [first_response, full, response]: assert isinstance(msg, AIMessage) block_types = [block["type"] for block in msg.content] # type: ignore[index] - assert block_types == ["web_search_call", "text"] + if output_version == "responses/v1": + assert block_types == ["web_search_call", "text"] + else: + assert block_types == ["non_standard", "text"] @pytest.mark.flaky(retries=3, delay=1)