fix(model-profiles): sort generated profiles by model ID for stable diffs (#35344)

- Sort model profiles alphabetically by model ID (the top-level
`_PROFILES` dictionary keys, e.g. `claude-3-5-haiku-20241022`,
`gpt-4o-mini`) before writing `_profiles.py`, so that regenerating
profiles only shows actual data changes in diffs — not random reordering
from the models.dev API response order
- Regenerate all 10 partner profile files with the new sorted ordering
This commit is contained in:
Mason Daugherty
2026-02-19 23:11:22 -05:00
committed by GitHub
parent 8aa7a3f07a
commit 70192690b1
12 changed files with 3243 additions and 3156 deletions

View File

@@ -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-5-20251101": {
"claude-3-5-haiku-20241022": {
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"max_output_tokens": 8192,
"text_inputs": True,
"image_inputs": True,
"audio_inputs": False,
@@ -28,7 +28,7 @@ _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,
@@ -54,196 +54,6 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_tool_message": True,
"structured_output": False,
},
"claude-opus-4-1": {
"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": True,
},
"claude-3-5-sonnet-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-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-opus-4-6": {
"max_input_tokens": 200000,
"max_output_tokens": 128000,
"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-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,
"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-5-sonnet-20240620": {
"max_input_tokens": 200000,
"max_output_tokens": 8192,
@@ -263,7 +73,26 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_tool_message": True,
"structured_output": False,
},
"claude-3-7-sonnet-latest": {
"claude-3-5-sonnet-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-7-sonnet-20250219": {
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"text_inputs": True,
@@ -282,7 +111,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_tool_message": True,
"structured_output": False,
},
"claude-3-7-sonnet-20250219": {
"claude-3-7-sonnet-latest": {
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"text_inputs": True,
@@ -320,6 +149,63 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_tool_message": True,
"structured_output": False,
},
"claude-3-opus-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-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": {
"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-20251001": {
"max_input_tokens": 200000,
"max_output_tokens": 64000,
@@ -339,9 +225,66 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_tool_message": True,
"structured_output": False,
},
"claude-haiku-4-5": {
"claude-opus-4-0": {
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"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-opus-4-1": {
"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": True,
},
"claude-opus-4-1-20250805": {
"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-opus-4-20250514": {
"max_input_tokens": 200000,
"max_output_tokens": 32000,
"text_inputs": True,
"image_inputs": True,
"audio_inputs": False,
@@ -377,9 +320,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_tool_message": True,
"structured_output": False,
},
"claude-3-opus-20240229": {
"claude-opus-4-5-20251101": {
"max_input_tokens": 200000,
"max_output_tokens": 4096,
"max_output_tokens": 64000,
"text_inputs": True,
"image_inputs": True,
"audio_inputs": False,
@@ -389,7 +332,64 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_outputs": False,
"audio_outputs": False,
"video_outputs": False,
"reasoning_output": 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-6": {
"max_input_tokens": 200000,
"max_output_tokens": 128000,
"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-sonnet-4-20250514": {
"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,
@@ -415,7 +415,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_tool_message": True,
"structured_output": True,
},
"claude-sonnet-4-20250514": {
"claude-sonnet-4-5-20250929": {
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"text_inputs": True,
@@ -434,9 +434,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
"image_tool_message": True,
"structured_output": False,
},
"claude-opus-4-1-20250805": {
"claude-sonnet-4-6": {
"max_input_tokens": 200000,
"max_output_tokens": 32000,
"max_output_tokens": 64000,
"text_inputs": True,
"image_inputs": True,
"audio_inputs": False,