llms-py 2.0.14__py3-none-any.whl → 2.0.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. llms/__init__.py +2 -0
  2. llms/__main__.py +9 -0
  3. llms/__pycache__/__init__.cpython-312.pyc +0 -0
  4. llms/__pycache__/__init__.cpython-313.pyc +0 -0
  5. llms/__pycache__/__init__.cpython-314.pyc +0 -0
  6. llms/__pycache__/__main__.cpython-312.pyc +0 -0
  7. llms/__pycache__/__main__.cpython-314.pyc +0 -0
  8. llms/__pycache__/llms.cpython-312.pyc +0 -0
  9. llms/__pycache__/main.cpython-312.pyc +0 -0
  10. llms/__pycache__/main.cpython-313.pyc +0 -0
  11. llms/__pycache__/main.cpython-314.pyc +0 -0
  12. {llms_py-2.0.14.data/data → llms}/index.html +5 -1
  13. llms/llms.json +1102 -0
  14. llms.py → llms/main.py +252 -14
  15. llms/ui/Analytics.mjs +1483 -0
  16. llms/ui/Brand.mjs +34 -0
  17. {llms_py-2.0.14.data/data → llms}/ui/ChatPrompt.mjs +58 -36
  18. {llms_py-2.0.14.data/data → llms}/ui/Main.mjs +205 -5
  19. llms/ui/ModelSelector.mjs +60 -0
  20. llms/ui/ProviderIcon.mjs +29 -0
  21. {llms_py-2.0.14.data/data → llms}/ui/Sidebar.mjs +20 -4
  22. {llms_py-2.0.14.data/data → llms}/ui/ai.mjs +1 -1
  23. {llms_py-2.0.14.data/data → llms}/ui/app.css +211 -64
  24. llms/ui/lib/chart.js +14 -0
  25. llms/ui/lib/charts.mjs +20 -0
  26. llms/ui/lib/color.js +14 -0
  27. llms/ui/lib/vue.mjs +18369 -0
  28. {llms_py-2.0.14.data/data → llms}/ui/tailwind.input.css +1 -1
  29. llms/ui/threadStore.mjs +524 -0
  30. {llms_py-2.0.14.data/data → llms}/ui/utils.mjs +36 -0
  31. {llms_py-2.0.14.dist-info → llms_py-2.0.16.dist-info}/METADATA +8 -35
  32. llms_py-2.0.16.dist-info/RECORD +56 -0
  33. llms_py-2.0.16.dist-info/entry_points.txt +2 -0
  34. llms_py-2.0.14.data/data/llms.json +0 -447
  35. llms_py-2.0.14.data/data/requirements.txt +0 -1
  36. llms_py-2.0.14.data/data/ui/Brand.mjs +0 -23
  37. llms_py-2.0.14.data/data/ui/ModelSelector.mjs +0 -29
  38. llms_py-2.0.14.data/data/ui/threadStore.mjs +0 -273
  39. llms_py-2.0.14.dist-info/RECORD +0 -40
  40. llms_py-2.0.14.dist-info/entry_points.txt +0 -2
  41. {llms_py-2.0.14.data/data → llms}/ui/App.mjs +0 -0
  42. {llms_py-2.0.14.data/data → llms}/ui/Avatar.mjs +0 -0
  43. {llms_py-2.0.14.data/data → llms}/ui/ProviderStatus.mjs +0 -0
  44. {llms_py-2.0.14.data/data → llms}/ui/Recents.mjs +0 -0
  45. {llms_py-2.0.14.data/data → llms}/ui/SettingsDialog.mjs +0 -0
  46. {llms_py-2.0.14.data/data → llms}/ui/SignIn.mjs +0 -0
  47. {llms_py-2.0.14.data/data → llms}/ui/SystemPromptEditor.mjs +0 -0
  48. {llms_py-2.0.14.data/data → llms}/ui/SystemPromptSelector.mjs +0 -0
  49. {llms_py-2.0.14.data/data → llms}/ui/Welcome.mjs +0 -0
  50. {llms_py-2.0.14.data/data → llms}/ui/fav.svg +0 -0
  51. {llms_py-2.0.14.data/data → llms}/ui/lib/highlight.min.mjs +0 -0
  52. {llms_py-2.0.14.data/data → llms}/ui/lib/idb.min.mjs +0 -0
  53. {llms_py-2.0.14.data/data → llms}/ui/lib/marked.min.mjs +0 -0
  54. {llms_py-2.0.14.data/data → llms}/ui/lib/servicestack-client.mjs +0 -0
  55. {llms_py-2.0.14.data/data → llms}/ui/lib/servicestack-vue.mjs +0 -0
  56. {llms_py-2.0.14.data/data → llms}/ui/lib/vue-router.min.mjs +0 -0
  57. {llms_py-2.0.14.data/data → llms}/ui/lib/vue.min.mjs +0 -0
  58. {llms_py-2.0.14.data/data → llms}/ui/markdown.mjs +0 -0
  59. {llms_py-2.0.14.data/data → llms}/ui/typography.css +0 -0
  60. {llms_py-2.0.14.data/data → llms}/ui.json +0 -0
  61. {llms_py-2.0.14.dist-info → llms_py-2.0.16.dist-info}/WHEEL +0 -0
  62. {llms_py-2.0.14.dist-info → llms_py-2.0.16.dist-info}/licenses/LICENSE +0 -0
  63. {llms_py-2.0.14.dist-info → llms_py-2.0.16.dist-info}/top_level.txt +0 -0
