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]] = {
|
||||
"codestral-latest": {
|
||||
"name": "Codestral (latest)",
|
||||
"release_date": "2024-05-29",
|
||||
"last_updated": "2025-01-04",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 4096,
|
||||
"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,
|
||||
},
|
||||
"devstral-2512": {
|
||||
"name": "Devstral 2",
|
||||
"release_date": "2025-12-09",
|
||||
"last_updated": "2025-12-09",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"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,
|
||||
},
|
||||
"devstral-medium-2507": {
|
||||
"name": "Devstral Medium",
|
||||
"release_date": "2025-07-10",
|
||||
"last_updated": "2025-07-10",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"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,
|
||||
},
|
||||
"devstral-medium-latest": {
|
||||
"name": "Devstral 2 (latest)",
|
||||
"release_date": "2025-12-02",
|
||||
"last_updated": "2025-12-02",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"text_inputs": True,
|
||||
@@ -71,8 +93,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"devstral-small-2505": {
|
||||
"name": "Devstral Small 2505",
|
||||
"release_date": "2025-05-07",
|
||||
"last_updated": "2025-05-07",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
@@ -85,8 +113,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"devstral-small-2507": {
|
||||
"name": "Devstral Small",
|
||||
"release_date": "2025-07-10",
|
||||
"last_updated": "2025-07-10",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
@@ -99,8 +133,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"labs-devstral-small-2512": {
|
||||
"name": "Devstral Small 2",
|
||||
"release_date": "2025-12-09",
|
||||
"last_updated": "2025-12-09",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 256000,
|
||||
"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,
|
||||
},
|
||||
"magistral-medium-latest": {
|
||||
"name": "Magistral Medium (latest)",
|
||||
"release_date": "2025-03-17",
|
||||
"last_updated": "2025-03-20",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
@@ -127,8 +173,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"magistral-small": {
|
||||
"name": "Magistral Small",
|
||||
"release_date": "2025-03-17",
|
||||
"last_updated": "2025-03-17",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
@@ -141,8 +193,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"ministral-3b-latest": {
|
||||
"name": "Ministral 3B (latest)",
|
||||
"release_date": "2024-10-01",
|
||||
"last_updated": "2024-10-04",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"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,
|
||||
},
|
||||
"ministral-8b-latest": {
|
||||
"name": "Ministral 8B (latest)",
|
||||
"release_date": "2024-10-01",
|
||||
"last_updated": "2024-10-04",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
@@ -169,8 +233,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"mistral-embed": {
|
||||
"name": "Mistral Embed",
|
||||
"release_date": "2023-12-11",
|
||||
"last_updated": "2023-12-11",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 8000,
|
||||
"max_output_tokens": 3072,
|
||||
"text_inputs": True,
|
||||
@@ -183,8 +253,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
"attachment": False,
|
||||
"temperature": False,
|
||||
},
|
||||
"mistral-large-2411": {
|
||||
"name": "Mistral Large 2.1",
|
||||
"release_date": "2024-11-01",
|
||||
"last_updated": "2024-11-04",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
@@ -197,8 +273,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"mistral-large-2512": {
|
||||
"name": "Mistral Large 3",
|
||||
"release_date": "2024-11-01",
|
||||
"last_updated": "2025-12-02",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"text_inputs": True,
|
||||
@@ -211,8 +293,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"mistral-large-latest": {
|
||||
"name": "Mistral Large (latest)",
|
||||
"release_date": "2024-11-01",
|
||||
"last_updated": "2025-12-02",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"text_inputs": True,
|
||||
@@ -225,8 +313,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"mistral-medium-2505": {
|
||||
"name": "Mistral Medium 3",
|
||||
"release_date": "2025-05-07",
|
||||
"last_updated": "2025-05-07",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
@@ -239,8 +333,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"mistral-medium-2508": {
|
||||
"name": "Mistral Medium 3.1",
|
||||
"release_date": "2025-08-12",
|
||||
"last_updated": "2025-08-12",
|
||||
"open_weights": False,
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"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,
|
||||
},
|
||||
"mistral-medium-latest": {
|
||||
"name": "Mistral Medium (latest)",
|
||||
"release_date": "2025-05-07",
|
||||
"last_updated": "2025-05-10",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
@@ -267,8 +373,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"mistral-nemo": {
|
||||
"name": "Mistral Nemo",
|
||||
"release_date": "2024-07-01",
|
||||
"last_updated": "2024-07-01",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
@@ -281,8 +393,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"mistral-small-2506": {
|
||||
"name": "Mistral Small 3.2",
|
||||
"release_date": "2025-06-20",
|
||||
"last_updated": "2025-06-20",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
@@ -295,8 +413,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"mistral-small-latest": {
|
||||
"name": "Mistral Small (latest)",
|
||||
"release_date": "2024-09-01",
|
||||
"last_updated": "2024-09-04",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
@@ -309,8 +433,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"open-mistral-7b": {
|
||||
"name": "Mistral 7B",
|
||||
"release_date": "2023-09-27",
|
||||
"last_updated": "2023-09-27",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 8000,
|
||||
"max_output_tokens": 8000,
|
||||
"text_inputs": True,
|
||||
@@ -323,8 +453,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"open-mixtral-8x22b": {
|
||||
"name": "Mixtral 8x22B",
|
||||
"release_date": "2024-04-17",
|
||||
"last_updated": "2024-04-17",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 64000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
@@ -337,8 +473,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"open-mixtral-8x7b": {
|
||||
"name": "Mixtral 8x7B",
|
||||
"release_date": "2023-12-11",
|
||||
"last_updated": "2023-12-11",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 32000,
|
||||
"max_output_tokens": 32000,
|
||||
"text_inputs": True,
|
||||
@@ -351,8 +493,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": False,
|
||||
"temperature": True,
|
||||
},
|
||||
"pixtral-12b": {
|
||||
"name": "Pixtral 12B",
|
||||
"release_date": "2024-09-01",
|
||||
"last_updated": "2024-09-01",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
@@ -365,8 +513,14 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"attachment": True,
|
||||
"temperature": True,
|
||||
},
|
||||
"pixtral-large-latest": {
|
||||
"name": "Pixtral Large (latest)",
|
||||
"release_date": "2024-11-01",
|
||||
"last_updated": "2024-11-04",
|
||||
"open_weights": True,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
@@ -379,5 +533,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