mirror of
https://github.com/hwchase17/langchain.git
synced 2026-06-09 10:17:00 +00:00
feat(model-profiles): new fields + Makefile target (#35788)
Extract additional fields from models.dev into `_model_data_to_profile`: `name`, `status`, `release_date`, `last_updated`, `open_weights`, `attachment`, `temperature` Move the model profile refresh logic from an inline bash script in the GitHub Actions workflow into a `make refresh-profiles` target in `libs/model-profiles/Makefile`. This makes it runnable locally with a single command and keeps the provider map in one place instead of duplicated between CI and developer docs.
This commit is contained in:
@@ -17,6 +17,10 @@ from typing import Any
|
||||
|
||||
_PROFILES: dict[str, dict[str, Any]] = {
|
||||
"grok-2": {
|
||||
"name": "Grok 2",
|
||||
"release_date": "2024-08-20",
|
||||
"last_updated": "2024-08-20",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -29,8 +33,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-2-1212": {
|
||||
"name": "Grok 2 (1212)",
|
||||
"release_date": "2024-12-12",
|
||||
"last_updated": "2024-12-12",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -43,8 +53,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-2-latest": {
|
||||
"name": "Grok 2 Latest",
|
||||
"release_date": "2024-08-20",
|
||||
"last_updated": "2024-12-12",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -57,8 +73,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-2-vision": {
|
||||
"name": "Grok 2 Vision",
|
||||
"release_date": "2024-08-20",
|
||||
"last_updated": "2024-08-20",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
@@ -71,8 +93,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-2-vision-1212": {
|
||||
"name": "Grok 2 Vision (1212)",
|
||||
"release_date": "2024-08-20",
|
||||
"last_updated": "2024-12-12",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
@@ -85,8 +113,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-2-vision-latest": {
|
||||
"name": "Grok 2 Vision Latest",
|
||||
"release_date": "2024-08-20",
|
||||
"last_updated": "2024-12-12",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
@@ -99,8 +133,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-3": {
|
||||
"name": "Grok 3",
|
||||
"release_date": "2025-02-17",
|
||||
"last_updated": "2025-02-17",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -113,8 +153,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-3-fast": {
|
||||
"name": "Grok 3 Fast",
|
||||
"release_date": "2025-02-17",
|
||||
"last_updated": "2025-02-17",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -127,8 +173,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-3-fast-latest": {
|
||||
"name": "Grok 3 Fast Latest",
|
||||
"release_date": "2025-02-17",
|
||||
"last_updated": "2025-02-17",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -141,8 +193,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-3-latest": {
|
||||
"name": "Grok 3 Latest",
|
||||
"release_date": "2025-02-17",
|
||||
"last_updated": "2025-02-17",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -155,8 +213,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-3-mini": {
|
||||
"name": "Grok 3 Mini",
|
||||
"release_date": "2025-02-17",
|
||||
"last_updated": "2025-02-17",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -169,8 +233,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-3-mini-fast": {
|
||||
"name": "Grok 3 Mini Fast",
|
||||
"release_date": "2025-02-17",
|
||||
"last_updated": "2025-02-17",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -183,8 +253,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-3-mini-fast-latest": {
|
||||
"name": "Grok 3 Mini Fast Latest",
|
||||
"release_date": "2025-02-17",
|
||||
"last_updated": "2025-02-17",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -197,8 +273,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-3-mini-latest": {
|
||||
"name": "Grok 3 Mini Latest",
|
||||
"release_date": "2025-02-17",
|
||||
"last_updated": "2025-02-17",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -211,8 +293,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-4": {
|
||||
"name": "Grok 4",
|
||||
"release_date": "2025-07-09",
|
||||
"last_updated": "2025-07-09",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
@@ -225,8 +313,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-4-1-fast": {
|
||||
"name": "Grok 4.1 Fast",
|
||||
"release_date": "2025-11-19",
|
||||
"last_updated": "2025-11-19",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
@@ -239,8 +333,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-4-1-fast-non-reasoning": {
|
||||
"name": "Grok 4.1 Fast (Non-Reasoning)",
|
||||
"release_date": "2025-11-19",
|
||||
"last_updated": "2025-11-19",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
@@ -253,8 +353,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-4-fast": {
|
||||
"name": "Grok 4 Fast",
|
||||
"release_date": "2025-09-19",
|
||||
"last_updated": "2025-09-19",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
@@ -267,8 +373,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-4-fast-non-reasoning": {
|
||||
"name": "Grok 4 Fast (Non-Reasoning)",
|
||||
"release_date": "2025-09-19",
|
||||
"last_updated": "2025-09-19",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
@@ -281,8 +393,15 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-4.20-experimental-beta-0304-non-reasoning": {
|
||||
"name": "Grok 4.20 (Experimental, Non-Reasoning)",
|
||||
"status": "beta",
|
||||
"release_date": "2026-03-04",
|
||||
"last_updated": "2026-03-04",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
@@ -295,8 +414,15 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-4.20-experimental-beta-0304-reasoning": {
|
||||
"name": "Grok 4.20 (Experimental, Reasoning)",
|
||||
"status": "beta",
|
||||
"release_date": "2026-03-04",
|
||||
"last_updated": "2026-03-04",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
@@ -309,8 +435,15 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-4.20-multi-agent-experimental-beta-0304": {
|
||||
"name": "Grok 4.20 Multi-Agent (Experimental)",
|
||||
"status": "beta",
|
||||
"release_date": "2026-03-04",
|
||||
"last_updated": "2026-03-04",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
@@ -323,8 +456,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-beta": {
|
||||
"name": "Grok Beta",
|
||||
"release_date": "2024-11-01",
|
||||
"last_updated": "2024-11-01",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
@@ -337,8 +476,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-code-fast-1": {
|
||||
"name": "Grok Code Fast 1",
|
||||
"release_date": "2025-08-28",
|
||||
"last_updated": "2025-08-28",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 10000,
|
||||
"text_inputs": True,
|
||||
@@ -351,8 +496,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"grok-vision-beta": {
|
||||
"name": "Grok Vision Beta",
|
||||
"release_date": "2024-11-01",
|
||||
"last_updated": "2024-11-01",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
@@ -365,5 +516,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user