From 82ae4fb6fa44e521aecf2a6fee68f5fbd0a29302 Mon Sep 17 00:00:00 2001 From: Mason Daugherty Date: Tue, 17 Feb 2026 20:22:07 -0500 Subject: [PATCH] chore: bump model profiles (#35294) --- libs/model-profiles/uv.lock | 12 +- .../langchain_anthropic/data/_profiles.py | 417 +++++++++-------- libs/partners/anthropic/uv.lock | 8 +- .../langchain_deepseek/data/_profiles.py | 28 +- libs/partners/deepseek/uv.lock | 18 +- .../langchain_fireworks/data/_profiles.py | 262 +++++------ libs/partners/fireworks/uv.lock | 6 +- .../groq/langchain_groq/data/_profiles.py | 150 +++---- libs/partners/groq/uv.lock | 6 +- .../langchain_huggingface/data/_profiles.py | 324 +++++++------ libs/partners/huggingface/uv.lock | 15 +- .../langchain_mistralai/data/_profiles.py | 364 +++++++-------- libs/partners/mistralai/uv.lock | 6 +- .../langchain_openrouter/data/_profiles.py | 162 +++++++ libs/partners/openrouter/uv.lock | 2 +- .../langchain_perplexity/data/_profiles.py | 54 +-- libs/partners/perplexity/uv.lock | 8 +- .../xai/langchain_xai/data/_profiles.py | 424 +++++++++--------- libs/partners/xai/uv.lock | 18 +- 19 files changed, 1231 insertions(+), 1053 deletions(-) diff --git a/libs/model-profiles/uv.lock b/libs/model-profiles/uv.lock index caa908a93ba..5d208eae069 100644 --- a/libs/model-profiles/uv.lock +++ b/libs/model-profiles/uv.lock @@ -655,7 +655,7 @@ typing = [ [[package]] name = "langchain-openai" -version = "1.1.9" +version = "1.1.10" source = { editable = "../partners/openai" } dependencies = [ { name = "langchain-core" }, @@ -666,7 +666,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "langchain-core", editable = "../core" }, - { name = "openai", specifier = ">=1.109.1,<3.0.0" }, + { name = "openai", specifier = ">=2.20.0,<3.0.0" }, { name = "tiktoken", specifier = ">=0.7.0,<1.0.0" }, ] @@ -695,7 +695,7 @@ test-integration = [ { name = "httpx", specifier = ">=0.27.0,<1.0.0" }, { name = "numpy", marker = "python_full_version < '3.13'", specifier = ">=1.26.4" }, { name = "numpy", marker = "python_full_version >= '3.13'", specifier = ">=2.1.0" }, - { name = "pillow", specifier = ">=10.3.0,<13.0.0" }, + { name = "pillow", specifier = ">=12.1.1,<13.0.0" }, ] typing = [ { name = "langchain-core", editable = "../core" }, @@ -908,7 +908,7 @@ wheels = [ [[package]] name = "openai" -version = "2.6.1" +version = "2.21.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -920,9 +920,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c4/44/303deb97be7c1c9b53118b52825cbd1557aeeff510f3a52566b1fa66f6a2/openai-2.6.1.tar.gz", hash = "sha256:27ae704d190615fca0c0fc2b796a38f8b5879645a3a52c9c453b23f97141bb49", size = 593043, upload-time = "2025-10-24T13:29:52.79Z" } +sdist = { url = "https://files.pythonhosted.org/packages/92/e5/3d197a0947a166649f566706d7a4c8f7fe38f1fa7b24c9bcffe4c7591d44/openai-2.21.0.tar.gz", hash = "sha256:81b48ce4b8bbb2cc3af02047ceb19561f7b1dc0d4e52d1de7f02abfd15aa59b7", size = 644374, upload-time = "2026-02-14T00:12:01.577Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/15/0e/331df43df633e6105ff9cf45e0ce57762bd126a45ac16b25a43f6738d8a2/openai-2.6.1-py3-none-any.whl", hash = "sha256:904e4b5254a8416746a2f05649594fa41b19d799843cd134dac86167e094edef", size = 1005551, upload-time = "2025-10-24T13:29:50.973Z" }, + { url = "https://files.pythonhosted.org/packages/cc/56/0a89092a453bb2c676d66abee44f863e742b2110d4dbb1dbcca3f7e5fc33/openai-2.21.0-py3-none-any.whl", hash = "sha256:0bc1c775e5b1536c294eded39ee08f8407656537ccc71b1004104fe1602e267c", size = 1103065, upload-time = "2026-02-14T00:11:59.603Z" }, ] [[package]] diff --git a/libs/partners/anthropic/langchain_anthropic/data/_profiles.py b/libs/partners/anthropic/langchain_anthropic/data/_profiles.py index 0992dec8e46..cfebc851ce2 100644 --- a/libs/partners/anthropic/langchain_anthropic/data/_profiles.py +++ b/libs/partners/anthropic/langchain_anthropic/data/_profiles.py @@ -16,9 +16,9 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p from typing import Any _PROFILES: dict[str, dict[str, Any]] = { - "claude-opus-4-0": { + "claude-opus-4-5-20251101": { "max_input_tokens": 200000, - "max_output_tokens": 32000, + "max_output_tokens": 64000, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -35,7 +35,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_tool_message": True, "structured_output": False, }, - "claude-3-5-sonnet-20241022": { + "claude-3-5-haiku-latest": { "max_input_tokens": 200000, "max_output_tokens": 8192, "text_inputs": True, @@ -73,9 +73,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_tool_message": True, "structured_output": True, }, - "claude-haiku-4-5": { + "claude-3-5-sonnet-20241022": { "max_input_tokens": 200000, - "max_output_tokens": 64000, + "max_output_tokens": 8192, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -85,16 +85,16 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_outputs": False, "audio_outputs": False, "video_outputs": False, - "reasoning_output": True, + "reasoning_output": False, "tool_calling": True, "image_url_inputs": True, "pdf_tool_message": True, "image_tool_message": True, "structured_output": False, }, - "claude-3-5-sonnet-20240620": { + "claude-3-sonnet-20240229": { "max_input_tokens": 200000, - "max_output_tokens": 8192, + "max_output_tokens": 4096, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -130,7 +130,102 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_tool_message": True, "structured_output": False, }, - "claude-3-5-haiku-latest": { + "claude-sonnet-4-6": { + "max_input_tokens": 200000, + "max_output_tokens": 64000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, + "claude-sonnet-4-0": { + "max_input_tokens": 200000, + "max_output_tokens": 64000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, + "claude-opus-4-20250514": { + "max_input_tokens": 200000, + "max_output_tokens": 32000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, + "claude-sonnet-4-5-20250929": { + "max_input_tokens": 200000, + "max_output_tokens": 64000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, + "claude-opus-4-0": { + "max_input_tokens": 200000, + "max_output_tokens": 32000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, + "claude-3-5-haiku-20241022": { "max_input_tokens": 200000, "max_output_tokens": 8192, "text_inputs": True, @@ -149,6 +244,120 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_tool_message": True, "structured_output": False, }, + "claude-3-5-sonnet-20240620": { + "max_input_tokens": 200000, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, + "claude-3-7-sonnet-latest": { + "max_input_tokens": 200000, + "max_output_tokens": 64000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, + "claude-3-7-sonnet-20250219": { + "max_input_tokens": 200000, + "max_output_tokens": 64000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, + "claude-3-haiku-20240307": { + "max_input_tokens": 200000, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, + "claude-haiku-4-5-20251001": { + "max_input_tokens": 200000, + "max_output_tokens": 64000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, + "claude-haiku-4-5": { + "max_input_tokens": 200000, + "max_output_tokens": 64000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "pdf_inputs": True, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "image_url_inputs": True, + "pdf_tool_message": True, + "image_tool_message": True, + "structured_output": False, + }, "claude-opus-4-5": { "max_input_tokens": 200000, "max_output_tokens": 64000, @@ -187,25 +396,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_tool_message": True, "structured_output": False, }, - "claude-opus-4-5-20251101": { - "max_input_tokens": 200000, - "max_output_tokens": 64000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "pdf_inputs": True, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "image_url_inputs": True, - "pdf_tool_message": True, - "image_tool_message": True, - "structured_output": False, - }, "claude-sonnet-4-5": { "max_input_tokens": 200000, "max_output_tokens": 64000, @@ -225,25 +415,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_tool_message": True, "structured_output": True, }, - "claude-sonnet-4-5-20250929": { - "max_input_tokens": 200000, - "max_output_tokens": 64000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "pdf_inputs": True, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "image_url_inputs": True, - "pdf_tool_message": True, - "image_tool_message": True, - "structured_output": False, - }, "claude-sonnet-4-20250514": { "max_input_tokens": 200000, "max_output_tokens": 64000, @@ -263,120 +434,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_tool_message": True, "structured_output": False, }, - "claude-opus-4-20250514": { - "max_input_tokens": 200000, - "max_output_tokens": 32000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "pdf_inputs": True, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "image_url_inputs": True, - "pdf_tool_message": True, - "image_tool_message": True, - "structured_output": False, - }, - "claude-3-5-haiku-20241022": { - "max_input_tokens": 200000, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "pdf_inputs": True, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "image_url_inputs": True, - "pdf_tool_message": True, - "image_tool_message": True, - "structured_output": False, - }, - "claude-3-haiku-20240307": { - "max_input_tokens": 200000, - "max_output_tokens": 4096, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "pdf_inputs": True, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "image_url_inputs": True, - "pdf_tool_message": True, - "image_tool_message": True, - "structured_output": False, - }, - "claude-3-7-sonnet-20250219": { - "max_input_tokens": 200000, - "max_output_tokens": 64000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "pdf_inputs": True, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "image_url_inputs": True, - "pdf_tool_message": True, - "image_tool_message": True, - "structured_output": False, - }, - "claude-3-7-sonnet-latest": { - "max_input_tokens": 200000, - "max_output_tokens": 64000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "pdf_inputs": True, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "image_url_inputs": True, - "pdf_tool_message": True, - "image_tool_message": True, - "structured_output": False, - }, - "claude-sonnet-4-0": { - "max_input_tokens": 200000, - "max_output_tokens": 64000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "pdf_inputs": True, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "image_url_inputs": True, - "pdf_tool_message": True, - "image_tool_message": True, - "structured_output": False, - }, "claude-opus-4-1-20250805": { "max_input_tokens": 200000, "max_output_tokens": 32000, @@ -396,42 +453,4 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_tool_message": True, "structured_output": False, }, - "claude-3-sonnet-20240229": { - "max_input_tokens": 200000, - "max_output_tokens": 4096, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "pdf_inputs": True, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - "image_url_inputs": True, - "pdf_tool_message": True, - "image_tool_message": True, - "structured_output": False, - }, - "claude-haiku-4-5-20251001": { - "max_input_tokens": 200000, - "max_output_tokens": 64000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "pdf_inputs": True, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "image_url_inputs": True, - "pdf_tool_message": True, - "image_tool_message": True, - "structured_output": False, - }, } diff --git a/libs/partners/anthropic/uv.lock b/libs/partners/anthropic/uv.lock index da44dca78cb..f1a4fdae1d6 100644 --- a/libs/partners/anthropic/uv.lock +++ b/libs/partners/anthropic/uv.lock @@ -531,7 +531,7 @@ requires-dist = [ provides-extras = ["community", "anthropic", "openai", "azure-ai", "google-vertexai", "google-genai", "fireworks", "ollama", "together", "mistralai", "huggingface", "groq", "aws", "deepseek", "xai", "perplexity"] [package.metadata.requires-dev] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [ { name = "blockbuster", specifier = ">=1.5.26,<1.6.0" }, { name = "langchain-openai", editable = "../openai" }, @@ -646,7 +646,7 @@ typing = [ [[package]] name = "langchain-core" -version = "1.2.11" +version = "1.2.13" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, @@ -677,7 +677,7 @@ dev = [ { name = "jupyter", specifier = ">=1.0.0,<2.0.0" }, { name = "setuptools", specifier = ">=67.6.1,<83.0.0" }, ] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [ { name = "blockbuster", specifier = ">=1.5.18,<1.6.0" }, { name = "freezegun", specifier = ">=1.2.2,<2.0.0" }, @@ -740,7 +740,7 @@ requires-dist = [ ] [package.metadata.requires-dev] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [{ name = "langchain-core", editable = "../../core" }] test-integration = [] typing = [ diff --git a/libs/partners/deepseek/langchain_deepseek/data/_profiles.py b/libs/partners/deepseek/langchain_deepseek/data/_profiles.py index f24a7b99074..0bce7c20b97 100644 --- a/libs/partners/deepseek/langchain_deepseek/data/_profiles.py +++ b/libs/partners/deepseek/langchain_deepseek/data/_profiles.py @@ -16,20 +16,6 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p from typing import Any _PROFILES: dict[str, dict[str, Any]] = { - "deepseek-chat": { - "max_input_tokens": 128000, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, "deepseek-reasoner": { "max_input_tokens": 128000, "max_output_tokens": 128000, @@ -44,4 +30,18 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, + "deepseek-chat": { + "max_input_tokens": 128000, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, } diff --git a/libs/partners/deepseek/uv.lock b/libs/partners/deepseek/uv.lock index b9291ed587d..9ce6d961e96 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.11" +version = "1.2.13" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, @@ -401,7 +401,7 @@ dev = [ { name = "jupyter", specifier = ">=1.0.0,<2.0.0" }, { name = "setuptools", specifier = ">=67.6.1,<83.0.0" }, ] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [ { name = "blockbuster", specifier = ">=1.5.18,<1.6.0" }, { name = "freezegun", specifier = ">=1.2.2,<2.0.0" }, @@ -477,7 +477,7 @@ typing = [{ name = "mypy", specifier = ">=1.10.0,<2.0.0" }] [[package]] name = "langchain-openai" -version = "1.1.9" +version = "1.1.10" source = { editable = "../openai" } dependencies = [ { name = "langchain-core" }, @@ -488,7 +488,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "langchain-core", editable = "../../core" }, - { name = "openai", specifier = ">=1.109.1,<3.0.0" }, + { name = "openai", specifier = ">=2.20.0,<3.0.0" }, { name = "tiktoken", specifier = ">=0.7.0,<1.0.0" }, ] @@ -517,7 +517,7 @@ test-integration = [ { name = "httpx", specifier = ">=0.27.0,<1.0.0" }, { name = "numpy", marker = "python_full_version < '3.13'", specifier = ">=1.26.4" }, { name = "numpy", marker = "python_full_version >= '3.13'", specifier = ">=2.1.0" }, - { name = "pillow", specifier = ">=10.3.0,<12.0.0" }, + { name = "pillow", specifier = ">=12.1.1,<13.0.0" }, ] typing = [ { name = "langchain-core", editable = "../../core" }, @@ -561,7 +561,7 @@ requires-dist = [ ] [package.metadata.requires-dev] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [{ name = "langchain-core", editable = "../../core" }] test-integration = [] typing = [ @@ -819,7 +819,7 @@ wheels = [ [[package]] name = "openai" -version = "2.1.0" +version = "2.21.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -831,9 +831,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1a/dd/4d4d46a06943e37c95b6e388237e1e38d1e9aab264ff070f86345d60b7a4/openai-2.1.0.tar.gz", hash = "sha256:47f3463a5047340a989b4c0cd5378054acfca966ff61a96553b22f098e3270a2", size = 572998, upload-time = "2025-10-02T20:43:15.385Z" } +sdist = { url = "https://files.pythonhosted.org/packages/92/e5/3d197a0947a166649f566706d7a4c8f7fe38f1fa7b24c9bcffe4c7591d44/openai-2.21.0.tar.gz", hash = "sha256:81b48ce4b8bbb2cc3af02047ceb19561f7b1dc0d4e52d1de7f02abfd15aa59b7", size = 644374, upload-time = "2026-02-14T00:12:01.577Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/68/83/88f64fc8f037885efa8a629d1215f5bc1f037453bab4d4f823b5533319eb/openai-2.1.0-py3-none-any.whl", hash = "sha256:33172e8c06a4576144ba4137a493807a9ca427421dcabc54ad3aa656daf757d3", size = 964939, upload-time = "2025-10-02T20:43:13.568Z" }, + { url = "https://files.pythonhosted.org/packages/cc/56/0a89092a453bb2c676d66abee44f863e742b2110d4dbb1dbcca3f7e5fc33/openai-2.21.0-py3-none-any.whl", hash = "sha256:0bc1c775e5b1536c294eded39ee08f8407656537ccc71b1004104fe1602e267c", size = 1103065, upload-time = "2026-02-14T00:11:59.603Z" }, ] [[package]] diff --git a/libs/partners/fireworks/langchain_fireworks/data/_profiles.py b/libs/partners/fireworks/langchain_fireworks/data/_profiles.py index 51cf1a365b1..94cf90317c0 100644 --- a/libs/partners/fireworks/langchain_fireworks/data/_profiles.py +++ b/libs/partners/fireworks/langchain_fireworks/data/_profiles.py @@ -16,8 +16,8 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p from typing import Any _PROFILES: dict[str, dict[str, Any]] = { - "accounts/fireworks/models/deepseek-r1-0528": { - "max_input_tokens": 160000, + "accounts/fireworks/models/kimi-k2-instruct": { + "max_input_tokens": 128000, "max_output_tokens": 16384, "text_inputs": True, "image_inputs": False, @@ -27,6 +27,34 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_outputs": False, "audio_outputs": False, "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "accounts/fireworks/models/glm-4p7": { + "max_input_tokens": 198000, + "max_output_tokens": 198000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "accounts/fireworks/models/glm-5": { + "max_input_tokens": 202752, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, "reasoning_output": True, "tool_calling": True, }, @@ -44,34 +72,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, - "accounts/fireworks/models/deepseek-v3p2": { - "max_input_tokens": 160000, - "max_output_tokens": 160000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "accounts/fireworks/models/minimax-m2": { - "max_input_tokens": 192000, - "max_output_tokens": 192000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, "accounts/fireworks/models/minimax-m2p1": { "max_input_tokens": 200000, "max_output_tokens": 200000, @@ -86,132 +86,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, - "accounts/fireworks/models/glm-4p7": { - "max_input_tokens": 198000, - "max_output_tokens": 198000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "accounts/fireworks/models/deepseek-v3-0324": { - "max_input_tokens": 160000, - "max_output_tokens": 16384, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "accounts/fireworks/models/glm-4p6": { - "max_input_tokens": 198000, - "max_output_tokens": 198000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "accounts/fireworks/models/kimi-k2-thinking": { - "max_input_tokens": 256000, - "max_output_tokens": 256000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "accounts/fireworks/models/kimi-k2-instruct": { - "max_input_tokens": 128000, - "max_output_tokens": 16384, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "accounts/fireworks/models/kimi-k2p5": { - "max_input_tokens": 256000, - "max_output_tokens": 256000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": True, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "accounts/fireworks/models/qwen3-235b-a22b": { - "max_input_tokens": 128000, - "max_output_tokens": 16384, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "accounts/fireworks/models/gpt-oss-20b": { - "max_input_tokens": 131072, - "max_output_tokens": 32768, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "accounts/fireworks/models/gpt-oss-120b": { - "max_input_tokens": 131072, - "max_output_tokens": 32768, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, "accounts/fireworks/models/glm-4p5-air": { "max_input_tokens": 131072, "max_output_tokens": 131072, @@ -226,8 +100,36 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, - "accounts/fireworks/models/qwen3-coder-480b-a35b-instruct": { - "max_input_tokens": 256000, + "accounts/fireworks/models/deepseek-v3p2": { + "max_input_tokens": 160000, + "max_output_tokens": 160000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "accounts/fireworks/models/minimax-m2p5": { + "max_input_tokens": 196608, + "max_output_tokens": 196608, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "accounts/fireworks/models/gpt-oss-120b": { + "max_input_tokens": 131072, "max_output_tokens": 32768, "text_inputs": True, "image_inputs": False, @@ -237,7 +139,35 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_outputs": False, "audio_outputs": False, "video_outputs": False, - "reasoning_output": False, + "reasoning_output": True, + "tool_calling": True, + }, + "accounts/fireworks/models/kimi-k2p5": { + "max_input_tokens": 256000, + "max_output_tokens": 256000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "accounts/fireworks/models/kimi-k2-thinking": { + "max_input_tokens": 256000, + "max_output_tokens": 256000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, "tool_calling": True, }, "accounts/fireworks/models/glm-4p5": { @@ -254,4 +184,18 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, + "accounts/fireworks/models/gpt-oss-20b": { + "max_input_tokens": 131072, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, } diff --git a/libs/partners/fireworks/uv.lock b/libs/partners/fireworks/uv.lock index af45c74594d..14fca280907 100644 --- a/libs/partners/fireworks/uv.lock +++ b/libs/partners/fireworks/uv.lock @@ -685,7 +685,7 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.2.11" +version = "1.2.13" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, @@ -716,7 +716,7 @@ dev = [ { name = "jupyter", specifier = ">=1.0.0,<2.0.0" }, { name = "setuptools", specifier = ">=67.6.1,<83.0.0" }, ] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [ { name = "blockbuster", specifier = ">=1.5.18,<1.6.0" }, { name = "freezegun", specifier = ">=1.2.2,<2.0.0" }, @@ -847,7 +847,7 @@ requires-dist = [ ] [package.metadata.requires-dev] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [{ name = "langchain-core", editable = "../../core" }] test-integration = [] typing = [ diff --git a/libs/partners/groq/langchain_groq/data/_profiles.py b/libs/partners/groq/langchain_groq/data/_profiles.py index fe0c338b254..6f6e0696843 100644 --- a/libs/partners/groq/langchain_groq/data/_profiles.py +++ b/libs/partners/groq/langchain_groq/data/_profiles.py @@ -16,35 +16,7 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p from typing import Any _PROFILES: dict[str, dict[str, Any]] = { - "llama-3.1-8b-instant": { - "max_input_tokens": 131072, - "max_output_tokens": 131072, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "mistral-saba-24b": { - "max_input_tokens": 32768, - "max_output_tokens": 32768, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "llama3-8b-8192": { + "llama3-70b-8192": { "max_input_tokens": 8192, "max_output_tokens": 8192, "text_inputs": True, @@ -72,9 +44,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, - "llama3-70b-8192": { - "max_input_tokens": 8192, - "max_output_tokens": 8192, + "llama-3.1-8b-instant": { + "max_input_tokens": 131072, + "max_output_tokens": 131072, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -86,20 +58,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "deepseek-r1-distill-llama-70b": { - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, "llama-guard-3-8b": { "max_input_tokens": 8192, "max_output_tokens": 8192, @@ -114,7 +72,21 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": False, }, - "gemma2-9b-it": { + "deepseek-r1-distill-llama-70b": { + "max_input_tokens": 131072, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "llama3-8b-8192": { "max_input_tokens": 8192, "max_output_tokens": 8192, "text_inputs": True, @@ -128,6 +100,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, + "mistral-saba-24b": { + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, "llama-3.3-70b-versatile": { "max_input_tokens": 131072, "max_output_tokens": 32768, @@ -142,9 +128,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "moonshotai/kimi-k2-instruct-0905": { - "max_input_tokens": 262144, - "max_output_tokens": 16384, + "gemma2-9b-it": { + "max_input_tokens": 8192, + "max_output_tokens": 8192, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -155,7 +141,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, - "structured_output": True, }, "moonshotai/kimi-k2-instruct": { "max_input_tokens": 131072, @@ -171,9 +156,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "openai/gpt-oss-20b": { - "max_input_tokens": 131072, - "max_output_tokens": 65536, + "moonshotai/kimi-k2-instruct-0905": { + "max_input_tokens": 262144, + "max_output_tokens": 16384, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -182,22 +167,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_outputs": False, "audio_outputs": False, "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - "structured_output": True, - }, - "openai/gpt-oss-120b": { - "max_input_tokens": 131072, - "max_output_tokens": 65536, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, + "reasoning_output": False, "tool_calling": True, "structured_output": True, }, @@ -230,6 +200,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, }, + "meta-llama/llama-guard-4-12b": { + "max_input_tokens": 131072, + "max_output_tokens": 1024, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + }, "meta-llama/llama-4-maverick-17b-128e-instruct": { "max_input_tokens": 131072, "max_output_tokens": 8192, @@ -245,18 +229,34 @@ _PROFILES: dict[str, dict[str, Any]] = { "tool_calling": True, "structured_output": True, }, - "meta-llama/llama-guard-4-12b": { + "openai/gpt-oss-120b": { "max_input_tokens": 131072, - "max_output_tokens": 1024, + "max_output_tokens": 65536, "text_inputs": True, - "image_inputs": True, + "image_inputs": False, "audio_inputs": False, "video_inputs": False, "text_outputs": True, "image_outputs": False, "audio_outputs": False, "video_outputs": False, - "reasoning_output": False, - "tool_calling": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + }, + "openai/gpt-oss-20b": { + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, }, } diff --git a/libs/partners/groq/uv.lock b/libs/partners/groq/uv.lock index 10403e9acc8..e89e20ec277 100644 --- a/libs/partners/groq/uv.lock +++ b/libs/partners/groq/uv.lock @@ -314,7 +314,7 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.2.11" +version = "1.2.13" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, @@ -345,7 +345,7 @@ dev = [ { name = "jupyter", specifier = ">=1.0.0,<2.0.0" }, { name = "setuptools", specifier = ">=67.6.1,<83.0.0" }, ] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [ { name = "blockbuster", specifier = ">=1.5.18,<1.6.0" }, { name = "freezegun", specifier = ">=1.2.2,<2.0.0" }, @@ -465,7 +465,7 @@ requires-dist = [ ] [package.metadata.requires-dev] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [{ name = "langchain-core", editable = "../../core" }] test-integration = [] typing = [ diff --git a/libs/partners/huggingface/langchain_huggingface/data/_profiles.py b/libs/partners/huggingface/langchain_huggingface/data/_profiles.py index 1dfe9e391a3..45323d6d466 100644 --- a/libs/partners/huggingface/langchain_huggingface/data/_profiles.py +++ b/libs/partners/huggingface/langchain_huggingface/data/_profiles.py @@ -16,51 +16,9 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p from typing import Any _PROFILES: dict[str, dict[str, Any]] = { - "moonshotai/Kimi-K2-Instruct": { - "max_input_tokens": 131072, - "max_output_tokens": 16384, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "moonshotai/Kimi-K2.5": { - "max_input_tokens": 262144, - "max_output_tokens": 262144, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": True, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "moonshotai/Kimi-K2-Instruct-0905": { - "max_input_tokens": 262144, - "max_output_tokens": 16384, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "moonshotai/Kimi-K2-Thinking": { - "max_input_tokens": 262144, - "max_output_tokens": 262144, + "zai-org/GLM-4.7-Flash": { + "max_input_tokens": 200000, + "max_output_tokens": 128000, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -72,7 +30,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, - "MiniMaxAI/MiniMax-M2.1": { + "zai-org/GLM-4.7": { "max_input_tokens": 204800, "max_output_tokens": 131072, "text_inputs": True, @@ -86,6 +44,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, + "zai-org/GLM-5": { + "max_input_tokens": 202752, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, "XiaomiMiMo/MiMo-V2-Flash": { "max_input_tokens": 262144, "max_output_tokens": 4096, @@ -100,91 +72,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, - "Qwen/Qwen3-Embedding-8B": { - "max_input_tokens": 32000, - "max_output_tokens": 4096, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": False, - }, - "Qwen/Qwen3-Embedding-4B": { - "max_input_tokens": 32000, - "max_output_tokens": 2048, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": False, - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "max_input_tokens": 262144, - "max_output_tokens": 66536, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "max_input_tokens": 262144, - "max_output_tokens": 131072, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "Qwen/Qwen3-Next-80B-A3B-Instruct": { - "max_input_tokens": 262144, - "max_output_tokens": 66536, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "Qwen/Qwen3-Next-80B-A3B-Thinking": { - "max_input_tokens": 262144, - "max_output_tokens": 131072, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "zai-org/GLM-4.7": { + "MiniMaxAI/MiniMax-M2.5": { "max_input_tokens": 204800, "max_output_tokens": 131072, "text_inputs": True, @@ -198,9 +86,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, - "zai-org/GLM-4.7-Flash": { - "max_input_tokens": 200000, - "max_output_tokens": 128000, + "MiniMaxAI/MiniMax-M2.1": { + "max_input_tokens": 204800, + "max_output_tokens": 131072, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -240,4 +128,172 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": True, "tool_calling": True, }, + "moonshotai/Kimi-K2-Instruct": { + "max_input_tokens": 131072, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "moonshotai/Kimi-K2-Instruct-0905": { + "max_input_tokens": 262144, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "moonshotai/Kimi-K2.5": { + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "moonshotai/Kimi-K2-Thinking": { + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "Qwen/Qwen3-Next-80B-A3B-Instruct": { + "max_input_tokens": 262144, + "max_output_tokens": 66536, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "Qwen/Qwen3.5-397B-A17B": { + "max_input_tokens": 262144, + "max_output_tokens": 32768, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "Qwen/Qwen3-235B-A22B-Thinking-2507": { + "max_input_tokens": 262144, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "Qwen/Qwen3-Coder-Next": { + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "Qwen/Qwen3-Coder-480B-A35B-Instruct": { + "max_input_tokens": 262144, + "max_output_tokens": 66536, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "Qwen/Qwen3-Embedding-4B": { + "max_input_tokens": 32000, + "max_output_tokens": 2048, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + }, + "Qwen/Qwen3-Embedding-8B": { + "max_input_tokens": 32000, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + }, + "Qwen/Qwen3-Next-80B-A3B-Thinking": { + "max_input_tokens": 262144, + "max_output_tokens": 131072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, } diff --git a/libs/partners/huggingface/uv.lock b/libs/partners/huggingface/uv.lock index 31a0fe251a8..341cc91fb45 100644 --- a/libs/partners/huggingface/uv.lock +++ b/libs/partners/huggingface/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.10.0, <4.0.0" resolution-markers = [ "python_full_version >= '3.13' and platform_python_implementation == 'PyPy'", @@ -580,7 +580,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7d/ed/6bfa4109fcb23a58819600392564fea69cdc6551ffd5e69ccf1d52a40cbc/greenlet-3.2.4-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:8c68325b0d0acf8d91dde4e6f930967dd52a5302cd4062932a6b2e7c2969f47c", size = 271061, upload-time = "2025-08-07T13:17:15.373Z" }, { url = "https://files.pythonhosted.org/packages/2a/fc/102ec1a2fc015b3a7652abab7acf3541d58c04d3d17a8d3d6a44adae1eb1/greenlet-3.2.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:94385f101946790ae13da500603491f04a76b6e4c059dab271b3ce2e283b2590", size = 629475, upload-time = "2025-08-07T13:42:54.009Z" }, { url = "https://files.pythonhosted.org/packages/c5/26/80383131d55a4ac0fb08d71660fd77e7660b9db6bdb4e8884f46d9f2cc04/greenlet-3.2.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f10fd42b5ee276335863712fa3da6608e93f70629c631bf77145021600abc23c", size = 640802, upload-time = "2025-08-07T13:45:25.52Z" }, - { url = "https://files.pythonhosted.org/packages/9f/7c/e7833dbcd8f376f3326bd728c845d31dcde4c84268d3921afcae77d90d08/greenlet-3.2.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c8c9e331e58180d0d83c5b7999255721b725913ff6bc6cf39fa2a45841a4fd4b", size = 636703, upload-time = "2025-08-07T13:53:12.622Z" }, { url = "https://files.pythonhosted.org/packages/e9/49/547b93b7c0428ede7b3f309bc965986874759f7d89e4e04aeddbc9699acb/greenlet-3.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:58b97143c9cc7b86fc458f215bd0932f1757ce649e05b640fea2e79b54cedb31", size = 635417, upload-time = "2025-08-07T13:18:25.189Z" }, { url = "https://files.pythonhosted.org/packages/7f/91/ae2eb6b7979e2f9b035a9f612cf70f1bf54aad4e1d125129bef1eae96f19/greenlet-3.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c2ca18a03a8cfb5b25bc1cbe20f3d9a4c80d8c3b13ba3df49ac3961af0b1018d", size = 584358, upload-time = "2025-08-07T13:18:23.708Z" }, { url = "https://files.pythonhosted.org/packages/f7/85/433de0c9c0252b22b16d413c9407e6cb3b41df7389afc366ca204dbc1393/greenlet-3.2.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9fe0a28a7b952a21e2c062cd5756d34354117796c6d9215a87f55e38d15402c5", size = 1113550, upload-time = "2025-08-07T13:42:37.467Z" }, @@ -591,7 +590,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a4/de/f28ced0a67749cac23fecb02b694f6473f47686dff6afaa211d186e2ef9c/greenlet-3.2.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:96378df1de302bc38e99c3a9aa311967b7dc80ced1dcc6f171e99842987882a2", size = 272305, upload-time = "2025-08-07T13:15:41.288Z" }, { url = "https://files.pythonhosted.org/packages/09/16/2c3792cba130000bf2a31c5272999113f4764fd9d874fb257ff588ac779a/greenlet-3.2.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1ee8fae0519a337f2329cb78bd7a8e128ec0f881073d43f023c7b8d4831d5246", size = 632472, upload-time = "2025-08-07T13:42:55.044Z" }, { url = "https://files.pythonhosted.org/packages/ae/8f/95d48d7e3d433e6dae5b1682e4292242a53f22df82e6d3dda81b1701a960/greenlet-3.2.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:94abf90142c2a18151632371140b3dba4dee031633fe614cb592dbb6c9e17bc3", size = 644646, upload-time = "2025-08-07T13:45:26.523Z" }, - { url = "https://files.pythonhosted.org/packages/d5/5e/405965351aef8c76b8ef7ad370e5da58d57ef6068df197548b015464001a/greenlet-3.2.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:4d1378601b85e2e5171b99be8d2dc85f594c79967599328f95c1dc1a40f1c633", size = 640519, upload-time = "2025-08-07T13:53:13.928Z" }, { url = "https://files.pythonhosted.org/packages/25/5d/382753b52006ce0218297ec1b628e048c4e64b155379331f25a7316eb749/greenlet-3.2.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0db5594dce18db94f7d1650d7489909b57afde4c580806b8d9203b6e79cdc079", size = 639707, upload-time = "2025-08-07T13:18:27.146Z" }, { url = "https://files.pythonhosted.org/packages/1f/8e/abdd3f14d735b2929290a018ecf133c901be4874b858dd1c604b9319f064/greenlet-3.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2523e5246274f54fdadbce8494458a2ebdcdbc7b802318466ac5606d3cded1f8", size = 587684, upload-time = "2025-08-07T13:18:25.164Z" }, { url = "https://files.pythonhosted.org/packages/5d/65/deb2a69c3e5996439b0176f6651e0052542bb6c8f8ec2e3fba97c9768805/greenlet-3.2.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1987de92fec508535687fb807a5cea1560f6196285a4cde35c100b8cd632cc52", size = 1116647, upload-time = "2025-08-07T13:42:38.655Z" }, @@ -602,7 +600,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/44/69/9b804adb5fd0671f367781560eb5eb586c4d495277c93bde4307b9e28068/greenlet-3.2.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3b67ca49f54cede0186854a008109d6ee71f66bd57bb36abd6d0a0267b540cdd", size = 274079, upload-time = "2025-08-07T13:15:45.033Z" }, { url = "https://files.pythonhosted.org/packages/46/e9/d2a80c99f19a153eff70bc451ab78615583b8dac0754cfb942223d2c1a0d/greenlet-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ddf9164e7a5b08e9d22511526865780a576f19ddd00d62f8a665949327fde8bb", size = 640997, upload-time = "2025-08-07T13:42:56.234Z" }, { url = "https://files.pythonhosted.org/packages/3b/16/035dcfcc48715ccd345f3a93183267167cdd162ad123cd93067d86f27ce4/greenlet-3.2.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f28588772bb5fb869a8eb331374ec06f24a83a9c25bfa1f38b6993afe9c1e968", size = 655185, upload-time = "2025-08-07T13:45:27.624Z" }, - { url = "https://files.pythonhosted.org/packages/31/da/0386695eef69ffae1ad726881571dfe28b41970173947e7c558d9998de0f/greenlet-3.2.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5c9320971821a7cb77cfab8d956fa8e39cd07ca44b6070db358ceb7f8797c8c9", size = 649926, upload-time = "2025-08-07T13:53:15.251Z" }, { url = "https://files.pythonhosted.org/packages/68/88/69bf19fd4dc19981928ceacbc5fd4bb6bc2215d53199e367832e98d1d8fe/greenlet-3.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c60a6d84229b271d44b70fb6e5fa23781abb5d742af7b808ae3f6efd7c9c60f6", size = 651839, upload-time = "2025-08-07T13:18:30.281Z" }, { url = "https://files.pythonhosted.org/packages/19/0d/6660d55f7373b2ff8152401a83e02084956da23ae58cddbfb0b330978fe9/greenlet-3.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b3812d8d0c9579967815af437d96623f45c0f2ae5f04e366de62a12d83a8fb0", size = 607586, upload-time = "2025-08-07T13:18:28.544Z" }, { url = "https://files.pythonhosted.org/packages/8e/1a/c953fdedd22d81ee4629afbb38d2f9d71e37d23caace44775a3a969147d4/greenlet-3.2.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:abbf57b5a870d30c4675928c37278493044d7c14378350b3aa5d484fa65575f0", size = 1123281, upload-time = "2025-08-07T13:42:39.858Z" }, @@ -613,7 +610,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/49/e8/58c7f85958bda41dafea50497cbd59738c5c43dbbea5ee83d651234398f4/greenlet-3.2.4-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:1a921e542453fe531144e91e1feedf12e07351b1cf6c9e8a3325ea600a715a31", size = 272814, upload-time = "2025-08-07T13:15:50.011Z" }, { url = "https://files.pythonhosted.org/packages/62/dd/b9f59862e9e257a16e4e610480cfffd29e3fae018a68c2332090b53aac3d/greenlet-3.2.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd3c8e693bff0fff6ba55f140bf390fa92c994083f838fece0f63be121334945", size = 641073, upload-time = "2025-08-07T13:42:57.23Z" }, { url = "https://files.pythonhosted.org/packages/f7/0b/bc13f787394920b23073ca3b6c4a7a21396301ed75a655bcb47196b50e6e/greenlet-3.2.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:710638eb93b1fa52823aa91bf75326f9ecdfd5e0466f00789246a5280f4ba0fc", size = 655191, upload-time = "2025-08-07T13:45:29.752Z" }, - { url = "https://files.pythonhosted.org/packages/f2/d6/6adde57d1345a8d0f14d31e4ab9c23cfe8e2cd39c3baf7674b4b0338d266/greenlet-3.2.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c5111ccdc9c88f423426df3fd1811bfc40ed66264d35aa373420a34377efc98a", size = 649516, upload-time = "2025-08-07T13:53:16.314Z" }, { url = "https://files.pythonhosted.org/packages/7f/3b/3a3328a788d4a473889a2d403199932be55b1b0060f4ddd96ee7cdfcad10/greenlet-3.2.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d76383238584e9711e20ebe14db6c88ddcedc1829a9ad31a584389463b5aa504", size = 652169, upload-time = "2025-08-07T13:18:32.861Z" }, { url = "https://files.pythonhosted.org/packages/ee/43/3cecdc0349359e1a527cbf2e3e28e5f8f06d3343aaf82ca13437a9aa290f/greenlet-3.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23768528f2911bcd7e475210822ffb5254ed10d71f4028387e5a99b4c6699671", size = 610497, upload-time = "2025-08-07T13:18:31.636Z" }, { url = "https://files.pythonhosted.org/packages/b8/19/06b6cf5d604e2c382a6f31cafafd6f33d5dea706f4db7bdab184bad2b21d/greenlet-3.2.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:00fadb3fedccc447f517ee0d3fd8fe49eae949e1cd0f6a611818f4f6fb7dc83b", size = 1121662, upload-time = "2025-08-07T13:42:41.117Z" }, @@ -624,7 +620,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/22/5c/85273fd7cc388285632b0498dbbab97596e04b154933dfe0f3e68156c68c/greenlet-3.2.4-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:49a30d5fda2507ae77be16479bdb62a660fa51b1eb4928b524975b3bde77b3c0", size = 273586, upload-time = "2025-08-07T13:16:08.004Z" }, { url = "https://files.pythonhosted.org/packages/d1/75/10aeeaa3da9332c2e761e4c50d4c3556c21113ee3f0afa2cf5769946f7a3/greenlet-3.2.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:299fd615cd8fc86267b47597123e3f43ad79c9d8a22bebdce535e53550763e2f", size = 686346, upload-time = "2025-08-07T13:42:59.944Z" }, { url = "https://files.pythonhosted.org/packages/c0/aa/687d6b12ffb505a4447567d1f3abea23bd20e73a5bed63871178e0831b7a/greenlet-3.2.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c17b6b34111ea72fc5a4e4beec9711d2226285f0386ea83477cbb97c30a3f3a5", size = 699218, upload-time = "2025-08-07T13:45:30.969Z" }, - { url = "https://files.pythonhosted.org/packages/dc/8b/29aae55436521f1d6f8ff4e12fb676f3400de7fcf27fccd1d4d17fd8fecd/greenlet-3.2.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b4a1870c51720687af7fa3e7cda6d08d801dae660f75a76f3845b642b4da6ee1", size = 694659, upload-time = "2025-08-07T13:53:17.759Z" }, { url = "https://files.pythonhosted.org/packages/92/2e/ea25914b1ebfde93b6fc4ff46d6864564fba59024e928bdc7de475affc25/greenlet-3.2.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:061dc4cf2c34852b052a8620d40f36324554bc192be474b9e9770e8c042fd735", size = 695355, upload-time = "2025-08-07T13:18:34.517Z" }, { url = "https://files.pythonhosted.org/packages/72/60/fc56c62046ec17f6b0d3060564562c64c862948c9d4bc8aa807cf5bd74f4/greenlet-3.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:44358b9bf66c8576a9f57a590d5f5d6e72fa4228b763d0e43fee6d3b06d3a337", size = 657512, upload-time = "2025-08-07T13:18:33.969Z" }, { url = "https://files.pythonhosted.org/packages/23/6e/74407aed965a4ab6ddd93a7ded3180b730d281c77b765788419484cdfeef/greenlet-3.2.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2917bdf657f5859fbf3386b12d68ede4cf1f04c90c3a6bc1f013dd68a22e2269", size = 1612508, upload-time = "2025-11-04T12:42:23.427Z" }, @@ -942,7 +937,7 @@ requires-dist = [ provides-extras = ["community", "anthropic", "openai", "azure-ai", "google-vertexai", "google-genai", "fireworks", "ollama", "together", "mistralai", "huggingface", "groq", "aws", "deepseek", "xai", "perplexity"] [package.metadata.requires-dev] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [ { name = "blockbuster", specifier = ">=1.5.26,<1.6.0" }, { name = "langchain-openai", editable = "../openai" }, @@ -996,7 +991,7 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.2.11" +version = "1.2.13" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, @@ -1027,7 +1022,7 @@ dev = [ { name = "jupyter", specifier = ">=1.0.0,<2.0.0" }, { name = "setuptools", specifier = ">=67.6.1,<83.0.0" }, ] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [ { name = "blockbuster", specifier = ">=1.5.18,<1.6.0" }, { name = "freezegun", specifier = ">=1.2.2,<2.0.0" }, @@ -1170,7 +1165,7 @@ requires-dist = [ ] [package.metadata.requires-dev] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [{ name = "langchain-core", editable = "../../core" }] test-integration = [] typing = [ diff --git a/libs/partners/mistralai/langchain_mistralai/data/_profiles.py b/libs/partners/mistralai/langchain_mistralai/data/_profiles.py index 176f90b6c80..23b1101fbc7 100644 --- a/libs/partners/mistralai/langchain_mistralai/data/_profiles.py +++ b/libs/partners/mistralai/langchain_mistralai/data/_profiles.py @@ -30,132 +30,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "mistral-large-2512": { - "max_input_tokens": 262144, - "max_output_tokens": 262144, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "open-mixtral-8x22b": { - "max_input_tokens": 64000, - "max_output_tokens": 64000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "ministral-8b-latest": { - "max_input_tokens": 128000, - "max_output_tokens": 128000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "pixtral-large-latest": { - "max_input_tokens": 128000, - "max_output_tokens": 128000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "mistral-small-2506": { - "max_input_tokens": 128000, - "max_output_tokens": 16384, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "devstral-2512": { - "max_input_tokens": 262144, - "max_output_tokens": 262144, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "ministral-3b-latest": { - "max_input_tokens": 128000, - "max_output_tokens": 128000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "pixtral-12b": { - "max_input_tokens": 128000, - "max_output_tokens": 128000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "mistral-medium-2505": { - "max_input_tokens": 131072, - "max_output_tokens": 131072, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, "labs-devstral-small-2512": { "max_input_tokens": 256000, "max_output_tokens": 256000, @@ -184,37 +58,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "devstral-small-2505": { - "max_input_tokens": 128000, - "max_output_tokens": 128000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "mistral-medium-2508": { - "max_input_tokens": 262144, - "max_output_tokens": 262144, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "mistral-embed": { + "open-mistral-7b": { "max_input_tokens": 8000, - "max_output_tokens": 3072, + "max_output_tokens": 8000, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -224,9 +70,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "audio_outputs": False, "video_outputs": False, "reasoning_output": False, - "tool_calling": False, + "tool_calling": True, }, - "mistral-small-latest": { + "mistral-small-2506": { "max_input_tokens": 128000, "max_output_tokens": 16384, "text_inputs": True, @@ -240,25 +86,11 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "magistral-small": { - "max_input_tokens": 128000, - "max_output_tokens": 128000, + "mistral-medium-2505": { + "max_input_tokens": 131072, + "max_output_tokens": 131072, "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "devstral-small-2507": { - "max_input_tokens": 128000, - "max_output_tokens": 128000, - "text_inputs": True, - "image_inputs": False, + "image_inputs": True, "audio_inputs": False, "video_inputs": False, "text_outputs": True, @@ -282,6 +114,104 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, + "ministral-8b-latest": { + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "magistral-small": { + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "mistral-large-2512": { + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "ministral-3b-latest": { + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "mistral-embed": { + "max_input_tokens": 8000, + "max_output_tokens": 3072, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": False, + }, + "devstral-small-2505": { + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "pixtral-12b": { + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, "open-mixtral-8x7b": { "max_input_tokens": 32000, "max_output_tokens": 32000, @@ -296,6 +226,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, + "pixtral-large-latest": { + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, "mistral-nemo": { "max_input_tokens": 128000, "max_output_tokens": 128000, @@ -310,9 +254,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "open-mistral-7b": { - "max_input_tokens": 8000, - "max_output_tokens": 8000, + "devstral-2512": { + "max_input_tokens": 262144, + "max_output_tokens": 262144, "text_inputs": True, "image_inputs": False, "audio_inputs": False, @@ -338,9 +282,9 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "mistral-medium-latest": { - "max_input_tokens": 128000, - "max_output_tokens": 16384, + "mistral-medium-2508": { + "max_input_tokens": 262144, + "max_output_tokens": 262144, "text_inputs": True, "image_inputs": True, "audio_inputs": False, @@ -366,6 +310,62 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, + "mistral-small-latest": { + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "open-mixtral-8x22b": { + "max_input_tokens": 64000, + "max_output_tokens": 64000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "mistral-medium-latest": { + "max_input_tokens": 128000, + "max_output_tokens": 16384, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "devstral-small-2507": { + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, "magistral-medium-latest": { "max_input_tokens": 128000, "max_output_tokens": 16384, diff --git a/libs/partners/mistralai/uv.lock b/libs/partners/mistralai/uv.lock index 58bca3bc125..df13971d0a7 100644 --- a/libs/partners/mistralai/uv.lock +++ b/libs/partners/mistralai/uv.lock @@ -349,7 +349,7 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.2.11" +version = "1.2.13" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, @@ -380,7 +380,7 @@ dev = [ { name = "jupyter", specifier = ">=1.0.0,<2.0.0" }, { name = "setuptools", specifier = ">=67.6.1,<83.0.0" }, ] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [ { name = "blockbuster", specifier = ">=1.5.18,<1.6.0" }, { name = "freezegun", specifier = ">=1.2.2,<2.0.0" }, @@ -499,7 +499,7 @@ requires-dist = [ ] [package.metadata.requires-dev] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [{ name = "langchain-core", editable = "../../core" }] test-integration = [] typing = [ diff --git a/libs/partners/openrouter/langchain_openrouter/data/_profiles.py b/libs/partners/openrouter/langchain_openrouter/data/_profiles.py index fde7aee52ed..2bb4f1506e8 100644 --- a/libs/partners/openrouter/langchain_openrouter/data/_profiles.py +++ b/libs/partners/openrouter/langchain_openrouter/data/_profiles.py @@ -16,6 +16,21 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p from typing import Any _PROFILES: dict[str, dict[str, Any]] = { + "prime-intellect/intellect-3": { + "max_input_tokens": 131072, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + }, "featherless/qwerky-72b": { "max_input_tokens": 32768, "max_output_tokens": 8192, @@ -57,6 +72,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "nvidia/nemotron-nano-12b-v2-vl:free": { "max_input_tokens": 128000, @@ -85,6 +101,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "nvidia/nemotron-nano-9b-v2": { "max_input_tokens": 131072, @@ -113,6 +130,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "arcee-ai/trinity-mini:free": { "max_input_tokens": 131072, @@ -127,6 +145,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "xiaomi/mimo-v2-flash": { "max_input_tokens": 262144, @@ -141,6 +160,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "microsoft/mai-ds-r1:free": { "max_input_tokens": 163840, @@ -337,6 +357,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": False, + "structured_output": True, }, "kwaipilot/kat-coder-pro:free": { "max_input_tokens": 256000, @@ -351,6 +372,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "deepseek/deepseek-v3.1-terminus:exacto": { "max_input_tokens": 131072, @@ -365,6 +387,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "deepseek/deepseek-r1-0528:free": { "max_input_tokens": 163840, @@ -379,6 +402,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": False, + "structured_output": True, }, "deepseek/deepseek-r1-distill-qwen-14b": { "max_input_tokens": 64000, @@ -435,6 +459,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "deepseek/deepseek-chat-v3.1": { "max_input_tokens": 163840, @@ -449,6 +474,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "deepseek/deepseek-chat-v3-0324": { "max_input_tokens": 16384, @@ -463,6 +489,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": False, + "structured_output": True, }, "deepseek/deepseek-r1-distill-llama-70b": { "max_input_tokens": 8192, @@ -477,6 +504,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": False, + "structured_output": True, }, "deepseek/deepseek-v3.1-terminus": { "max_input_tokens": 131072, @@ -491,6 +519,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "deepseek/deepseek-v3.2": { "max_input_tokens": 163840, @@ -505,6 +534,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "deepseek/deepseek-v3-base:free": { "max_input_tokens": 163840, @@ -548,6 +578,21 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, + "openrouter/aurora-alpha": { + "max_input_tokens": 128000, + "max_output_tokens": 50000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, + }, "moonshotai/kimi-dev-72b:free": { "max_input_tokens": 131072, "max_output_tokens": 131072, @@ -589,6 +634,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "moonshotai/kimi-k2-0905:exacto": { "max_input_tokens": 262144, @@ -603,6 +649,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "moonshotai/kimi-k2.5": { "max_input_tokens": 262144, @@ -617,6 +664,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "moonshotai/kimi-k2-thinking": { "max_input_tokens": 262144, @@ -631,6 +679,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "moonshotai/kimi-k2:free": { "max_input_tokens": 32800, @@ -660,6 +709,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "google/gemini-2.5-pro-preview-06-05": { "max_input_tokens": 1048576, @@ -675,6 +725,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "google/gemma-3n-e4b-it:free": { "max_input_tokens": 8192, @@ -704,6 +755,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "google/gemini-2.5-pro-preview-05-06": { "max_input_tokens": 1048576, @@ -719,6 +771,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "google/gemma-3n-e2b-it:free": { "max_input_tokens": 8192, @@ -748,6 +801,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "google/gemini-2.0-flash-001": { "max_input_tokens": 1048576, @@ -763,6 +817,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "google/gemini-3-flash-preview": { "max_input_tokens": 1048576, @@ -778,6 +833,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "google/gemma-3-12b-it:free": { "max_input_tokens": 32768, @@ -807,6 +863,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "google/gemini-2.0-flash-exp:free": { "max_input_tokens": 1048576, @@ -878,6 +935,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "google/gemma-3-12b-it": { "max_input_tokens": 131072, @@ -892,6 +950,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": False, + "structured_output": True, }, "google/gemma-3-4b-it": { "max_input_tokens": 96000, @@ -920,6 +979,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "google/gemini-2.5-pro": { "max_input_tokens": 1048576, @@ -935,6 +995,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "google/gemma-3-27b-it:free": { "max_input_tokens": 131072, @@ -978,6 +1039,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "z-ai/glm-4.5": { "max_input_tokens": 128000, @@ -992,6 +1054,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "z-ai/glm-4.6:exacto": { "max_input_tokens": 200000, @@ -1006,6 +1069,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "z-ai/glm-4.7-flash": { "max_input_tokens": 200000, @@ -1049,6 +1113,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "z-ai/glm-4.7": { "max_input_tokens": 204800, @@ -1063,6 +1128,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "z-ai/glm-4.5v": { "max_input_tokens": 64000, @@ -1077,6 +1143,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-next-80b-a3b-thinking": { "max_input_tokens": 262144, @@ -1091,6 +1158,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "qwen/qwen-2.5-vl-7b-instruct:free": { "max_input_tokens": 32768, @@ -1119,6 +1187,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-coder:free": { "max_input_tokens": 262144, @@ -1162,6 +1231,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-235b-a22b-07-25:free": { "max_input_tokens": 262144, @@ -1190,6 +1260,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-coder": { "max_input_tokens": 262144, @@ -1204,6 +1275,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "qwen/qwq-32b:free": { "max_input_tokens": 32768, @@ -1218,6 +1290,22 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, + }, + "qwen/qwen3.5-397b-a17b": { + "max_input_tokens": 262144, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-coder:exacto": { "max_input_tokens": 131072, @@ -1232,6 +1320,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "qwen/qwen-2.5-coder-32b-instruct": { "max_input_tokens": 32768, @@ -1246,6 +1335,22 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": False, + "structured_output": True, + }, + "qwen/qwen3.5-plus-02-15": { + "max_input_tokens": 1000000, + "max_output_tokens": 65536, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": True, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-30b-a3b-instruct-2507": { "max_input_tokens": 262000, @@ -1260,6 +1365,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "qwen/qwen2.5-vl-72b-instruct": { "max_input_tokens": 32768, @@ -1274,6 +1380,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": False, + "structured_output": True, }, "qwen/qwen3-coder-30b-a3b-instruct": { "max_input_tokens": 160000, @@ -1288,6 +1395,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-235b-a22b-07-25": { "max_input_tokens": 262144, @@ -1302,6 +1410,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-235b-a22b:free": { "max_input_tokens": 131072, @@ -1316,6 +1425,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-next-80b-a3b-instruct:free": { "max_input_tokens": 262144, @@ -1330,6 +1440,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-4b:free": { "max_input_tokens": 40960, @@ -1344,6 +1455,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-8b:free": { "max_input_tokens": 40960, @@ -1358,6 +1470,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-30b-a3b-thinking-2507": { "max_input_tokens": 262000, @@ -1372,6 +1485,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "qwen/qwen2.5-vl-32b-instruct:free": { "max_input_tokens": 8192, @@ -1386,6 +1500,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-235b-a22b-thinking-2507": { "max_input_tokens": 262144, @@ -1400,6 +1515,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "qwen/qwen3-next-80b-a3b-instruct": { "max_input_tokens": 262144, @@ -1414,6 +1530,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "qwen/qwen2.5-vl-72b-instruct:free": { "max_input_tokens": 32768, @@ -1456,6 +1573,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "x-ai/grok-code-fast-1": { "max_input_tokens": 256000, @@ -1470,6 +1588,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "x-ai/grok-4-fast": { "max_input_tokens": 2000000, @@ -1484,6 +1603,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "x-ai/grok-4": { "max_input_tokens": 256000, @@ -1498,6 +1618,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "x-ai/grok-4.1-fast": { "max_input_tokens": 2000000, @@ -1512,6 +1633,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "x-ai/grok-3-mini-beta": { "max_input_tokens": 131072, @@ -1540,6 +1662,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "x-ai/grok-3-beta": { "max_input_tokens": 131072, @@ -1568,6 +1691,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "meta-llama/llama-4-scout:free": { "max_input_tokens": 64000, @@ -1582,6 +1706,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "meta-llama/llama-3.2-11b-vision-instruct": { "max_input_tokens": 131072, @@ -1624,6 +1749,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": False, + "structured_output": True, }, "tngtech/tng-r1t-chimera:free": { "max_input_tokens": 163840, @@ -1638,6 +1764,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "tngtech/deepseek-r1t2-chimera:free": { "max_input_tokens": 163840, @@ -1652,6 +1779,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": False, + "structured_output": True, }, "mistralai/devstral-medium-2507": { "max_input_tokens": 131072, @@ -1666,6 +1794,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "mistralai/devstral-small-2505:free": { "max_input_tokens": 32768, @@ -1694,6 +1823,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "mistralai/codestral-2508": { "max_input_tokens": 256000, @@ -1708,6 +1838,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "mistralai/devstral-2512:free": { "max_input_tokens": 262144, @@ -1736,6 +1867,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "mistralai/devstral-small-2505": { "max_input_tokens": 128000, @@ -1778,6 +1910,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "mistralai/mistral-small-3.2-24b-instruct": { "max_input_tokens": 96000, @@ -1792,6 +1925,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "mistralai/mistral-small-3.2-24b-instruct:free": { "max_input_tokens": 96000, @@ -1806,6 +1940,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "mistralai/devstral-small-2507": { "max_input_tokens": 131072, @@ -1820,6 +1955,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "mistralai/mistral-nemo:free": { "max_input_tokens": 131072, @@ -1834,6 +1970,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "mistralai/mistral-medium-3.1": { "max_input_tokens": 262144, @@ -1848,6 +1985,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "openai/gpt-5-codex": { "max_input_tokens": 400000, @@ -1862,6 +2000,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "openai/gpt-5-pro": { "max_input_tokens": 400000, @@ -1876,6 +2015,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "openai/gpt-4o-mini": { "max_input_tokens": 128000, @@ -1890,6 +2030,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "openai/gpt-5.1-codex-max": { "max_input_tokens": 400000, @@ -1934,6 +2075,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "openai/gpt-5.1": { "max_input_tokens": 400000, @@ -1978,6 +2120,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": False, + "structured_output": True, }, "openai/gpt-5.1-chat": { "max_input_tokens": 128000, @@ -2008,6 +2151,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "openai/gpt-oss-120b": { "max_input_tokens": 131072, @@ -2022,6 +2166,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "openai/gpt-5.1-codex-mini": { "max_input_tokens": 400000, @@ -2051,6 +2196,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "openai/gpt-oss-20b:free": { "max_input_tokens": 131072, @@ -2079,6 +2225,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "openai/gpt-5": { "max_input_tokens": 400000, @@ -2093,6 +2240,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "openai/o4-mini": { "max_input_tokens": 200000, @@ -2107,6 +2255,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "openai/gpt-4.1-mini": { "max_input_tokens": 1047576, @@ -2121,6 +2270,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": False, "tool_calling": True, + "structured_output": True, }, "openai/gpt-oss-safeguard-20b": { "max_input_tokens": 131072, @@ -2179,6 +2329,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "openai/gpt-oss-20b": { "max_input_tokens": 131072, @@ -2193,6 +2344,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "openai/gpt-oss-120b:free": { "max_input_tokens": 131072, @@ -2221,6 +2373,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "minimax/minimax-m1": { "max_input_tokens": 1000000, @@ -2263,6 +2416,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "minimax/minimax-m2": { "max_input_tokens": 196600, @@ -2277,6 +2431,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "minimax/minimax-m2.5": { "max_input_tokens": 204800, @@ -2291,6 +2446,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "bytedance-seed/seedream-4.5": { "max_input_tokens": 4096, @@ -2335,6 +2491,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "anthropic/claude-haiku-4.5": { "max_input_tokens": 200000, @@ -2350,6 +2507,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "anthropic/claude-3.5-haiku": { "max_input_tokens": 200000, @@ -2380,6 +2538,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "anthropic/claude-opus-4": { "max_input_tokens": 200000, @@ -2425,6 +2584,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "anthropic/claude-opus-4.6": { "max_input_tokens": 1000000, @@ -2440,6 +2600,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "black-forest-labs/flux.2-pro": { "max_input_tokens": 46864, @@ -2524,6 +2685,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "video_outputs": False, "reasoning_output": True, "tool_calling": True, + "structured_output": True, }, "nousresearch/deephermes-3-llama-3-8b-preview": { "max_input_tokens": 131072, diff --git a/libs/partners/openrouter/uv.lock b/libs/partners/openrouter/uv.lock index 51bab899f1e..ce01861a456 100644 --- a/libs/partners/openrouter/uv.lock +++ b/libs/partners/openrouter/uv.lock @@ -318,7 +318,7 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.2.12" +version = "1.2.13" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, diff --git a/libs/partners/perplexity/langchain_perplexity/data/_profiles.py b/libs/partners/perplexity/langchain_perplexity/data/_profiles.py index 9caac20bedb..277701ea2b5 100644 --- a/libs/partners/perplexity/langchain_perplexity/data/_profiles.py +++ b/libs/partners/perplexity/langchain_perplexity/data/_profiles.py @@ -16,6 +16,20 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p from typing import Any _PROFILES: dict[str, dict[str, Any]] = { + "sonar-reasoning-pro": { + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + }, "sonar": { "max_input_tokens": 128000, "max_output_tokens": 4096, @@ -30,6 +44,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": False, }, + "sonar-deep-research": { + "max_input_tokens": 128000, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": False, + }, "sonar-pro": { "max_input_tokens": 200000, "max_output_tokens": 8192, @@ -44,30 +72,4 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": False, }, - "sonar-reasoning-pro": { - "max_input_tokens": 128000, - "max_output_tokens": 4096, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": False, - }, - "sonar-deep-research": { - "max_input_tokens": 128000, - "max_output_tokens": 8192, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": False, - }, } diff --git a/libs/partners/perplexity/uv.lock b/libs/partners/perplexity/uv.lock index 647a1ab33ad..2f673bcd9af 100644 --- a/libs/partners/perplexity/uv.lock +++ b/libs/partners/perplexity/uv.lock @@ -422,7 +422,7 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.2.11" +version = "1.2.13" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, @@ -453,7 +453,7 @@ dev = [ { name = "jupyter", specifier = ">=1.0.0,<2.0.0" }, { name = "setuptools", specifier = ">=67.6.1,<83.0.0" }, ] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [ { name = "blockbuster", specifier = ">=1.5.18,<1.6.0" }, { name = "freezegun", specifier = ">=1.2.2,<2.0.0" }, @@ -545,7 +545,7 @@ test = [ ] test-integration = [ { name = "httpx", specifier = ">=0.27.0,<1.0.0" }, - { name = "pillow", specifier = ">=10.3.0,<13.0.0" }, + { name = "pillow", specifier = ">=12.1.1,<13.0.0" }, ] typing = [ { name = "langchain-core", editable = "../../core" }, @@ -589,7 +589,7 @@ requires-dist = [ ] [package.metadata.requires-dev] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [{ name = "langchain-core", editable = "../../core" }] test-integration = [] typing = [ diff --git a/libs/partners/xai/langchain_xai/data/_profiles.py b/libs/partners/xai/langchain_xai/data/_profiles.py index 43e4d4d98b9..1f1bc07485c 100644 --- a/libs/partners/xai/langchain_xai/data/_profiles.py +++ b/libs/partners/xai/langchain_xai/data/_profiles.py @@ -16,21 +16,7 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p from typing import Any _PROFILES: dict[str, dict[str, Any]] = { - "grok-4-fast-non-reasoning": { - "max_input_tokens": 2000000, - "max_output_tokens": 30000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "grok-3-fast": { + "grok-2-1212": { "max_input_tokens": 131072, "max_output_tokens": 8192, "text_inputs": True, @@ -44,48 +30,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "grok-4": { - "max_input_tokens": 256000, - "max_output_tokens": 64000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "grok-2-vision": { - "max_input_tokens": 8192, - "max_output_tokens": 4096, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "grok-code-fast-1": { - "max_input_tokens": 256000, - "max_output_tokens": 10000, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, "grok-2": { "max_input_tokens": 131072, "max_output_tokens": 8192, @@ -100,104 +44,6 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "grok-3-mini-fast-latest": { - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "grok-2-vision-1212": { - "max_input_tokens": 8192, - "max_output_tokens": 4096, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "grok-3": { - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "grok-4-fast": { - "max_input_tokens": 2000000, - "max_output_tokens": 30000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "grok-2-latest": { - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "grok-4-1-fast": { - "max_input_tokens": 2000000, - "max_output_tokens": 30000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "grok-2-1212": { - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, "grok-3-fast-latest": { "max_input_tokens": 131072, "max_output_tokens": 8192, @@ -212,6 +58,132 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, + "grok-2-vision": { + "max_input_tokens": 8192, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "grok-3": { + "max_input_tokens": 131072, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "grok-code-fast-1": { + "max_input_tokens": 256000, + "max_output_tokens": 10000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "grok-2-vision-1212": { + "max_input_tokens": 8192, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "grok-4-1-fast-non-reasoning": { + "max_input_tokens": 2000000, + "max_output_tokens": 30000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "grok-beta": { + "max_input_tokens": 131072, + "max_output_tokens": 4096, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "grok-3-mini-fast": { + "max_input_tokens": 131072, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "grok-4-fast": { + "max_input_tokens": 2000000, + "max_output_tokens": 30000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "grok-4": { + "max_input_tokens": 256000, + "max_output_tokens": 64000, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, "grok-3-latest": { "max_input_tokens": 131072, "max_output_tokens": 8192, @@ -226,6 +198,20 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, + "grok-4-1-fast": { + "max_input_tokens": 2000000, + "max_output_tokens": 30000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, "grok-2-vision-latest": { "max_input_tokens": 8192, "max_output_tokens": 4096, @@ -240,6 +226,76 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, + "grok-3-mini-latest": { + "max_input_tokens": 131072, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "grok-3-mini": { + "max_input_tokens": 131072, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "grok-3-mini-fast-latest": { + "max_input_tokens": 131072, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": True, + "tool_calling": True, + }, + "grok-2-latest": { + "max_input_tokens": 131072, + "max_output_tokens": 8192, + "text_inputs": True, + "image_inputs": False, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, + "grok-4-fast-non-reasoning": { + "max_input_tokens": 2000000, + "max_output_tokens": 30000, + "text_inputs": True, + "image_inputs": True, + "audio_inputs": False, + "video_inputs": False, + "text_outputs": True, + "image_outputs": False, + "audio_outputs": False, + "video_outputs": False, + "reasoning_output": False, + "tool_calling": True, + }, "grok-vision-beta": { "max_input_tokens": 8192, "max_output_tokens": 4096, @@ -254,7 +310,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "reasoning_output": False, "tool_calling": True, }, - "grok-3-mini": { + "grok-3-fast": { "max_input_tokens": 131072, "max_output_tokens": 8192, "text_inputs": True, @@ -265,63 +321,7 @@ _PROFILES: dict[str, dict[str, Any]] = { "image_outputs": False, "audio_outputs": False, "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "grok-beta": { - "max_input_tokens": 131072, - "max_output_tokens": 4096, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, "reasoning_output": False, "tool_calling": True, }, - "grok-3-mini-latest": { - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, - "grok-4-1-fast-non-reasoning": { - "max_input_tokens": 2000000, - "max_output_tokens": 30000, - "text_inputs": True, - "image_inputs": True, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": False, - "tool_calling": True, - }, - "grok-3-mini-fast": { - "max_input_tokens": 131072, - "max_output_tokens": 8192, - "text_inputs": True, - "image_inputs": False, - "audio_inputs": False, - "video_inputs": False, - "text_outputs": True, - "image_outputs": False, - "audio_outputs": False, - "video_outputs": False, - "reasoning_output": True, - "tool_calling": True, - }, } diff --git a/libs/partners/xai/uv.lock b/libs/partners/xai/uv.lock index e69cb709774..a823c6b7613 100644 --- a/libs/partners/xai/uv.lock +++ b/libs/partners/xai/uv.lock @@ -655,7 +655,7 @@ wheels = [ [[package]] name = "langchain-core" -version = "1.2.11" +version = "1.2.13" source = { editable = "../../core" } dependencies = [ { name = "jsonpatch" }, @@ -686,7 +686,7 @@ dev = [ { name = "jupyter", specifier = ">=1.0.0,<2.0.0" }, { name = "setuptools", specifier = ">=67.6.1,<83.0.0" }, ] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [ { name = "blockbuster", specifier = ">=1.5.18,<1.6.0" }, { name = "freezegun", specifier = ">=1.2.2,<2.0.0" }, @@ -715,7 +715,7 @@ typing = [ [[package]] name = "langchain-openai" -version = "1.1.9" +version = "1.1.10" source = { editable = "../openai" } dependencies = [ { name = "langchain-core" }, @@ -726,7 +726,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "langchain-core", editable = "../../core" }, - { name = "openai", specifier = ">=1.109.1,<3.0.0" }, + { name = "openai", specifier = ">=2.20.0,<3.0.0" }, { name = "tiktoken", specifier = ">=0.7.0,<1.0.0" }, ] @@ -755,7 +755,7 @@ test-integration = [ { name = "httpx", specifier = ">=0.27.0,<1.0.0" }, { name = "numpy", marker = "python_full_version < '3.13'", specifier = ">=1.26.4" }, { name = "numpy", marker = "python_full_version >= '3.13'", specifier = ">=2.1.0" }, - { name = "pillow", specifier = ">=10.3.0,<12.0.0" }, + { name = "pillow", specifier = ">=12.1.1,<13.0.0" }, ] typing = [ { name = "langchain-core", editable = "../../core" }, @@ -799,7 +799,7 @@ requires-dist = [ ] [package.metadata.requires-dev] -lint = [{ name = "ruff", specifier = ">=0.14.11,<0.16.0" }] +lint = [{ name = "ruff", specifier = ">=0.15.0,<0.16.0" }] test = [{ name = "langchain-core", editable = "../../core" }] test-integration = [] typing = [ @@ -1228,7 +1228,7 @@ wheels = [ [[package]] name = "openai" -version = "2.1.0" +version = "2.21.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -1240,9 +1240,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1a/dd/4d4d46a06943e37c95b6e388237e1e38d1e9aab264ff070f86345d60b7a4/openai-2.1.0.tar.gz", hash = "sha256:47f3463a5047340a989b4c0cd5378054acfca966ff61a96553b22f098e3270a2", size = 572998, upload-time = "2025-10-02T20:43:15.385Z" } +sdist = { url = "https://files.pythonhosted.org/packages/92/e5/3d197a0947a166649f566706d7a4c8f7fe38f1fa7b24c9bcffe4c7591d44/openai-2.21.0.tar.gz", hash = "sha256:81b48ce4b8bbb2cc3af02047ceb19561f7b1dc0d4e52d1de7f02abfd15aa59b7", size = 644374, upload-time = "2026-02-14T00:12:01.577Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/68/83/88f64fc8f037885efa8a629d1215f5bc1f037453bab4d4f823b5533319eb/openai-2.1.0-py3-none-any.whl", hash = "sha256:33172e8c06a4576144ba4137a493807a9ca427421dcabc54ad3aa656daf757d3", size = 964939, upload-time = "2025-10-02T20:43:13.568Z" }, + { url = "https://files.pythonhosted.org/packages/cc/56/0a89092a453bb2c676d66abee44f863e742b2110d4dbb1dbcca3f7e5fc33/openai-2.21.0-py3-none-any.whl", hash = "sha256:0bc1c775e5b1536c294eded39ee08f8407656537ccc71b1004104fe1602e267c", size = 1103065, upload-time = "2026-02-14T00:11:59.603Z" }, ] [[package]]