llms/llms.json ADDED
@@ -0,0 +1,1102 @@
1
+ {
2
+ "defaults": {
3
+ "headers": {
4
+ "Content-Type": "application/json",
5
+ "User-Agent": "llms.py/1.0"
6
+ },
7
+ "text": {
8
+ "model": "kimi-k2",
9
+ "messages": [
10
+ {
11
+ "role": "user",
12
+ "content": [
13
+ {
14
+ "type": "text",
15
+ "text": ""
16
+ }
17
+ ]
18
+ }
19
+ ]
20
+ },
21
+ "image": {
22
+ "model": "qwen2.5vl",
23
+ "messages": [
24
+ {
25
+ "role": "user",
26
+ "content": [
27
+ {
28
+ "type": "image_url",
29
+ "image_url": {
30
+ "url": ""
31
+ }
32
+ },
33
+ {
34
+ "type": "text",
35
+ "text": "Describe the key features of the input image"
36
+ }
37
+ ]
38
+ }
39
+ ]
40
+ },
41
+ "audio": {
42
+ "model": "gpt-4o-audio-preview",
43
+ "messages": [
44
+ {
45
+ "role": "user",
46
+ "content": [
47
+ {
48
+ "type": "input_audio",
49
+ "input_audio": {
50
+ "data": "",
51
+ "format": "mp3"
52
+ }
53
+ },
54
+ {
55
+ "type": "text",
56
+ "text": "Please transcribe and summarize this audio file"
57
+ }
58
+ ]
59
+ }
60
+ ]
61
+ },
62
+ "file": {
63
+ "model": "qwen2.5vl",
64
+ "messages": [
65
+ {
66
+ "role": "user",
67
+ "content": [
68
+ {
69
+ "type": "file",
70
+ "file": {
71
+ "filename": "",
72
+ "file_data": ""
73
+ }
74
+ },
75
+ {
76
+ "type": "text",
77
+ "text": "Please summarize this document"
78
+ }
79
+ ]
80
+ }
81
+ ]
82
+ },
83
+ "check": {
84
+ "messages": [
85
+ {
86
+ "role": "user",
87
+ "content": [
88
+ {
89
+ "type": "text",
90
+ "text": "1+1="
91
+ }
92
+ ]
93
+ }
94
+ ],
95
+ "max_completion_tokens": 16,
96
+ "reasoning": {
97
+ "max_tokens": 16,
98
+ "reasoning_effort": "low"
99
+ },
100
+ "stream": false
101
+ }
102
+ },
103
+ "providers": {
104
+ "openrouter_free": {
105
+ "enabled": true,
106
+ "type": "OpenAiProvider",
107
+ "base_url": "https://openrouter.ai/api",
108
+ "api_key": "$OPENROUTER_API_KEY",
109
+ "models": {
110
+ "qwen2.5vl": "qwen/qwen2.5-vl-32b-instruct:free",
111
+ "llama4:109b": "meta-llama/llama-4-scout:free",
112
+ "llama4:400b": "meta-llama/llama-4-maverick:free",
113
+ "deepseek-v3.1:671b": "deepseek/deepseek-chat-v3.1:free",
114
+ "deepseek-r1:671b": "deepseek/deepseek-r1-0528:free",
115
+ "gemini-2.0-flash": "google/gemini-2.0-flash-exp:free",
116
+ "glm-4.5-air": "z-ai/glm-4.5-air:free",
117
+ "mai-ds-r1": "microsoft/mai-ds-r1:free",
118
+ "llama3.3:70b": "meta-llama/llama-3.3-70b-instruct:free",
119
+ "nemotron-nano:9b": "nvidia/nemotron-nano-9b-v2:free",
120
+ "deepseek-r1-distill-llama:70b": "deepseek/deepseek-r1-distill-llama-70b:free",
121
+ "gpt-oss:20b": "openai/gpt-oss-20b:free",
122
+ "mistral-small3.2:24b": "mistralai/mistral-small-3.2-24b-instruct:free",
123
+ "mistral-nemo:12b": "mistralai/mistral-nemo:free",
124
+ "devstral-small": "mistralai/devstral-small-2505:free",
125
+ "venice-uncensored:24b": "cognitivecomputations/dolphin-mistral-24b-venice-edition:free",
126
+ "llama3.3:8b": "meta-llama/llama-3.3-8b-instruct:free",
127
+ "kimi-dev:72b": "moonshotai/kimi-dev-72b:free",
128
+ "gemma3:27b": "google/gemma-3-27b-it:free",
129
+ "qwen3-coder": "qwen/qwen3-coder:free",
130
+ "qwen3:235b": "qwen/qwen3-235b-a22b:free",
131
+ "qwen3:30b": "qwen/qwen3-30b-a3b:free",
132
+ "qwen3:8b": "qwen/qwen3-8b:free",
133
+ "qwen3:4b": "qwen/qwen3-4b:free",
134
+ "qwen2.5vl:32b": "qwen/qwen2.5-vl-32b-instruct:free",
135
+ "qwen-2.5:72b": "qwen/qwen-2.5-72b-instruct:free",
136
+ "minimax-m2": "minimax/minimax-m2:free"
137
+ },
138
+ "default_pricing": {
139
+ "input": "0",
140
+ "output": "0"
141
+ }
142
+ },
143
+ "groq": {
144
+ "enabled": true,
145
+ "type": "OpenAiProvider",
146
+ "base_url": "https://api.groq.com/openai",
147
+ "api_key": "$GROQ_API_KEY",
148
+ "models": {
149
+ "allam-2-7b": "allam-2-7b",
150
+ "gemma2:9b": "gemma2-9b-it",
151
+ "compound": "groq/compound",
152
+ "compound-mini": "groq/compound-mini",
153
+ "llama3.1:8b": "llama-3.1-8b-instant",
154
+ "llama3.3:70b": "llama-3.3-70b-versatile",
155
+ "llama4:109b": "meta-llama/llama-4-scout-17b-16e-instruct",
156
+ "llama4:400b": "meta-llama/llama-4-maverick-17b-128e-instruct",
157
+ "llama-guard-4:12b": "meta-llama/llama-guard-4-12b",
158
+ "llama-prompt-guard2:22m": "meta-llama/llama-prompt-guard-2-22m",
159
+ "llama-prompt-guard2:86m": "meta-llama/llama-prompt-guard-2-86m",
160
+ "kimi-k2": "moonshotai/kimi-k2-instruct-0905",
161
+ "gpt-oss:120b": "openai/gpt-oss-120b",
162
+ "gpt-oss:20b": "openai/gpt-oss-20b",
163
+ "qwen3:32b": "qwen/qwen3-32b"
164
+ },
165
+ "default_pricing": {
166
+ "input": "0",
167
+ "output": "0"
168
+ }
169
+ },
170
+ "google_free": {
171
+ "enabled": true,
172
+ "type": "GoogleProvider",
173
+ "api_key": "$GOOGLE_FREE_API_KEY",
174
+ "models": {
175
+ "gemini-flash-latest": "gemini-flash-latest",
176
+ "gemini-flash-lite-latest": "gemini-flash-lite-latest",
177
+ "gemini-2.5-pro": "gemini-2.5-pro",
178
+ "gemini-2.5-flash": "gemini-2.5-flash",
179
+ "gemini-2.5-flash-lite": "gemini-2.5-flash-lite"
180
+ },
181
+ "default_pricing": {
182
+ "input": "0",
183
+ "output": "0"
184
+ },
185
+ "safety_settings": [
186
+ {
187
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
188
+ "threshold": "BLOCK_ONLY_HIGH"
189
+ }
190
+ ],
191
+ "thinking_config": {
192
+ "thinkingBudget": 1024,
193
+ "includeThoughts": true
194
+ },
195
+ "check": {
196
+ "messages": [
197
+ {
198
+ "role": "user",
199
+ "content": [
200
+ {
201
+ "type": "text",
202
+ "text": "1+1="
203
+ }
204
+ ]
205
+ }
206
+ ],
207
+ "max_completion_tokens": 512,
208
+ "reasoning": {
209
+ "max_tokens": 128,
210
+ "reasoning_effort": "low"
211
+ },
212
+ "stream": false
213
+ }
214
+ },
215
+ "codestral": {
216
+ "enabled": true,
217
+ "type": "OpenAiProvider",
218
+ "base_url": "https://codestral.mistral.ai",
219
+ "api_key": "$CODESTRAL_API_KEY",
220
+ "models": {
221
+ "codestral:22b": "codestral-latest"
222
+ },
223
+ "default_pricing": {
224
+ "input": "0",
225
+ "output": "0"
226
+ },
227
+ "check": {
228
+ "messages": [
229
+ {
230
+ "role": "user",
231
+ "content": [
232
+ {
233
+ "type": "text",
234
+ "text": "1+1="
235
+ }
236
+ ]
237
+ }
238
+ ],
239
+ "stream": false
240
+ }
241
+ },
242
+ "ollama": {
243
+ "enabled": false,
244
+ "type": "OllamaProvider",
245
+ "base_url": "http://localhost:11434",
246
+ "models": {},
247
+ "all_models": true,
248
+ "default_pricing": {
249
+ "input": "0",
250
+ "output": "0"
251
+ }
252
+ },
253
+ "openrouter": {
254
+ "enabled": true,
255
+ "type": "OpenAiProvider",
256
+ "base_url": "https://openrouter.ai/api",
257
+ "api_key": "$OPENROUTER_API_KEY",
258
+ "models": {
259
+ "llama3.1:70b": "meta-llama/llama-3.1-405b-instruct",
260
+ "llama3.3:70b": "meta-llama/llama-3.3-70b-instruct",
261
+ "phi-4:14b": "microsoft/phi-4",
262
+ "codestral:22b": "mistralai/codestral-2508",
263
+ "mistral-nemo:12b": "mistralai/mistral-nemo",
264
+ "mixtral:8x22b": "mistralai/mixtral-8x22b-instruct",
265
+ "mistral-small3.2:24b": "mistralai/mistral-small-3.2-24b-instruct",
266
+ "nova-micro": "amazon/nova-micro-v1",
267
+ "nova-lite": "amazon/nova-lite-v1",
268
+ "nova-pro": "amazon/nova-pro-v1",
269
+ "claude-opus-4-1": "anthropic/claude-opus-4.1",
270
+ "claude-sonnet-4-5": "anthropic/claude-sonnet-4.5",
271
+ "claude-sonnet-4-0": "anthropic/claude-sonnet-4",
272
+ "gpt-5": "openai/gpt-5",
273
+ "gpt-5-chat": "openai/gpt-5-chat",
274
+ "gpt-5-mini": "openai/gpt-5-mini",
275
+ "gpt-5-nano": "openai/gpt-5-nano",
276
+ "gpt-5-codex": "openai/gpt-5-codex",
277
+ "gpt-oss:120b": "openai/gpt-oss-120b",
278
+ "gpt-oss:20b": "openai/gpt-oss-20b",
279
+ "gpt-4o": "openai/gpt-4o",
280
+ "gpt-4o-mini": "openai/gpt-4o-mini",
281
+ "gpt-4.1": "openai/gpt-4.1",
282
+ "gpt-4.1-mini": "openai/gpt-4.1-mini",
283
+ "gpt-4.1-nano": "openai/gpt-4.1-nano",
284
+ "o4-mini": "openai/o4-mini",
285
+ "o4-mini-high": "openai/o4-mini-high",
286
+ "grok-4": "x-ai/grok-4",
287
+ "grok-4-fast": "x-ai/grok-4-fast",
288
+ "grok-code-fast-1": "x-ai/grok-code-fast-1",
289
+ "glm-4.6": "z-ai/glm-4.6",
290
+ "glm-4.5v": "z-ai/glm-4.5v",
291
+ "glm-4.5": "z-ai/glm-4.5",
292
+ "glm-4.5-air": "z-ai/glm-4.5-air",
293
+ "kimi-k2": "moonshotai/kimi-k2",
294
+ "deepseek-v3.1:671b": "deepseek/deepseek-chat",
295
+ "deepseek-v3.2-exp": "deepseek/deepseek-v3.2-exp",
296
+ "deepseek-chat-v3.1:671b": "deepseek/deepseek-chat-v3.1",
297
+ "deepseek-r1:671b": "deepseek/deepseek-r1",
298
+ "deepseek-v3.1-terminus": "deepseek/deepseek-v3.1-terminus",
299
+ "qwen3:8b": "qwen/qwen3-8b",
300
+ "qwen3:30b": "qwen/qwen3-30b-a3b",
301
+ "qwen3:32b": "qwen/qwen3-32b",
302
+ "qwen3:235b": "qwen/qwen3-235b-a22b",
303
+ "qwen3-coder": "qwen/qwen3-coder",
304
+ "qwen3-coder-flash": "qwen/qwen3-coder-flash",
305
+ "qwen3-coder-plus": "qwen/qwen3-coder-plus",
306
+ "qwen3-coder:30b": "qwen/qwen3-coder-30b-a3b-instruct",
307
+ "qwen3-max": "qwen/qwen3-max",
308
+ "qwen3-vl:235b": "qwen/qwen3-vl-235b-a22b-instruct",
309
+ "qwen3-vl-thinking:235b": "qwen/qwen3-vl-235b-a22b-thinking",
310
+ "ling-1t": "inclusionai/ling-1t",
311
+ "llama4:109b": "meta-llama/llama-4-scout",
312
+ "llama4:400b": "meta-llama/llama-4-maverick"
313
+ },
314
+ "pricing": {
315
+ "meta-llama/llama-3.1-405b-instruct": {
316
+ "input": "0.0000008",
317
+ "output": "0.0000008"
318
+ },
319
+ "meta-llama/llama-3.3-70b-instruct": {
320
+ "input": "0.00000013",
321
+ "output": "0.00000038"
322
+ },
323
+ "microsoft/phi-4": {
324
+ "input": "0.00000006",
325
+ "output": "0.00000014"
326
+ },
327
+ "mistralai/codestral-2508": {
328
+ "input": "0.0000003",
329
+ "output": "0.0000009"
330
+ },
331
+ "mistralai/mistral-nemo": {
332
+ "input": "0.00000002",
333
+ "output": "0.00000004"
334
+ },
335
+ "mistralai/mixtral-8x22b-instruct": {
336
+ "input": "0.000002",
337
+ "output": "0.000006"
338
+ },
339
+ "mistralai/mistral-small-3.2-24b-instruct": {
340
+ "input": "0.00000006",
341
+ "output": "0.00000018"
342
+ },
343
+ "amazon/nova-micro-v1": {
344
+ "input": "0.000000035",
345
+ "output": "0.00000014"
346
+ },
347
+ "amazon/nova-lite-v1": {
348
+ "input": "0.00000006",
349
+ "output": "0.00000024"
350
+ },
351
+ "amazon/nova-pro-v1": {
352
+ "input": "0.0000008",
353
+ "output": "0.0000032"
354
+ },
355
+ "anthropic/claude-opus-4.1": {
356
+ "input": "0.000015",
357
+ "output": "0.000075"
358
+ },
359
+ "anthropic/claude-sonnet-4.5": {
360
+ "input": "0.000003",
361
+ "output": "0.000015"
362
+ },
363
+ "anthropic/claude-sonnet-4": {
364
+ "input": "0.000003",
365
+ "output": "0.000015"
366
+ },
367
+ "openai/gpt-5": {
368
+ "input": "0.00000125",
369
+ "output": "0.00001"
370
+ },
371
+ "openai/gpt-5-chat": {
372
+ "input": "0.00000125",
373
+ "output": "0.00001"
374
+ },
375
+ "openai/gpt-5-mini": {
376
+ "input": "0.00000025",
377
+ "output": "0.000002"
378
+ },
379
+ "openai/gpt-5-nano": {
380
+ "input": "0.00000005",
381
+ "output": "0.0000004"
382
+ },
383
+ "openai/gpt-5-codex": {
384
+ "input": "0.00000125",
385
+ "output": "0.00001"
386
+ },
387
+ "openai/gpt-oss-120b": {
388
+ "input": "0.00000005",
389
+ "output": "0.00000024"
390
+ },
391
+ "openai/gpt-oss-20b": {
392
+ "input": "0.00000003",
393
+ "output": "0.00000014"
394
+ },
395
+ "openai/gpt-4o": {
396
+ "input": "0.000006",
397
+ "output": "0.000018"
398
+ },
399
+ "openai/gpt-4o-mini": {
400
+ "input": "0.00000015",
401
+ "output": "0.0000006"
402
+ },
403
+ "openai/gpt-4.1": {
404
+ "input": "0.000002",
405
+ "output": "0.000008"
406
+ },
407
+ "openai/gpt-4.1-mini": {
408
+ "input": "0.0000004",
409
+ "output": "0.0000016"
410
+ },
411
+ "openai/gpt-4.1-nano": {
412
+ "input": "0.0000001",
413
+ "output": "0.0000004"
414
+ },
415
+ "openai/o4-mini": {
416
+ "input": "0.0000011",
417
+ "output": "0.0000044"
418
+ },
419
+ "openai/o4-mini-high": {
420
+ "input": "0.0000011",
421
+ "output": "0.0000044"
422
+ },
423
+ "x-ai/grok-4": {
424
+ "input": "0.000003",
425
+ "output": "0.000015"
426
+ },
427
+ "x-ai/grok-4-fast": {
428
+ "input": "0.0000002",
429
+ "output": "0.0000005"
430
+ },
431
+ "x-ai/grok-code-fast-1": {
432
+ "input": "0.0000002",
433
+ "output": "0.0000015"
434
+ },
435
+ "z-ai/glm-4.6": {
436
+ "input": "0.0000006",
437
+ "output": "0.0000019"
438
+ },
439
+ "z-ai/glm-4.5v": {
440
+ "input": "0.0000006",
441
+ "output": "0.0000018"
442
+ },
443
+ "z-ai/glm-4.5": {
444
+ "input": "0.00000035",
445
+ "output": "0.00000155"
446
+ },
447
+ "z-ai/glm-4.5-air": {
448
+ "input": "0.00000013",
449
+ "output": "0.00000085"
450
+ },
451
+ "moonshotai/kimi-k2": {
452
+ "input": "0.00000014",
453
+ "output": "0.00000249"
454
+ },
455
+ "deepseek/deepseek-chat": {
456
+ "input": "0.0000003",
457
+ "output": "0.00000085"
458
+ },
459
+ "deepseek/deepseek-v3.2-exp": {
460
+ "input": "0.00000027",
461
+ "output": "0.0000004"
462
+ },
463
+ "deepseek/deepseek-chat-v3.1": {
464
+ "input": "0.00000027",
465
+ "output": "0.000001"
466
+ },
467
+ "deepseek/deepseek-r1": {
468
+ "input": "0.0000004",
469
+ "output": "0.000002"
470
+ },
471
+ "deepseek/deepseek-v3.1-terminus": {
472
+ "input": "0.00000027",
473
+ "output": "0.000001"
474
+ },
475
+ "qwen/qwen3-8b": {
476
+ "input": "0.000000035",
477
+ "output": "0.000000138"
478
+ },
479
+ "qwen/qwen3-30b-a3b": {
480
+ "input": "0.00000006",
481
+ "output": "0.00000022"
482
+ },
483
+ "qwen/qwen3-32b": {
484
+ "input": "0.00000005",
485
+ "output": "0.0000002"
486
+ },
487
+ "qwen/qwen3-235b-a22b": {
488
+ "input": "0.00000018",
489
+ "output": "0.00000054"
490
+ },
491
+ "qwen/qwen3-coder": {
492
+ "input": "0.00000038",
493
+ "output": "0.00000153"
494
+ },
495
+ "qwen/qwen3-coder-flash": {
496
+ "input": "0.0000003",
497
+ "output": "0.0000015"
498
+ },
499
+ "qwen/qwen3-coder-plus": {
500
+ "input": "0.000001",
501
+ "output": "0.000005"
502
+ },
503
+ "qwen/qwen3-coder-30b-a3b-instruct": {
504
+ "input": "0.00000006",
505
+ "output": "0.00000025"
506
+ },
507
+ "qwen/qwen3-max": {
508
+ "input": "0.0000012",
509
+ "output": "0.000006"
510
+ },
511
+ "qwen/qwen3-vl-235b-a22b-instruct": {
512
+ "input": "0.00000022",
513
+ "output": "0.00000088"
514
+ },
515
+ "qwen/qwen3-vl-235b-a22b-thinking": {
516
+ "input": "0.0000003",
517
+ "output": "0.0000012"
518
+ },
519
+ "inclusionai/ling-1t": {
520
+ "input": "0.00000057",
521
+ "output": "0.00000228"
522
+ },
523
+ "meta-llama/llama-4-scout": {
524
+ "input": "0.00000008",
525
+ "output": "0.0000003"
526
+ },
527
+ "meta-llama/llama-4-maverick": {
528
+ "input": "0.00000015",
529
+ "output": "0.0000006"
530
+ }
531
+ }
532
+ },
533
+ "google": {
534
+ "enabled": true,
535
+ "type": "GoogleProvider",
536
+ "api_key": "$GOOGLE_API_KEY",
537
+ "models": {
538
+ "gemini-flash-latest": "gemini-flash-latest",
539
+ "gemini-flash-lite-latest": "gemini-flash-lite-latest",
540
+ "gemini-2.5-pro": "gemini-2.5-pro",
541
+ "gemini-2.5-flash": "gemini-2.5-flash",
542
+ "gemini-2.5-flash-lite": "gemini-2.5-flash-lite"
543
+ },
544
+ "pricing": {
545
+ "gemini-flash-latest": {
546
+ "input": "0.0000003",
547
+ "output": "0.0000025"
548
+ },
549
+ "gemini-flash-lite-latest": {
550
+ "input": "0.0000001",
551
+ "output": "0.0000004"
552
+ },
553
+ "gemini-2.5-pro": {
554
+ "input": "0.00000125",
555
+ "output": "0.00001"
556
+ },
557
+ "gemini-2.5-flash": {
558
+ "input": "0.0000003",
559
+ "output": "0.0000025"
560
+ },
561
+ "gemini-2.5-flash-lite": {
562
+ "input": "0.0000001",
563
+ "output": "0.0000004"
564
+ }
565
+ },
566
+ "safety_settings": [
567
+ {
568
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
569
+ "threshold": "BLOCK_ONLY_HIGH"
570
+ }
571
+ ],
572
+ "thinking_config": {
573
+ "thinkingBudget": 1024,
574
+ "includeThoughts": true
575
+ },
576
+ "check": {
577
+ "messages": [
578
+ {
579
+ "role": "user",
580
+ "content": [
581
+ {
582
+ "type": "text",
583
+ "text": "1+1="
584
+ }
585
+ ]
586
+ }
587
+ ],
588
+ "max_completion_tokens": 512,
589
+ "reasoning": {
590
+ "max_tokens": 128,
591
+ "reasoning_effort": "low"
592
+ },
593
+ "stream": false
594
+ }
595
+ },
596
+ "anthropic": {
597
+ "enabled": true,
598
+ "type": "OpenAiProvider",
599
+ "base_url": "https://api.anthropic.com",
600
+ "api_key": "$ANTHROPIC_API_KEY",
601
+ "models": {
602
+ "claude-opus-4-1": "claude-opus-4-1",
603
+ "claude-sonnet-4-5": "claude-sonnet-4-5",
604
+ "claude-sonnet-4-0": "claude-sonnet-4-0",
605
+ "claude-3-7-sonnet": "claude-3-7-sonnet-latest",
606
+ "claude-haiku-4-5": "claude-haiku-4-5",
607
+ "claude-3-5-haiku": "claude-3-5-haiku-latest",
608
+ "claude-3-haiku": "claude-3-haiku-20240307"
609
+ },
610
+ "pricing": {
611
+ "claude-opus-4-1": {
612
+ "input": "0.000015",
613
+ "output": "0.000075"
614
+ },
615
+ "claude-opus-4": {
616
+ "input": "0.000015",
617
+ "output": "0.000075"
618
+ },
619
+ "claude-sonnet-4-5": {
620
+ "input": "0.000003",
621
+ "output": "0.000015"
622
+ },
623
+ "claude-sonnet-4-0": {
624
+ "input": "0.000003",
625
+ "output": "0.000015"
626
+ },
627
+ "claude-3-7-sonnet-latest": {
628
+ "input": "0.000003",
629
+ "output": "0.000015"
630
+ },
631
+ "claude-haiku-4-5": {
632
+ "input": "0.000001",
633
+ "output": "0.000005"
634
+ },
635
+ "claude-3-5-haiku-latest": {
636
+ "input": "0.0000008",
637
+ "output": "0.000004"
638
+ },
639
+ "claude-3-haiku-20240307": {
640
+ "input": "0.00000025",
641
+ "output": "0.00000125"
642
+ }
643
+ }
644
+ },
645
+ "openai": {
646
+ "enabled": true,
647
+ "type": "OpenAiProvider",
648
+ "base_url": "https://api.openai.com",
649
+ "api_key": "$OPENAI_API_KEY",
650
+ "models": {
651
+ "gpt-5-nano": "gpt-5-nano",
652
+ "gpt-5-mini": "gpt-5-mini",
653
+ "gpt-5": "gpt-5",
654
+ "gpt-5-chat-latest": "gpt-5-chat-latest",
655
+ "gpt-4.1-nano": "gpt-4.1-nano",
656
+ "gpt-4.1-mini": "gpt-4.1-mini",
657
+ "gpt-4.1": "gpt-4.1",
658
+ "o4-mini": "o4-mini",
659
+ "o3": "o3",
660
+ "gpt-4o-mini-search-preview": "gpt-4o-mini-search-preview",
661
+ "gpt-4o-search-preview": "gpt-4o-search-preview",
662
+ "o3-mini": "o3-mini",
663
+ "o1-mini": "o1-mini",
664
+ "chatgpt-4o-latest": "chatgpt-4o-latest",
665
+ "gpt-4o-mini": "gpt-4o-mini",
666
+ "gpt-4o": "gpt-4o",
667
+ "gpt-3.5-turbo": "gpt-3.5-turbo"
668
+ },
669
+ "pricing": {
670
+ "gpt-5-nano": {
671
+ "input": "0.00000005",
672
+ "output": "0.0000004"
673
+ },
674
+ "gpt-5-mini": {
675
+ "input": "0.00000025",
676
+ "output": "0.000002"
677
+ },
678
+ "gpt-5": {
679
+ "input": "0.00000125",
680
+ "output": "0.00001"
681
+ },
682
+ "gpt-5-chat-latest": {
683
+ "input": "0.00000125",
684
+ "output": "0.00001"
685
+ },
686
+ "gpt-4.1-nano": {
687
+ "input": "0.0000001",
688
+ "output": "0.0000004"
689
+ },
690
+ "gpt-4.1-mini": {
691
+ "input": "0.0000004",
692
+ "output": "0.0000016"
693
+ },
694
+ "gpt-4.1": {
695
+ "input": "0.000002",
696
+ "output": "0.000008"
697
+ },
698
+ "o4-mini": {
699
+ "input": "0.0000011",
700
+ "output": "0.0000044"
701
+ },
702
+ "o3": {
703
+ "input": "0.000002",
704
+ "output": "0.000008"
705
+ },
706
+ "gpt-4o-mini-search-preview": {
707
+ "input": "0.00000015",
708
+ "output": "0.0000006"
709
+ },
710
+ "gpt-4o-search-preview": {
711
+ "input": "0.0000025",
712
+ "output": "0.00001"
713
+ },
714
+ "o3-mini": {
715
+ "input": "0.0000011",
716
+ "output": "0.0000044"
717
+ },
718
+ "o1-mini": {
719
+ "input": "0.0000011",
720
+ "output": "0.0000044"
721
+ },
722
+ "chatgpt-4o-latest": {
723
+ "input": "0.000005",
724
+ "output": "0.000015"
725
+ },
726
+ "gpt-4o-mini": {
727
+ "input": "0.00000015",
728
+ "output": "0.0000006"
729
+ },
730
+ "gpt-4o": {
731
+ "input": "0.0000025",
732
+ "output": "0.00001"
733
+ },
734
+ "gpt-3.5-turbo": {
735
+ "input": "0.000003",
736
+ "output": "0.000006"
737
+ }
738
+ },
739
+ "check": {
740
+ "messages": [
741
+ {
742
+ "role": "user",
743
+ "content": [
744
+ {
745
+ "type": "text",
746
+ "text": "1+1="
747
+ }
748
+ ]
749
+ }
750
+ ],
751
+ "max_completion_tokens": 16,
752
+ "stream": false
753
+ }
754
+ },
755
+ "grok": {
756
+ "enabled": true,
757
+ "type": "OpenAiProvider",
758
+ "base_url": "https://api.x.ai",
759
+ "api_key": "$GROK_API_KEY",
760
+ "models": {
761
+ "grok-4": "grok-4-0709",
762
+ "grok-code-fast-1": "grok-code-fast-1",
763
+ "grok-4-fast-reasoning": "grok-4-fast-reasoning",
764
+ "grok-4-fast-non-reasoning": "grok-4-fast-non-reasoning",
765
+ "grok-4-0709": "grok-4-0709",
766
+ "grok-3-mini": "grok-3-mini",
767
+ "grok-3": "grok-3"
768
+ },
769
+ "pricing": {
770
+ "grok-4": {
771
+ "input": "0.000003",
772
+ "output": "0.000015"
773
+ },
774
+ "grok-code-fast-1": {
775
+ "input": "0.0000002",
776
+ "output": "0.0000015"
777
+ },
778
+ "grok-4-fast-reasoning": {
779
+ "input": "0.0000002",
780
+ "output": "0.0000005"
781
+ },
782
+ "grok-4-fast-non-reasoning": {
783
+ "input": "0.0000002",
784
+ "output": "0.0000005"
785
+ },
786
+ "grok-4-0709": {
787
+ "input": "0.000003",
788
+ "output": "0.000015"
789
+ },
790
+ "grok-3-mini": {
791
+ "input": "0.0000003",
792
+ "output": "0.0000005"
793
+ },
794
+ "grok-3": {
795
+ "input": "0.000003",
796
+ "output": "0.000015"
797
+ }
798
+ }
799
+ },
800
+ "qwen": {
801
+ "enabled": true,
802
+ "type": "OpenAiProvider",
803
+ "base_url": "https://dashscope-intl.aliyuncs.com/compatible-mode",
804
+ "api_key": "$DASHSCOPE_API_KEY",
805
+ "models": {
806
+ "qwen3-max": "qwen3-max",
807
+ "qwen-max": "qwen-max",
808
+ "qwen-plus": "qwen-plus",
809
+ "qwen-flash": "qwen-flash",
810
+ "qwq-plus": "qwq-plus",
811
+ "qwen-turbo": "qwen-turbo",
812
+ "qwen-omni-turbo": "qwen-omni-turbo",
813
+ "qwen3-omni-flash": "qwen3-omni-flash",
814
+ "qwen3-coder-plus": "qwen3-coder-plus",
815
+ "qwen3-coder-flash": "qwen3-coder-flash",
816
+ "qwen3-next:80b": "qwen3-next-80b-a3b-instruct",
817
+ "qwen3:235b": "qwen3-235b-a22b",
818
+ "qwen3:32b": "qwen3-32b",
819
+ "qwen3:30b": "qwen3-30b-a3b",
820
+ "qwen3:14b": "qwen3-14b",
821
+ "qwen3:8b": "qwen3-8b",
822
+ "qwen3:4b": "qwen3-4b",
823
+ "qwen3:1.7b": "qwen3-1.7b",
824
+ "qwen3:0.6b": "qwen3-0.6b",
825
+ "qwen3-coder": "qwen3-coder-480b-a35b-instruct",
826
+ "qwen3-coder:30b": "qwen3-coder-30b-a3b-instruct",
827
+ "qwen3-vl-plus": "qwen3-vl-plus",
828
+ "qwen3-vl-thinking:235b": "qwen3-vl-235b-a22b-thinking",
829
+ "qwen3-vl:235b": "qwen3-vl-235b-a22b-instruct",
830
+ "qwen3-vl:30b": "qwen3-vl-30b-a3b-instruct",
831
+ "qwen2.5-omni:7b": "qwen2.5-omni-7b"
832
+ },
833
+ "pricing": {
834
+ "qwen3-max": {
835
+ "input": "0.0000012",
836
+ "output": "0.000006"
837
+ },
838
+ "qwen-max": {
839
+ "input": "0.0000012",
840
+ "output": "0.000006"
841
+ },
842
+ "qwen-plus": {
843
+ "input": "0.0000004",
844
+ "output": "0.0000012"
845
+ },
846
+ "qwen-flash": {
847
+ "input": "0.00000005",
848
+ "output": "0.0000004"
849
+ },
850
+ "qwq-plus": {
851
+ "input": "0.0000008",
852
+ "output": "0.0000024"
853
+ },
854
+ "qwen-turbo": {
855
+ "input": "0.00000005",
856
+ "output": "0.0000005"
857
+ },
858
+ "qwen-omni-turbo": {
859
+ "input": "0.00000007",
860
+ "output": "0.00000027"
861
+ },
862
+ "qwen3-omni-flash": {
863
+ "input": "0.00000043",
864
+ "output": "0.00000166"
865
+ },
866
+ "qwen3-coder-plus": {
867
+ "input": "0.000001",
868
+ "output": "0.000005"
869
+ },
870
+ "qwen3-coder-flash": {
871
+ "input": "0.0000003",
872
+ "output": "0.0000015"
873
+ },
874
+ "qwen3-next-80b-a3b-instruct": {
875
+ "input": "0.0000005",
876
+ "output": "0.000002"
877
+ },
878
+ "qwen3-235b-a22b": {
879
+ "input": "0.0000007",
880
+ "output": "0.0000028"
881
+ },
882
+ "qwen3-32b": {
883
+ "input": "0.0000007",
884
+ "output": "0.0000028"
885
+ },
886
+ "qwen3-30b-a3b": {
887
+ "input": "0.0000002",
888
+ "output": "0.0000008"
889
+ },
890
+ "qwen3-14b": {
891
+ "input": "0.00000035",
892
+ "output": "0.0000014"
893
+ },
894
+ "qwen3-8b": {
895
+ "input": "0.00000018",
896
+ "output": "0.0000007"
897
+ },
898
+ "qwen3-4b": {
899
+ "input": "0.00000011",
900
+ "output": "0.00000042"
901
+ },
902
+ "qwen3-1.7b": {
903
+ "input": "0.00000011",
904
+ "output": "0.00000042"
905
+ },
906
+ "qwen3-0.6b": {
907
+ "input": "0.00000011",
908
+ "output": "0.00000042"
909
+ },
910
+ "qwen3-coder-480b-a35b-instruct": {
911
+ "input": "0.0000015",
912
+ "output": "0.0000075"
913
+ },
914
+ "qwen3-coder-30b-a3b-instruct": {
915
+ "input": "0.00000045",
916
+ "output": "0.00000225"
917
+ },
918
+ "qwen3-vl-plus": {
919
+ "input": "0.0000002",
920
+ "output": "0.0000016"
921
+ },
922
+ "qwen3-vl-235b-a22b-thinking": {
923
+ "input": "0.0000007",
924
+ "output": "0.0000084"
925
+ },
926
+ "qwen3-vl-235b-a22b-instruct": {
927
+ "input": "0.0000007",
928
+ "output": "0.0000084"
929
+ },
930
+ "qwen3-vl-30b-a3b-instruct": {
931
+ "input": "0.0000002",
932
+ "output": "0.0000024"
933
+ },
934
+ "qwen2.5-omni-7b": {
935
+ "input": "0.0000001",
936
+ "output": "0.0000004"
937
+ }
938
+ },
939
+ "enable_thinking": false
940
+ },
941
+ "z.ai": {
942
+ "enabled": true,
943
+ "type": "OpenAiProvider",
944
+ "base_url": "https://api.z.ai/api/paas/v4",
945
+ "api_key": "$ZAI_API_KEY",
946
+ "models": {
947
+ "glm-4.6": "glm-4.6",
948
+ "glm-4.5": "glm-4.5",
949
+ "glm-4.5-air": "glm-4.5-air",
950
+ "glm-4.5-x": "glm-4.5-x",
951
+ "glm-4.5-airx": "glm-4.5-airx",
952
+ "glm-4.5-flash": "glm-4.5-flash",
953
+ "glm-4:32b": "glm-4-32b-0414-128k"
954
+ },
955
+ "temperature": 0.7,
956
+ "pricing": {
957
+ "glm-4.6": {
958
+ "input": "0.0000006",
959
+ "output": "0.00000022"
960
+ },
961
+ "glm-4.5": {
962
+ "input": "0.0000006",
963
+ "output": "0.00000022"
964
+ },
965
+ "glm-4.5-air": {
966
+ "input": "0.0000002",
967
+ "output": "0.00000011"
968
+ },
969
+ "glm-4.5-x": {
970
+ "input": "0.00000022",
971
+ "output": "0.00000089"
972
+ },
973
+ "glm-4.5-airx": {
974
+ "input": "0.0000011",
975
+ "output": "0.00000045"
976
+ },
977
+ "glm-4.5-flash": {
978
+ "input": "0",
979
+ "output": "0"
980
+ },
981
+ "glm-4-32b-0414-128k": {
982
+ "input": "0.0000001",
983
+ "output": "0.0000001"
984
+ }
985
+ }
986
+ },
987
+ "mistral": {
988
+ "enabled": true,
989
+ "type": "OpenAiProvider",
990
+ "base_url": "https://api.mistral.ai",
991
+ "api_key": "$MISTRAL_API_KEY",
992
+ "models": {
993
+ "mistral-medium": "mistral-medium-latest",
994
+ "magistral-medium": "magistral-medium-latest",
995
+ "devstral-medium": "devstral-medium-2507",
996
+ "codestral:22b": "codestral-latest",
997
+ "mistral-small3.2:24b": "mistral-small-latest",
998
+ "magistral-small": "magistral-small-latest",
999
+ "devstral-small": "devstral-small-2507",
1000
+ "voxtral-small": "voxtral-small-latest",
1001
+ "voxtral-mini": "voxtral-mini-latest",
1002
+ "mistral-large:123b": "mistral-large-latest",
1003
+ "pixtral-large:124b": "pixtral-large-latest",
1004
+ "pixtral:12b": "pixtral-12b",
1005
+ "mistral-nemo:12b": "open-mistral-nemo",
1006
+ "mistral:7b": "open-mistral-7b",
1007
+ "mixtral:8x7b": "open-mixtral-8x7b",
1008
+ "mixtral:8x22b": "open-mixtral-8x22b",
1009
+ "ministral:8b": "ministral-8b-latest",
1010
+ "ministral:3b": "ministral-3b-latest"
1011
+ },
1012
+ "pricing": {
1013
+ "mistral-medium-latest": {
1014
+ "input": "0.0000004",
1015
+ "output": "0.000002"
1016
+ },
1017
+ "magistral-medium-latest": {
1018
+ "input": "0.000002",
1019
+ "output": "0.000005"
1020
+ },
1021
+ "devstral-medium-2507": {
1022
+ "input": "0.0000004",
1023
+ "output": "0.000002"
1024
+ },
1025
+ "codestral-latest": {
1026
+ "input": "0.0000003",
1027
+ "output": "0.0000003"
1028
+ },
1029
+ "mistral-small-latest": {
1030
+ "input": "0.0000001",
1031
+ "output": "0.0000003"
1032
+ },
1033
+ "magistral-small-latest": {
1034
+ "input": "0.0000005",
1035
+ "output": "0.0000015"
1036
+ },
1037
+ "devstral-small-2507": {
1038
+ "input": "0.0000001",
1039
+ "output": "0.0000003"
1040
+ },
1041
+ "voxtral-small-latest": {
1042
+ "input": "0.0000001",
1043
+ "output": "0.0000003"
1044
+ },
1045
+ "voxtral-mini-latest": {
1046
+ "input": "0.00000004",
1047
+ "output": "0.00000004"
1048
+ },
1049
+ "mistral-large-latest": {
1050
+ "input": "0.000002",
1051
+ "output": "0.000006"
1052
+ },
1053
+ "pixtral-large-latest": {
1054
+ "input": "0.000002",
1055
+ "output": "0.000006"
1056
+ },
1057
+ "pixtral-12b": {
1058
+ "input": "0.00000015",
1059
+ "output": "0.00000015"
1060
+ },
1061
+ "open-mistral-nemo": {
1062
+ "input": "0.00000015",
1063
+ "output": "0.00000015"
1064
+ },
1065
+ "open-mistral-7b": {
1066
+ "input": "0.00000025",
1067
+ "output": "0.00000025"
1068
+ },
1069
+ "open-mixtral-8x7b": {
1070
+ "input": "0.0000007",
1071
+ "output": "0.0000007"
1072
+ },
1073
+ "open-mixtral-8x22b": {
1074
+ "input": "0.000002",
1075
+ "output": "0.000006"
1076
+ },
1077
+ "ministral-8b-latest": {
1078
+ "input": "0.0000001",
1079
+ "output": "0.0000001"
1080
+ },
1081
+ "ministral-3b-latest": {
1082
+ "input": "0.00000004",
1083
+ "output": "0.00000004"
1084
+ }
1085
+ },
1086
+ "check": {
1087
+ "messages": [
1088
+ {
1089
+ "role": "user",
1090
+ "content": [
1091
+ {
1092
+ "type": "text",
1093
+ "text": "1+1="
1094
+ }
1095
+ ]
1096
+ }
1097
+ ],
1098
+ "stream": false
1099
+ }
1100
+ }
1101
+ }
1102
+ }