Skip to content

Commit 64692a7

Browse files
Copilotdale-wahl
andauthored
Add capabilities field to llms.json and add update_llms.py helper script
Agent-Logs-Url: https://github.com/digitalmethodsinitiative/4cat/sessions/53727394-07e1-4d5d-a51f-b35101415514 Co-authored-by: dale-wahl <32108944+dale-wahl@users.noreply.github.com>
1 parent f2501b9 commit 64692a7

2 files changed

Lines changed: 337 additions & 26 deletions

File tree

common/assets/llms.json

Lines changed: 51 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,126 +3,151 @@
33
"name": "",
44
"model_card": "",
55
"provider": "",
6-
"default": true
6+
"default": true,
7+
"capabilities": []
78
},
89
"custom": {
910
"name": "[custom]",
1011
"model_card": "",
11-
"provider": ""
12+
"provider": "",
13+
"capabilities": []
1214
},
1315
"gpt-5.4": {
1416
"name": "[OpenAI] GPT-5.4",
1517
"model_card": "https://platform.openai.com/docs/models/gpt-5.4",
16-
"provider": "openai"
18+
"provider": "openai",
19+
"capabilities": ["text", "image", "audio", "structured_output"]
1720
},
1821
"gpt-5-mini": {
1922
"name": "[OpenAI] GPT-5 mini",
2023
"model_card": "https://platform.openai.com/docs/models/gpt-5-mini",
21-
"provider": "openai"
24+
"provider": "openai",
25+
"capabilities": ["text", "image", "structured_output"]
2226
},
2327
"gpt-5-nano": {
2428
"name": "[OpenAI] GPT-5 nano",
2529
"model_card": "https://platform.openai.com/docs/models/gpt-5-nano",
26-
"provider": "openai"
30+
"provider": "openai",
31+
"capabilities": ["text", "image", "structured_output"]
2732
},
2833
"gpt-5.4-pro": {
2934
"name": "[OpenAI] GPT-5.4 Pro",
3035
"model_card": "https://platform.openai.com/docs/models/gpt-5.4-pro",
31-
"provider": "openai"
36+
"provider": "openai",
37+
"capabilities": ["text", "image", "audio", "video", "structured_output"]
3238
},
3339
"gpt-4.1-mini": {
3440
"name": "[OpenAI] GPT-4.1 mini",
3541
"model_card": "https://platform.openai.com/docs/models/gpt-4.1-mini",
36-
"provider": "openai"
42+
"provider": "openai",
43+
"capabilities": ["text", "image", "structured_output"]
3744
},
3845
"gpt-4.1-nano": {
3946
"name": "[OpenAI] GPT-4.1 nano",
4047
"model_card": "https://platform.openai.com/docs/models/gpt-4.1-nano",
41-
"provider": "openai"
48+
"provider": "openai",
49+
"capabilities": ["text", "image", "structured_output"]
4250
},
4351
"gpt-4.1": {
4452
"name": "[OpenAI] GPT-4.1",
4553
"model_card": "https://platform.openai.com/docs/models/gpt-4.1",
46-
"provider": "openai"
54+
"provider": "openai",
55+
"capabilities": ["text", "image", "structured_output"]
4756
},
4857
"gpt-4o-mini": {
4958
"name": "[OpenAI] GPT-4o mini",
5059
"model_card": "https://platform.openai.com/docs/models/gpt-4o-mini",
51-
"provider": "openai"
60+
"provider": "openai",
61+
"capabilities": ["text", "image", "structured_output"]
5262
},
5363
"gpt-4o": {
5464
"name": "[OpenAI] GPT-4o",
5565
"model_card": "https://platform.openai.com/docs/models/gpt-4o",
56-
"provider": "openai"
66+
"provider": "openai",
67+
"capabilities": ["text", "image", "audio", "structured_output"]
5768
},
5869
"gemini-3.1-pro-preview": {
5970
"name": "[Google] Gemini 3.1 Pro",
6071
"model_card": "https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-1-pro",
61-
"provider": "google"
72+
"provider": "google",
73+
"capabilities": ["text", "image", "video", "audio", "structured_output"]
6274
},
6375
"gemini-3-flash-preview": {
6476
"name": "[Google] Gemini 3 Flash",
6577
"model_card": "https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-flash",
66-
"provider": "google"
78+
"provider": "google",
79+
"capabilities": ["text", "image", "video", "audio", "structured_output"]
6780
},
6881
"gemini-3.1-flash-lite-preview": {
6982
"name": "[Google] Gemini 3.1 Flash Lite",
7083
"provider": "google",
71-
"model_card": "https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-1-flash-lite"
84+
"model_card": "https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-1-flash-lite",
85+
"capabilities": ["text", "image", "structured_output"]
7286
},
7387
"claude-opus-4-6": {
7488
"name": "[Anthropic] Claude Opus 4.6 (latest)",
7589
"model_card": "https://www.anthropic.com/claude/opus",
76-
"provider": "anthropic"
90+
"provider": "anthropic",
91+
"capabilities": ["text", "image", "structured_output"]
7792
},
7893
"claude-sonnet-4-6": {
7994
"name": "[Anthropic] Claude Sonnet 4.6 (latest)",
8095
"model_card": "https://www.anthropic.com/claude/sonnet",
81-
"provider": "anthropic"
96+
"provider": "anthropic",
97+
"capabilities": ["text", "image", "structured_output"]
8298
},
8399
"claude-4-5-haiku": {
84100
"name": "[Anthropic] Claude 4.5 Haiku (latest)",
85-
"model_card": "https://www.anthropic.com/claude/haiku",
86-
"provider": "anthropic"
101+
"model_card": "https://www.anthropic.com/claude/haiku",
102+
"provider": "anthropic",
103+
"capabilities": ["text", "image", "structured_output"]
87104
},
88105
"magistral-small-2509": {
89106
"name": "[Mistral] Magistral Small 1.2 (25.09)",
90107
"model_card": "https://docs.mistral.ai/models/magistral-small-1-2-25-09",
91-
"provider": "mistral"
108+
"provider": "mistral",
109+
"capabilities": ["text", "reasoning", "structured_output"]
92110
},
93111
"magistral-medium-2509": {
94112
"name": "[Mistral] Magistral Medium 1.2 (25.09)",
95113
"model_card": "https://docs.mistral.ai/models/magistral-medium-1-2-25-09",
96-
"provider": "mistral"
114+
"provider": "mistral",
115+
"capabilities": ["text", "reasoning", "structured_output"]
97116
},
98117
"mistral-small-2506": {
99118
"name": "[Mistral] Mistral Small 3.2 (25.06)",
100119
"model_card": "https://docs.mistral.ai/models/mistral-small-3-2-25-06",
101-
"provider": "mistral"
120+
"provider": "mistral",
121+
"capabilities": ["text", "image", "structured_output"]
102122
},
103123
"mistral-medium-2508": {
104124
"name": "[Mistral] Mistral Medium 3.1 (25.08)",
105125
"model_card": "mistral-medium-2508",
106-
"provider": "mistral"
126+
"provider": "mistral",
127+
"capabilities": ["text", "image", "structured_output"]
107128
},
108129
"mistral-large-2512": {
109130
"name": "[Mistral] Mistral Large 3 (25.12)",
110131
"model_card": "https://docs.mistral.ai/models/mistral-large-3-25-12",
111-
"provider": "mistral"
132+
"provider": "mistral",
133+
"capabilities": ["text", "image", "structured_output"]
112134
},
113135
"open-mistral-nemo-2407": {
114136
"name": "[Mistral] Mistral Nemo 12B",
115137
"model_card": "https://docs.mistral.ai/models/mistral-nemo-12b-24-07",
116-
"provider": "mistral"
138+
"provider": "mistral",
139+
"capabilities": ["text", "structured_output"]
117140
},
118141
"deepseek-chat": {
119142
"name": "[DeepSeek] DeepSeek latest (non-reasoning)",
120143
"model_card": "https://api-docs.deepseek.com/quick_start/pricing",
121-
"provider": "deepseek"
144+
"provider": "deepseek",
145+
"capabilities": ["text", "structured_output"]
122146
},
123147
"deepseek-reasoner": {
124148
"name": "[DeepSeek] DeepSeek latest (reasoning)",
125149
"model_card": "https://api-docs.deepseek.com/quick_start/pricing",
126-
"provider": "deepseek"
150+
"provider": "deepseek",
151+
"capabilities": ["text", "reasoning"]
127152
}
128153
}

0 commit comments

Comments
 (0)