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
@@ -0,0 +1,56 @@
1
+ llms/__init__.py,sha256=Mk6eHi13yoUxLlzhwfZ6A1IjsfSQt9ShhOdbLXTvffU,53
2
+ llms/__main__.py,sha256=hrBulHIt3lmPm1BCyAEVtB6DQ0Hvc3gnIddhHCmJasg,151
3
+ llms/index.html,sha256=OA9mRmgh-dQrPqb0Z2Jv-cwEZ3YLPRxcWUN7ASjxO8s,2658
4
+ llms/llms.json,sha256=CXl0SLqfL6cT9xUogPEHvTa6lhdoLsyPmEiqFbEpNQ8,40924
5
+ llms/main.py,sha256=2KGZyqv6E2ZV1-guPegKmB0yQNJLEqimGDAXStfnQns,71376
6
+ llms/ui.json,sha256=iBOmpNeD5-o8AgUa51ymS-KemovJ7bm9J1fnL0nf8jk,134025
7
+ llms/__pycache__/__init__.cpython-312.pyc,sha256=e6TG6e0PTRxM_LRg25eL4FvjQ0wBbfeahICORONYgDk,173
8
+ llms/__pycache__/__init__.cpython-313.pyc,sha256=DvmykIYAjV4Xjv5NeC70BA0JIX8qtwEWP2dfzmOBrps,173
9
+ llms/__pycache__/__init__.cpython-314.pyc,sha256=6G4fhFLhDJOx_Jk5SXH-4GnLvCtwxcQDo5KofT1ZFKY,175
10
+ llms/__pycache__/__main__.cpython-312.pyc,sha256=fcu9LVl5nfdSzg9HqoKyDGoDvENeIXKkjygN7FENEGE,321
11
+ llms/__pycache__/__main__.cpython-314.pyc,sha256=IFxtGVpJq_3whKuM5Ln7YMweKFNbHVp8M7VSrLK5h2A,324
12
+ llms/__pycache__/llms.cpython-312.pyc,sha256=S5dFI79JdUe2dQW4ogdB-CCNhudQeFaFGcfKxgJGBms,72080
13
+ llms/__pycache__/main.cpython-312.pyc,sha256=pqZ-h6Itl6gNQpNwpp_npEYGl-cNxAYDmogr721XoeU,72085
14
+ llms/__pycache__/main.cpython-313.pyc,sha256=6NQ__SJ2rC9ItFLKLHL5ewb5RqxLzZabwgczA9wZd-w,74814
15
+ llms/__pycache__/main.cpython-314.pyc,sha256=WtfggYctsz-pwCdo4gGPO3UcFZAf6VQEK_Gy-fveeEg,89937
16
+ llms/ui/Analytics.mjs,sha256=M3yumsGfmoVGtLDVrtVNBpR9zqKEfk4a09ko5R_H9Rk,67554
17
+ llms/ui/App.mjs,sha256=hXtUjaL3GrcIHieEK3BzIG72OVzrorBBS4RkE1DOGc4,439
18
+ llms/ui/Avatar.mjs,sha256=3rHpxe_LuCDiNP895F3FOjWx4j377JA9rD1FLluvtgA,851
19
+ llms/ui/Brand.mjs,sha256=0NN2JBLUC0OWERuLz9myrimlcA7v7D5B_EMd0sQQVDo,1905
20
+ llms/ui/ChatPrompt.mjs,sha256=85O_kLVKWbbUDOUlvkuAineam_jrd6lzrj4O00p1XOg,21172
21
+ llms/ui/Main.mjs,sha256=pmFwN3Q2ccgmi2fFXyCaVZAmidzqA6RtXCit84Xvk4c,38088
22
+ llms/ui/ModelSelector.mjs,sha256=ASLTUaqig3cDMiGup01rpubC2RrrZvPd8IFrYcK8GyQ,2565
23
+ llms/ui/ProviderIcon.mjs,sha256=HTjlgtXEpekn8iNN_S0uswbbvL0iGb20N15-_lXdojk,9054
24
+ llms/ui/ProviderStatus.mjs,sha256=qF_rPdhyt9GffKdPCJdU0yanrDJ3cw1HLPygFP_KjEs,5744
25
+ llms/ui/Recents.mjs,sha256=hmj7V-RXVw-DqMXjUr3OhFHTYQTkvkEhuNEDTGBf3Qw,8448
26
+ llms/ui/SettingsDialog.mjs,sha256=Jm21s5CcZT97ZEhPc7c1WgnLOLdfSiC1SDroYsh7zM4,18095
27
+ llms/ui/Sidebar.mjs,sha256=XPdbJo87H1vgTG0R9Ssqo_8XNhn9umkGwbubLpIOWqY,10519
28
+ llms/ui/SignIn.mjs,sha256=df3b-7L3ZIneDGbJWUk93K9RGo40gVeuR5StzT1ZH9g,2324
29
+ llms/ui/SystemPromptEditor.mjs,sha256=2CyIUvkIubqYPyIp5zC6_I8CMxvYINuYNjDxvMz4VRU,1265
30
+ llms/ui/SystemPromptSelector.mjs,sha256=AuEtRwUf_RkGgene3nVA9bw8AeMb-b5_6ZLJCTWA8KQ,3051
31
+ llms/ui/Welcome.mjs,sha256=QFAxN7sjWlhMvOIJCmHjNFCQcvpM_T-b4ze1ld9Hj7I,912
32
+ llms/ui/ai.mjs,sha256=hdUrE6NCiIfFGt1pIYirOI1XZJTVMDdEnOm86yUOOcw,2346
33
+ llms/ui/app.css,sha256=e81FHQ-K7TlS7Cr2x_CCHqrvmVvg9I-m0InLQHRT_Dg,98992
34
+ llms/ui/fav.svg,sha256=_R6MFeXl6wBFT0lqcUxYQIDWgm246YH_3hSTW0oO8qw,734
35
+ llms/ui/markdown.mjs,sha256=O5UspOeD8-E23rxOLWcS4eyy2YejMbPwszCYteVtuoU,6221
36
+ llms/ui/tailwind.input.css,sha256=yo_3A50uyiVSUHUWeqAMorXMhCWpZoE5lTO6OJIFlYg,11974
37
+ llms/ui/threadStore.mjs,sha256=lk4dDBzaVKnZ5bfhrAR8VWGLKGROLaD1DSzmenq6amU,15574
38
+ llms/ui/typography.css,sha256=Z5Fe2IQWnh7bu1CMXniYt0SkaN2fXOFlOuniXUW8oGM,19325
39
+ llms/ui/utils.mjs,sha256=cYrP17JwpQk7lLqTWNgVTOD_ZZAovbWnx2QSvKzeB24,5333
40
+ llms/ui/lib/chart.js,sha256=dx8FdDX0Rv6OZtZjr9FQh5h-twFsKjfnb-FvFlQ--cU,196176
41
+ llms/ui/lib/charts.mjs,sha256=MNym9qE_2eoH6M7_8Gj9i6e6-Y3b7zw9UQWCUHRF6x0,1088
42
+ llms/ui/lib/color.js,sha256=DDG7Pr-qzJHTPISZNSqP_qJR8UflKHEc_56n6xrBugQ,8273
43
+ llms/ui/lib/highlight.min.mjs,sha256=sG7wq8bF-IKkfie7S4QSyh5DdHBRf0NqQxMOEH8-MT0,127458
44
+ llms/ui/lib/idb.min.mjs,sha256=CeTXyV4I_pB5vnibvJuyXdMs0iVF2ZL0Z7cdm3w_QaI,3853
45
+ llms/ui/lib/marked.min.mjs,sha256=QRHb_VZugcBJRD2EP6gYlVFEsJw5C2fQ8ImMf_pA2_s,39488
46
+ llms/ui/lib/servicestack-client.mjs,sha256=UVafVbzhJ_0N2lzv7rlzIbzwnWpoqXxGk3N3FSKgOOc,54534
47
+ llms/ui/lib/servicestack-vue.mjs,sha256=r_-khYokisXJAIPDLh8Wq6YtcLAY6HNjtJlCZJjLy74,215181
48
+ llms/ui/lib/vue-router.min.mjs,sha256=fR30GHoXI1u81zyZ26YEU105pZgbbAKSXbpnzFKIxls,30418
49
+ llms/ui/lib/vue.min.mjs,sha256=iXh97m5hotl0eFllb3aoasQTImvp7mQoRJ_0HoxmZkw,163811
50
+ llms/ui/lib/vue.mjs,sha256=dS8LKOG01t9CvZ04i0tbFXHqFXOO_Ha4NmM3BytjQAs,537071
51
+ llms_py-2.0.16.dist-info/licenses/LICENSE,sha256=rRryrddGfVftpde-rmAZpW0R8IJihqJ8t8wpfDXoKiQ,1549
52
+ llms_py-2.0.16.dist-info/METADATA,sha256=42SARMz_sC34JypC97CxPyhdJrVgsl6QPeWDe10Kzb0,27902
53
+ llms_py-2.0.16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
54
+ llms_py-2.0.16.dist-info/entry_points.txt,sha256=WswyE7PfnkZMIxboC-MS6flBD6wm-CYU7JSUnMhqMfM,40
55
+ llms_py-2.0.16.dist-info/top_level.txt,sha256=gC7hk9BKSeog8gyg-EM_g2gxm1mKHwFRfK-10BxOsa4,5
56
+ llms_py-2.0.16.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ llms = llms.main:main
@@ -1,447 +0,0 @@
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
- },
84
- "providers": {
85
- "openrouter_free": {
86
- "enabled": true,
87
- "type": "OpenAiProvider",
88
- "base_url": "https://openrouter.ai/api",
89
- "api_key": "$OPENROUTER_API_KEY",
90
- "models": {
91
- "qwen2.5vl": "qwen/qwen2.5-vl-32b-instruct:free",
92
- "llama4:109b": "meta-llama/llama-4-scout:free",
93
- "llama4:400b": "meta-llama/llama-4-maverick:free",
94
- "deepseek-v3.1:671b": "deepseek/deepseek-chat-v3.1:free",
95
- "deepseek-r1:671b": "deepseek/deepseek-r1-0528:free",
96
- "gemini-2.0-flash": "google/gemini-2.0-flash-exp:free",
97
- "glm-4.5-air": "z-ai/glm-4.5-air:free",
98
- "mai-ds-r1": "microsoft/mai-ds-r1:free",
99
- "llama3.3:70b": "meta-llama/llama-3.3-70b-instruct:free",
100
- "nemotron-nano:9b": "nvidia/nemotron-nano-9b-v2:free",
101
- "deepseek-r1-distill-llama:70b": "deepseek/deepseek-r1-distill-llama-70b:free",
102
- "gpt-oss:20b": "openai/gpt-oss-20b:free",
103
- "mistral-small3.2:24b": "mistralai/mistral-small-3.2-24b-instruct:free",
104
- "mistral-nemo:12b": "mistralai/mistral-nemo:free",
105
- "devstral-small": "mistralai/devstral-small-2505:free",
106
- "venice-uncensored:24b": "cognitivecomputations/dolphin-mistral-24b-venice-edition:free",
107
- "llama3.3:8b": "meta-llama/llama-3.3-8b-instruct:free",
108
- "kimi-dev:72b": "moonshotai/kimi-dev-72b:free",
109
- "gemma3:27b": "google/gemma-3-27b-it:free",
110
- "qwen3-coder": "qwen/qwen3-coder:free",
111
- "qwen3:235b": "qwen/qwen3-235b-a22b:free",
112
- "qwen3:30b": "qwen/qwen3-30b-a3b:free",
113
- "qwen3:8b": "qwen/qwen3-8b:free",
114
- "qwen3:4b": "qwen/qwen3-4b:free",
115
- "qwen2.5vl:72b": "qwen/qwen2.5-vl-72b-instruct:free",
116
- "qwen2.5vl:32b": "qwen/qwen2.5-vl-32b-instruct:free",
117
- "qwen-2.5:72b": "qwen/qwen-2.5-72b-instruct:free",
118
- "hunyuan-a13b": "tencent/hunyuan-a13b-instruct:free"
119
- }
120
- },
121
- "groq": {
122
- "enabled": true,
123
- "type": "OpenAiProvider",
124
- "base_url": "https://api.groq.com/openai",
125
- "api_key": "$GROQ_API_KEY",
126
- "models": {
127
- "allam-2-7b": "allam-2-7b",
128
- "gemma2:9b": "gemma2-9b-it",
129
- "compound": "groq/compound",
130
- "compound-mini": "groq/compound-mini",
131
- "llama3.1:8b": "llama-3.1-8b-instant",
132
- "llama3.3:70b": "llama-3.3-70b-versatile",
133
- "llama4:109b": "meta-llama/llama-4-scout-17b-16e-instruct",
134
- "llama4:400b": "meta-llama/llama-4-maverick-17b-128e-instruct",
135
- "llama-guard-4:12b": "meta-llama/llama-guard-4-12b",
136
- "llama-prompt-guard2:22m": "meta-llama/llama-prompt-guard-2-22m",
137
- "llama-prompt-guard2:86m": "meta-llama/llama-prompt-guard-2-86m",
138
- "kimi-k2": "moonshotai/kimi-k2-instruct-0905",
139
- "gpt-oss:120b": "openai/gpt-oss-120b",
140
- "gpt-oss:20b": "openai/gpt-oss-20b",
141
- "qwen3:32b": "qwen/qwen3-32b"
142
- }
143
- },
144
- "google_free": {
145
- "enabled": true,
146
- "type": "GoogleProvider",
147
- "api_key": "$GOOGLE_FREE_API_KEY",
148
- "models": {
149
- "gemini-flash-latest": "gemini-flash-latest",
150
- "gemini-flash-lite-latest": "gemini-flash-lite-latest",
151
- "gemini-2.5-pro": "gemini-2.5-pro",
152
- "gemini-2.5-flash": "gemini-2.5-flash",
153
- "gemini-2.5-flash-lite": "gemini-2.5-flash-lite"
154
- },
155
- "safety_settings": [
156
- {
157
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
158
- "threshold": "BLOCK_ONLY_HIGH"
159
- }
160
- ],
161
- "thinking_config": {
162
- "thinkingBudget": 1024,
163
- "includeThoughts": true
164
- }
165
- },
166
- "codestral": {
167
- "enabled": true,
168
- "type": "OpenAiProvider",
169
- "base_url": "https://codestral.mistral.ai",
170
- "api_key": "$CODESTRAL_API_KEY",
171
- "models": {
172
- "codestral:22b": "codestral-latest"
173
- }
174
- },
175
- "ollama": {
176
- "enabled": true,
177
- "type": "OllamaProvider",
178
- "base_url": "http://localhost:11434",
179
- "models": {},
180
- "all_models": true
181
- },
182
- "openrouter": {
183
- "enabled": false,
184
- "type": "OpenAiProvider",
185
- "base_url": "https://openrouter.ai/api",
186
- "api_key": "$OPENROUTER_API_KEY",
187
- "models": {
188
- "llama3.1:70b": "meta-llama/llama-3.1-405b-instruct",
189
- "llama3.3:70b": "meta-llama/llama-3.3-70b-instruct",
190
- "phi-4:14b": "microsoft/phi-4",
191
- "codestral:22b": "mistralai/codestral-2508",
192
- "mistral-nemo:12b": "mistralai/mistral-nemo",
193
- "mixtral:8x22b": "mistralai/mixtral-8x22b-instruct",
194
- "mistral-small3.2:24b": "mistralai/mistral-small-3.2-24b-instruct",
195
- "nova-micro": "amazon/nova-micro-v1",
196
- "nova-lite": "amazon/nova-lite-v1",
197
- "nova-pro": "amazon/nova-pro-v1",
198
- "claude-opus-4-1": "anthropic/claude-opus-4.1",
199
- "claude-sonnet-4-5": "anthropic/claude-sonnet-4.5",
200
- "claude-sonnet-4-0": "anthropic/claude-sonnet-4",
201
- "gpt-5": "openai/gpt-5",
202
- "gpt-5-chat": "openai/gpt-5-chat",
203
- "gpt-5-mini": "openai/gpt-5-mini",
204
- "gpt-5-nano": "openai/gpt-5-nano",
205
- "gpt-5-codex": "openai/gpt-5-codex",
206
- "gpt-oss:120b": "openai/gpt-oss-120b",
207
- "gpt-oss:20b": "openai/gpt-oss-20b",
208
- "gpt-4o": "openai/gpt-4o",
209
- "gpt-4o-mini": "openai/gpt-4o-mini",
210
- "gpt-4.1": "openai/gpt-4.1",
211
- "gpt-4.1-mini": "openai/gpt-4.1-mini",
212
- "gpt-4.1-nano": "openai/gpt-4.1-nano",
213
- "o4-mini": "openai/o4-mini",
214
- "o4-mini-high": "openai/o4-mini-high",
215
- "grok-4": "x-ai/grok-4",
216
- "grok-4-fast": "x-ai/grok-4-fast",
217
- "grok-code-fast-1": "x-ai/grok-code-fast-1",
218
- "glm-4.6": "z-ai/glm-4.6",
219
- "glm-4.5v": "z-ai/glm-4.5v",
220
- "glm-4.5": "z-ai/glm-4.5",
221
- "glm-4.5-air": "z-ai/glm-4.5-air",
222
- "kimi-k2": "moonshotai/kimi-k2",
223
- "deepseek-v3.1:671b": "deepseek/deepseek-chat",
224
- "deepseek-v3.2-exp": "deepseek/deepseek-v3.2-exp",
225
- "deepseek-chat-v3.1:671b": "deepseek/deepseek-chat-v3.1:free",
226
- "deepseek-r1:671b": "deepseek/deepseek-r1",
227
- "deepseek-v3.1-terminus": "deepseek/deepseek-v3.1-terminus",
228
- "qwen3:8b": "qwen/qwen3-8b:free",
229
- "qwen3:30b": "qwen/qwen3-30b-a3b",
230
- "qwen3:32b": "qwen/qwen3-32b",
231
- "qwen3:235b": "qwen/qwen3-235b-a22b",
232
- "qwen3-coder": "qwen/qwen3-coder",
233
- "qwen3-coder-flash": "qwen/qwen3-coder-flash",
234
- "qwen3-coder-plus": "qwen/qwen3-coder-plus",
235
- "qwen3-coder:30b": "qwen/qwen3-coder-30b-a3b-instruct",
236
- "qwen3-max": "qwen/qwen3-max",
237
- "qwen3-vl:235b": "qwen/qwen3-vl-235b-a22b-instruct",
238
- "qwen3-vl-thinking:235b": "qwen/qwen3-vl-235b-a22b-thinking",
239
- "ling-1t": "inclusionai/ling-1t",
240
- "llama4:109b": "meta-llama/llama-4-scout",
241
- "llama4:400b": "meta-llama/llama-4-maverick"
242
- }
243
- },
244
- "google": {
245
- "enabled": false,
246
- "type": "GoogleProvider",
247
- "api_key": "$GOOGLE_API_KEY",
248
- "models": {
249
- "gemini-flash-latest": "gemini-flash-latest",
250
- "gemini-flash-lite-latest": "gemini-flash-lite-latest",
251
- "gemini-2.5-pro": "gemini-2.5-pro",
252
- "gemini-2.5-flash": "gemini-2.5-flash",
253
- "gemini-2.5-flash-lite": "gemini-2.5-flash-lite"
254
- },
255
- "safety_settings": [
256
- {
257
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
258
- "threshold": "BLOCK_ONLY_HIGH"
259
- }
260
- ],
261
- "thinking_config": {
262
- "thinkingBudget": 1024,
263
- "includeThoughts": true
264
- }
265
- },
266
- "anthropic": {
267
- "enabled": false,
268
- "type": "OpenAiProvider",
269
- "base_url": "https://api.anthropic.com",
270
- "api_key": "$ANTHROPIC_API_KEY",
271
- "models": {
272
- "claude-opus-4-1": "claude-opus-4-1",
273
- "claude-opus-4": "claude-opus-4",
274
- "claude-sonnet-4-5": "claude-sonnet-4-5",
275
- "claude-sonnet-4-0": "claude-sonnet-4-0",
276
- "claude-3-7-sonnet": "claude-3-7-sonnet-latest",
277
- "claude-3-5-haiku": "claude-3-5-haiku-latest",
278
- "claude-3-haiku": "claude-3-haiku-20240307"
279
- }
280
- },
281
- "openai": {
282
- "enabled": false,
283
- "type": "OpenAiProvider",
284
- "base_url": "https://api.openai.com",
285
- "api_key": "$OPENAI_API_KEY",
286
- "models": {
287
- "gpt-5-pro": "openai/gpt-5-pro",
288
- "gpt-5-codex": "gpt-5-codex",
289
- "gpt-audio": "gpt-audio",
290
- "gpt-realtime": "gpt-realtime",
291
- "gpt-5-nano": "gpt-5-nano",
292
- "gpt-5-mini": "gpt-5-mini",
293
- "gpt-5": "gpt-5",
294
- "gpt-5-chat-latest": "gpt-5-chat-latest",
295
- "o4-mini-deep-research": "o4-mini-deep-research",
296
- "codex-mini-latest": "codex-mini-latest",
297
- "gpt-image-1": "gpt-image-1",
298
- "gpt-4.1-nano": "gpt-4.1-nano",
299
- "gpt-4.1-mini": "gpt-4.1-mini",
300
- "gpt-4.1": "gpt-4.1",
301
- "o4-mini": "o4-mini",
302
- "o3": "o3",
303
- "gpt-4o-mini-tts": "gpt-4o-mini-tts",
304
- "o1-pro": "o1-pro",
305
- "gpt-4o-mini-transcribe": "gpt-4o-mini-transcribe",
306
- "gpt-4o-transcribe": "gpt-4o-transcribe",
307
- "gpt-4o-mini-search-preview": "gpt-4o-mini-search-preview",
308
- "gpt-4o-search-preview": "gpt-4o-search-preview",
309
- "o3-mini": "o3-mini",
310
- "o1": "o1",
311
- "omni-moderation-latest": "omni-moderation-latest",
312
- "gpt-4o-realtime-preview": "gpt-4o-realtime-preview",
313
- "gpt-4o-audio-preview": "gpt-4o-audio-preview",
314
- "gpt-4o-mini-audio-preview": "gpt-4o-mini-audio-preview",
315
- "o1-mini": "o1-mini",
316
- "chatgpt-4o-latest": "chatgpt-4o-latest",
317
- "gpt-4o-mini": "gpt-4o-mini",
318
- "gpt-4o": "gpt-4o",
319
- "gpt-4-turbo": "gpt-4-turbo",
320
- "text-embedding-3-large": "text-embedding-3-large",
321
- "text-embedding-3-small": "text-embedding-3-small",
322
- "tts-1-hd": "tts-1-hd",
323
- "gpt-3.5-turbo-instruct": "gpt-3.5-turbo-instruct",
324
- "babbage-002": "babbage-002",
325
- "davinci-002": "davinci-002",
326
- "gpt-4": "gpt-4",
327
- "tts-1": "tts-1",
328
- "gpt-3.5-turbo": "gpt-3.5-turbo"
329
- }
330
- },
331
- "grok": {
332
- "enabled": false,
333
- "type": "OpenAiProvider",
334
- "base_url": "https://api.x.ai",
335
- "api_key": "$GROK_API_KEY",
336
- "models": {
337
- "grok-4": "grok-4-0709",
338
- "grok-code-fast-1": "grok-code-fast-1",
339
- "grok-4-fast-reasoning": "grok-4-fast-reasoning",
340
- "grok-4-fast-non-reasoning": "grok-4-fast-non-reasoning",
341
- "grok-4-0709": "grok-4-0709",
342
- "grok-3-mini": "grok-3-mini",
343
- "grok-3": "grok-3"
344
- }
345
- },
346
- "qwen": {
347
- "enabled": false,
348
- "type": "OpenAiProvider",
349
- "base_url": "https://dashscope-intl.aliyuncs.com/compatible-mode",
350
- "api_key": "$DASHSCOPE_API_KEY",
351
- "models": {
352
- "qwen2.5vl": "qwen2.5-vl-7b-instruct",
353
- "qwen3-max": "qwen3-max",
354
- "qwen-max": "qwen-max",
355
- "qwen-plus": "qwen-plus",
356
- "qwen-flash": "qwen-flash",
357
- "qwq-plus": "qwq-plus",
358
- "qwen-turbo": "qwen-turbo",
359
- "qvq-max": "qvq-max",
360
- "qwen-vl-max": "qwen-vl-max",
361
- "qwen3-vl-plus": "qwen3-vl-plus",
362
- "qwen-vl-plus": "qwen-vl-plus",
363
- "qwen3-omni-flash": "qwen3-omni-flash",
364
- "qwen-omni-turbo": "qwen-omni-turbo",
365
- "qwen3-omni-flash-realtime": "qwen3-omni-flash-realtime",
366
- "qwen-omni-turbo-realtime": "qwen-omni-turbo-realtime",
367
- "qwen3-omni-captioner:30b": "qwen3-omni-30b-a3b-captioner",
368
- "qwen-vl-ocr": "qwen-vl-ocr",
369
- "qwen3-asr-flash": "qwen3-asr-flash",
370
- "qwen3-coder-plus": "qwen3-coder-plus",
371
- "qwen3-coder-flash": "qwen3-coder-flash",
372
- "qwen-plus-character-ja": "qwen-plus-character-ja",
373
- "qwen3-next-thinking:80b": "qwen3-next-80b-a3b-thinking",
374
- "qwen3-next:80b": "qwen3-next-80b-a3b-instruct",
375
- "qwen3:235b": "qwen3-235b-a22b",
376
- "qwen3:32b": "qwen3-32b",
377
- "qwen3:30b": "qwen3-30b-a3b",
378
- "qwen3:14b": "qwen3-14b",
379
- "qwen3:8b": "qwen3-8b",
380
- "qwen3:4b": "qwen3-4b",
381
- "qwen3:1.7b": "qwen3-1.7b",
382
- "qwen3:0.6b": "qwen3-0.6b",
383
- "qwen2.5:72b": "qwen2.5-72b-instruct",
384
- "qwen2.5:32b": "qwen2.5-32b-instruct",
385
- "qwen2.5:14b": "qwen2.5-14b-instruct",
386
- "qwen2.5:7b": "qwen2.5-7b-instruct",
387
- "qwen3-coder": "qwen3-coder-480b-a35b-instruct",
388
- "qwen3-coder:30b": "qwen3-coder-30b-a3b-instruct",
389
- "qwen3-vl-thinking:235b": "qwen3-vl-235b-a22b-thinking",
390
- "qwen3-vl:235b": "qwen3-vl-235b-a22b-instruct",
391
- "qwen3-vl:30b": "qwen3-vl-30b-a3b-instruct",
392
- "qwen2.5-vl:72b": "qwen2.5-vl-72b-instruct",
393
- "qwen2.5-vl:32b": "qwen2.5-vl-32b-instruct",
394
- "qwen2.5-vl:7b": "qwen2.5-vl-7b-instruct",
395
- "qwen2.5-vl:3b": "qwen2.5-vl-3b-instruct",
396
- "qwen2.5-omni:7b": "qwen2.5-omni-7b"
397
- },
398
- "enable_thinking": false
399
- },
400
- "z.ai": {
401
- "enabled": false,
402
- "type": "OpenAiProvider",
403
- "base_url": "https://api.z.ai/api/paas/v4",
404
- "api_key": "$ZAI_API_KEY",
405
- "models": {
406
- "glm-4.6": "glm-4.6",
407
- "glm-4.5": "glm-4.5",
408
- "glm-4.5-air": "glm-4.5-air",
409
- "glm-4.5-x": "glm-4.5-x",
410
- "glm-4.5-airx": "glm-4.5-airx",
411
- "glm-4.5-flash": "glm-4.5-flash",
412
- "glm-4:32b": "glm-4-32b-0414-128k"
413
- },
414
- "temperature": 0.7
415
- },
416
- "mistral": {
417
- "enabled": false,
418
- "type": "OpenAiProvider",
419
- "base_url": "https://api.mistral.ai",
420
- "api_key": "$MISTRAL_API_KEY",
421
- "models": {
422
- "mistral-medium": "mistral-medium-latest",
423
- "magistral-medium": "magistral-medium-latest",
424
- "devstral-medium": "devstral-medium-2507",
425
- "codestral:22b": "codestral-latest",
426
- "mistral-ocr": "mistral-ocr-latest",
427
- "mistral-small3.2:24b": "mistral-small-latest",
428
- "magistral-small": "magistral-small-latest",
429
- "devstral-small": "devstral-small-2507",
430
- "voxtral-small": "voxtral-small-latest",
431
- "voxtral-mini": "voxtral-mini-latest",
432
- "codestral-embed": "codestral-embed-2505",
433
- "mistral-embed": "mistral-embed",
434
- "mistral-large:123b": "mistral-large-latest",
435
- "pixtral-large:124b": "pixtral-large-latest",
436
- "pixtral:12b": "pixtral-12b",
437
- "mistral-nemo:12b": "open-mistral-nemo",
438
- "mistral-saba": "mistral-saba-latest",
439
- "mistral:7b": "open-mistral-7b",
440
- "mixtral:8x7b": "open-mixtral-8x7b",
441
- "mixtral:8x22b": "open-mixtral-8x22b",
442
- "ministral:8b": "ministral-8b-latest",
443
- "ministral:3b": "ministral-3b-latest"
444
- }
445
- }
446
- }
447
- }
@@ -1 +0,0 @@
1
- aiohttp
@@ -1,23 +0,0 @@
1
- export default {
2
- template:`
3
- <div class="flex-shrink-0 px-4 py-4 border-b border-gray-200 bg-white min-h-16 select-none">
4
- <div class="flex items-center justify-between">
5
- <button type="button"
6
- @click="$emit('home')"
7
- class="text-lg font-semibold text-gray-900 hover:text-blue-600 focus:outline-none transition-colors"
8
- title="Go back to initial state"
9
- >
10
- History
11
- </button>
12
- <button type="button"
13
- @click="$emit('new')"
14
- class="text-gray-900 hover:text-blue-600 focus:outline-none transition-colors"
15
- title="New Chat"
16
- >
17
- <svg class="size-6" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"/></g></svg>
18
- </button>
19
- </div>
20
- </div>
21
- `,
22
- emits:['home','new'],
23
- }
@@ -1,29 +0,0 @@
1
- import ProviderStatus from "./ProviderStatus.mjs";
2
-
3
- export default {
4
- components: {
5
- ProviderStatus,
6
- },
7
- template:`
8
- <!-- Model Selector -->
9
- <div class="pl-1 flex space-x-2">
10
- <Autocomplete id="model" :options="models" label=""
11
- :modelValue="modelValue" @update:modelValue="$emit('update:modelValue', $event)"
12
- class="w-72 xl:w-84"
13
- :match="(x, value) => x.toLowerCase().includes(value.toLowerCase())"
14
- placeholder="Select Model...">
15
- <template #item="{ value }">
16
- <div class="truncate max-w-72" :title="value">{{value}}</div>
17
- </template>
18
- </Autocomplete>
19
- <ProviderStatus @updated="$emit('updated', $event)" />
20
- </div>
21
- `,
22
- emits: ['updated', 'update:modelValue'],
23
- props: {
24
- models: Array,
25
- modelValue: String,
26
- },
27
- setup() {
28
- }
29
- }