From 4be9407b095bec179e08011a1e4bfb11571970db Mon Sep 17 00:00:00 2001 From: Sujal M H <63709163+sujalmh@users.noreply.github.com> Date: Sat, 20 Dec 2025 00:23:44 +0530 Subject: [PATCH] fix(openai): filter function_call blocks in token counting (#34396) --- libs/partners/deepseek/uv.lock | 2 +- libs/partners/openai/langchain_openai/chat_models/base.py | 8 +++++++- libs/partners/openai/uv.lock | 2 +- libs/partners/xai/uv.lock | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libs/partners/deepseek/uv.lock b/libs/partners/deepseek/uv.lock index 30c8fe80f99..cc9941fdfa5 100644 --- a/libs/partners/deepseek/uv.lock +++ b/libs/partners/deepseek/uv.lock @@ -370,7 +370,7 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.2.2" +version = "1.2.3" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, diff --git a/libs/partners/openai/langchain_openai/chat_models/base.py b/libs/partners/openai/langchain_openai/chat_models/base.py index 615dbc9f77d..2c9143f7cae 100644 --- a/libs/partners/openai/langchain_openai/chat_models/base.py +++ b/libs/partners/openai/langchain_openai/chat_models/base.py @@ -237,7 +237,13 @@ def _format_message_content( if ( isinstance(block, dict) and "type" in block - and block["type"] in ("tool_use", "thinking", "reasoning_content") + and ( + block["type"] in ("tool_use", "thinking", "reasoning_content") + or ( + block["type"] in ("function_call", "code_interpreter_call") + and api == "chat/completions" + ) + ) ): continue if ( diff --git a/libs/partners/openai/uv.lock b/libs/partners/openai/uv.lock index 5c6ba93d332..7d80246d4b8 100644 --- a/libs/partners/openai/uv.lock +++ b/libs/partners/openai/uv.lock @@ -606,7 +606,7 @@ typing = [ [[package]] name = "langchain-core" -version = "1.2.2" +version = "1.2.3" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, diff --git a/libs/partners/xai/uv.lock b/libs/partners/xai/uv.lock index f95e4317b14..8ba57d53f4f 100644 --- a/libs/partners/xai/uv.lock +++ b/libs/partners/xai/uv.lock @@ -621,7 +621,7 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.2.2" +version = "1.2.3" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" },