@lobehub/chat 1.111.0 → 1.111.2
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.
- package/.cursor/rules/code-review.mdc +2 -19
- package/.cursor/rules/cursor-ux.mdc +0 -72
- package/.cursor/rules/project-introduce.mdc +5 -5
- package/.cursor/rules/react-component.mdc +92 -73
- package/.cursor/rules/rules-attach.mdc +28 -61
- package/.cursor/rules/system-role.mdc +8 -20
- package/.cursor/rules/typescript.mdc +55 -14
- package/CHANGELOG.md +50 -0
- package/changelog/v1.json +14 -0
- package/package.json +1 -1
- package/packages/types/src/aiModel.ts +67 -46
- package/packages/types/src/llm.ts +3 -3
- package/src/app/[variants]/(main)/discover/(detail)/model/[...slugs]/features/Details/Overview/ProviderList/index.tsx +23 -12
- package/src/app/[variants]/(main)/discover/(detail)/provider/[...slugs]/features/Details/Overview/ModelList/index.tsx +23 -10
- package/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelItem.tsx +21 -12
- package/src/config/aiModels/ai21.ts +8 -4
- package/src/config/aiModels/ai360.ts +28 -14
- package/src/config/aiModels/aihubmix.ts +174 -86
- package/src/config/aiModels/anthropic.ts +97 -38
- package/src/config/aiModels/azure.ts +54 -32
- package/src/config/aiModels/azureai.ts +63 -37
- package/src/config/aiModels/baichuan.ts +24 -12
- package/src/config/aiModels/bedrock.ts +60 -30
- package/src/config/aiModels/cohere.ts +60 -30
- package/src/config/aiModels/deepseek.ts +10 -6
- package/src/config/aiModels/fal.ts +43 -6
- package/src/config/aiModels/fireworksai.ts +88 -44
- package/src/config/aiModels/giteeai.ts +1 -1
- package/src/config/aiModels/github.ts +44 -26
- package/src/config/aiModels/google.ts +119 -68
- package/src/config/aiModels/groq.ts +48 -24
- package/src/config/aiModels/higress.ts +617 -310
- package/src/config/aiModels/hunyuan.ts +105 -54
- package/src/config/aiModels/infiniai.ts +104 -52
- package/src/config/aiModels/internlm.ts +16 -8
- package/src/config/aiModels/jina.ts +4 -2
- package/src/config/aiModels/minimax.ts +11 -10
- package/src/config/aiModels/mistral.ts +40 -20
- package/src/config/aiModels/moonshot.ts +42 -22
- package/src/config/aiModels/novita.ts +196 -98
- package/src/config/aiModels/openai.ts +270 -137
- package/src/config/aiModels/openrouter.ts +205 -100
- package/src/config/aiModels/perplexity.ts +36 -6
- package/src/config/aiModels/ppio.ts +76 -38
- package/src/config/aiModels/qwen.ts +257 -133
- package/src/config/aiModels/sambanova.ts +56 -28
- package/src/config/aiModels/sensenova.ts +100 -50
- package/src/config/aiModels/siliconcloud.ts +224 -112
- package/src/config/aiModels/stepfun.ts +44 -22
- package/src/config/aiModels/taichu.ts +8 -4
- package/src/config/aiModels/tencentcloud.ts +12 -6
- package/src/config/aiModels/upstage.ts +8 -4
- package/src/config/aiModels/v0.ts +15 -12
- package/src/config/aiModels/vertexai.ts +49 -27
- package/src/config/aiModels/volcengine.ts +110 -51
- package/src/config/aiModels/wenxin.ts +179 -73
- package/src/config/aiModels/xai.ts +33 -19
- package/src/config/aiModels/zeroone.ts +48 -24
- package/src/config/aiModels/zhipu.ts +118 -69
- package/src/config/modelProviders/ai21.ts +0 -8
- package/src/config/modelProviders/ai360.ts +0 -20
- package/src/config/modelProviders/anthropic.ts +0 -56
- package/src/config/modelProviders/baichuan.ts +0 -30
- package/src/config/modelProviders/bedrock.ts +0 -74
- package/src/config/modelProviders/deepseek.ts +0 -13
- package/src/config/modelProviders/fireworksai.ts +0 -88
- package/src/config/modelProviders/google.ts +0 -59
- package/src/config/modelProviders/groq.ts +0 -48
- package/src/config/modelProviders/higress.ts +0 -727
- package/src/config/modelProviders/hunyuan.ts +0 -45
- package/src/config/modelProviders/infiniai.ts +0 -60
- package/src/config/modelProviders/internlm.ts +0 -8
- package/src/config/modelProviders/mistral.ts +0 -48
- package/src/config/modelProviders/modelscope.ts +2 -1
- package/src/config/modelProviders/openai.ts +5 -100
- package/src/config/modelProviders/openrouter.ts +0 -77
- package/src/config/modelProviders/ppio.ts +0 -95
- package/src/config/modelProviders/qwen.ts +0 -165
- package/src/config/modelProviders/sensenova.ts +0 -45
- package/src/config/modelProviders/siliconcloud.ts +0 -266
- package/src/config/modelProviders/stepfun.ts +0 -60
- package/src/config/modelProviders/taichu.ts +0 -10
- package/src/config/modelProviders/wenxin.ts +0 -90
- package/src/config/modelProviders/xai.ts +0 -16
- package/src/config/modelProviders/zeroone.ts +0 -60
- package/src/config/modelProviders/zhipu.ts +0 -80
- package/src/features/Conversation/Extras/Usage/UsageDetail/ModelCard.tsx +4 -3
- package/src/features/Conversation/Extras/Usage/UsageDetail/pricing.ts +25 -15
- package/src/features/Conversation/Extras/Usage/UsageDetail/tokens.test.ts +7 -5
- package/src/features/Conversation/Extras/Usage/UsageDetail/tokens.ts +6 -5
- package/src/libs/model-runtime/fal/index.ts +8 -2
- package/src/libs/model-runtime/utils/openaiCompatibleFactory/index.test.ts +54 -8
- package/src/server/routers/lambda/agent.ts +2 -2
- package/src/server/routers/lambda/config/__snapshots__/index.test.ts.snap +0 -28
- package/src/server/services/discover/index.ts +7 -6
- package/src/server/services/user/index.ts +1 -2
- package/src/utils/__snapshots__/parseModels.test.ts.snap +28 -4
- package/src/utils/_deprecated/__snapshots__/parseModels.test.ts.snap +0 -8
- package/src/utils/parseModels.test.ts +60 -9
- package/src/utils/pricing.test.ts +183 -0
- package/src/utils/pricing.ts +90 -0
@@ -16,10 +16,17 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
16
16
|
id: 'claude-opus-4-1-20250805',
|
17
17
|
maxOutput: 32_000,
|
18
18
|
pricing: {
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
units: [
|
20
|
+
{ name: 'textInput_cacheRead', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
|
21
|
+
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
22
|
+
{ name: 'textOutput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
|
23
|
+
{
|
24
|
+
lookup: { prices: { '1h': 30, '5m': 18.75 }, pricingParams: ['ttl'] },
|
25
|
+
name: 'textInput_cacheWrite',
|
26
|
+
strategy: 'lookup',
|
27
|
+
unit: 'millionTokens',
|
28
|
+
},
|
29
|
+
],
|
23
30
|
},
|
24
31
|
releasedAt: '2025-08-05',
|
25
32
|
settings: {
|
@@ -42,10 +49,17 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
42
49
|
id: 'claude-opus-4-20250514',
|
43
50
|
maxOutput: 32_000,
|
44
51
|
pricing: {
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
52
|
+
units: [
|
53
|
+
{ name: 'textInput_cacheRead', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
|
54
|
+
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
55
|
+
{ name: 'textOutput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
|
56
|
+
{
|
57
|
+
lookup: { prices: { '1h': 30, '5m': 18.75 }, pricingParams: ['ttl'] },
|
58
|
+
name: 'textInput_cacheWrite',
|
59
|
+
strategy: 'lookup',
|
60
|
+
unit: 'millionTokens',
|
61
|
+
},
|
62
|
+
],
|
49
63
|
},
|
50
64
|
releasedAt: '2025-05-23',
|
51
65
|
settings: {
|
@@ -69,10 +83,17 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
69
83
|
id: 'claude-sonnet-4-20250514',
|
70
84
|
maxOutput: 64_000,
|
71
85
|
pricing: {
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
86
|
+
units: [
|
87
|
+
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
|
88
|
+
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
|
89
|
+
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
90
|
+
{
|
91
|
+
lookup: { prices: { '1h': 6, '5m': 3.75 }, pricingParams: ['ttl'] },
|
92
|
+
name: 'textInput_cacheWrite',
|
93
|
+
strategy: 'lookup',
|
94
|
+
unit: 'millionTokens',
|
95
|
+
},
|
96
|
+
],
|
76
97
|
},
|
77
98
|
releasedAt: '2025-05-23',
|
78
99
|
settings: {
|
@@ -96,10 +117,17 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
96
117
|
id: 'claude-3-7-sonnet-20250219',
|
97
118
|
maxOutput: 64_000,
|
98
119
|
pricing: {
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
120
|
+
units: [
|
121
|
+
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
|
122
|
+
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
|
123
|
+
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
124
|
+
{
|
125
|
+
lookup: { prices: { '1h': 6, '5m': 3.75 }, pricingParams: ['ttl'] },
|
126
|
+
name: 'textInput_cacheWrite',
|
127
|
+
strategy: 'lookup',
|
128
|
+
unit: 'millionTokens',
|
129
|
+
},
|
130
|
+
],
|
103
131
|
},
|
104
132
|
releasedAt: '2025-02-24',
|
105
133
|
settings: {
|
@@ -121,10 +149,17 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
121
149
|
id: 'claude-3-5-sonnet-20241022',
|
122
150
|
maxOutput: 8192,
|
123
151
|
pricing: {
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
152
|
+
units: [
|
153
|
+
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
|
154
|
+
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
|
155
|
+
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
156
|
+
{
|
157
|
+
lookup: { prices: { '1h': 6, '5m': 3.75 }, pricingParams: ['ttl'] },
|
158
|
+
name: 'textInput_cacheWrite',
|
159
|
+
strategy: 'lookup',
|
160
|
+
unit: 'millionTokens',
|
161
|
+
},
|
162
|
+
],
|
128
163
|
},
|
129
164
|
releasedAt: '2024-10-22',
|
130
165
|
settings: {
|
@@ -145,10 +180,17 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
145
180
|
id: 'claude-3-5-sonnet-20240620',
|
146
181
|
maxOutput: 8192,
|
147
182
|
pricing: {
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
183
|
+
units: [
|
184
|
+
{ name: 'textInput_cacheRead', rate: 0.3, strategy: 'fixed', unit: 'millionTokens' },
|
185
|
+
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
|
186
|
+
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
187
|
+
{
|
188
|
+
lookup: { prices: { '1h': 6, '5m': 3.75 }, pricingParams: ['ttl'] },
|
189
|
+
name: 'textInput_cacheWrite',
|
190
|
+
strategy: 'lookup',
|
191
|
+
unit: 'millionTokens',
|
192
|
+
},
|
193
|
+
],
|
152
194
|
},
|
153
195
|
releasedAt: '2024-06-20',
|
154
196
|
settings: {
|
@@ -170,10 +212,17 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
170
212
|
id: 'claude-3-5-haiku-20241022',
|
171
213
|
maxOutput: 8192,
|
172
214
|
pricing: {
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
215
|
+
units: [
|
216
|
+
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
|
217
|
+
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
|
218
|
+
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
|
219
|
+
{
|
220
|
+
lookup: { prices: { '1h': 1.6, '5m': 1 }, pricingParams: ['ttl'] },
|
221
|
+
name: 'textInput_cacheWrite',
|
222
|
+
strategy: 'lookup',
|
223
|
+
unit: 'millionTokens',
|
224
|
+
},
|
225
|
+
],
|
177
226
|
},
|
178
227
|
releasedAt: '2024-11-05',
|
179
228
|
settings: {
|
@@ -193,8 +242,10 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
193
242
|
id: 'claude-3-haiku-20240307',
|
194
243
|
maxOutput: 4096,
|
195
244
|
pricing: {
|
196
|
-
|
197
|
-
|
245
|
+
units: [
|
246
|
+
{ name: 'textInput', rate: 0.25, strategy: 'fixed', unit: 'millionTokens' },
|
247
|
+
{ name: 'textOutput', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
|
248
|
+
],
|
198
249
|
},
|
199
250
|
releasedAt: '2024-03-07',
|
200
251
|
settings: {
|
@@ -214,8 +265,10 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
214
265
|
id: 'claude-3-sonnet-20240229', // 弃用日期 2025年7月21日
|
215
266
|
maxOutput: 4096,
|
216
267
|
pricing: {
|
217
|
-
|
218
|
-
|
268
|
+
units: [
|
269
|
+
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
|
270
|
+
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
271
|
+
],
|
219
272
|
},
|
220
273
|
releasedAt: '2024-02-29',
|
221
274
|
type: 'chat',
|
@@ -232,8 +285,10 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
232
285
|
id: 'claude-3-opus-20240229',
|
233
286
|
maxOutput: 4096,
|
234
287
|
pricing: {
|
235
|
-
|
236
|
-
|
288
|
+
units: [
|
289
|
+
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
290
|
+
{ name: 'textOutput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
|
291
|
+
],
|
237
292
|
},
|
238
293
|
releasedAt: '2024-02-29',
|
239
294
|
settings: {
|
@@ -249,8 +304,10 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
249
304
|
id: 'claude-2.1', // 弃用日期 2025年7月21日
|
250
305
|
maxOutput: 4096,
|
251
306
|
pricing: {
|
252
|
-
|
253
|
-
|
307
|
+
units: [
|
308
|
+
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
|
309
|
+
{ name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
|
310
|
+
],
|
254
311
|
},
|
255
312
|
releasedAt: '2023-11-21',
|
256
313
|
type: 'chat',
|
@@ -263,8 +320,10 @@ const anthropicChatModels: AIChatModelCard[] = [
|
|
263
320
|
id: 'claude-2.0', // 弃用日期 2025年7月21日
|
264
321
|
maxOutput: 4096,
|
265
322
|
pricing: {
|
266
|
-
|
267
|
-
|
323
|
+
units: [
|
324
|
+
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
|
325
|
+
{ name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
|
326
|
+
],
|
268
327
|
},
|
269
328
|
releasedAt: '2023-07-11',
|
270
329
|
type: 'chat',
|
@@ -18,9 +18,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
18
18
|
id: 'o3',
|
19
19
|
maxOutput: 100_000,
|
20
20
|
pricing: {
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
units: [
|
22
|
+
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
|
23
|
+
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
|
24
|
+
{ name: 'textOutput', rate: 40, strategy: 'fixed', unit: 'millionTokens' },
|
25
|
+
],
|
24
26
|
},
|
25
27
|
releasedAt: '2025-04-17',
|
26
28
|
type: 'chat',
|
@@ -42,9 +44,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
42
44
|
id: 'o4-mini',
|
43
45
|
maxOutput: 100_000,
|
44
46
|
pricing: {
|
45
|
-
|
46
|
-
|
47
|
-
|
47
|
+
units: [
|
48
|
+
{ name: 'textInput_cacheRead', rate: 0.275, strategy: 'fixed', unit: 'millionTokens' },
|
49
|
+
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
|
50
|
+
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
|
51
|
+
],
|
48
52
|
},
|
49
53
|
releasedAt: '2025-04-17',
|
50
54
|
type: 'chat',
|
@@ -64,9 +68,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
64
68
|
id: 'gpt-4.1',
|
65
69
|
maxOutput: 32_768,
|
66
70
|
pricing: {
|
67
|
-
|
68
|
-
|
69
|
-
|
71
|
+
units: [
|
72
|
+
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
|
73
|
+
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
|
74
|
+
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
|
75
|
+
],
|
70
76
|
},
|
71
77
|
releasedAt: '2025-04-14',
|
72
78
|
type: 'chat',
|
@@ -87,9 +93,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
87
93
|
id: 'gpt-4.1-mini',
|
88
94
|
maxOutput: 32_768,
|
89
95
|
pricing: {
|
90
|
-
|
91
|
-
|
92
|
-
|
96
|
+
units: [
|
97
|
+
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
|
98
|
+
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
|
99
|
+
{ name: 'textOutput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
|
100
|
+
],
|
93
101
|
},
|
94
102
|
releasedAt: '2025-04-14',
|
95
103
|
type: 'chat',
|
@@ -109,9 +117,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
109
117
|
id: 'gpt-4.1-nano',
|
110
118
|
maxOutput: 32_768,
|
111
119
|
pricing: {
|
112
|
-
|
113
|
-
|
114
|
-
|
120
|
+
units: [
|
121
|
+
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
|
122
|
+
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
|
123
|
+
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
|
124
|
+
],
|
115
125
|
},
|
116
126
|
releasedAt: '2025-04-14',
|
117
127
|
type: 'chat',
|
@@ -131,9 +141,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
131
141
|
id: 'o3-mini',
|
132
142
|
maxOutput: 100_000,
|
133
143
|
pricing: {
|
134
|
-
|
135
|
-
|
136
|
-
|
144
|
+
units: [
|
145
|
+
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
|
146
|
+
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
|
147
|
+
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
|
148
|
+
],
|
137
149
|
},
|
138
150
|
releasedAt: '2025-01-31',
|
139
151
|
type: 'chat',
|
@@ -152,9 +164,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
152
164
|
id: 'o1-mini',
|
153
165
|
maxOutput: 65_536,
|
154
166
|
pricing: {
|
155
|
-
|
156
|
-
|
157
|
-
|
167
|
+
units: [
|
168
|
+
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
|
169
|
+
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
|
170
|
+
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
|
171
|
+
],
|
158
172
|
},
|
159
173
|
releasedAt: '2024-09-12',
|
160
174
|
type: 'chat',
|
@@ -173,9 +187,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
173
187
|
id: 'o1',
|
174
188
|
maxOutput: 100_000,
|
175
189
|
pricing: {
|
176
|
-
|
177
|
-
|
178
|
-
|
190
|
+
units: [
|
191
|
+
{ name: 'textInput_cacheRead', rate: 7.5, strategy: 'fixed', unit: 'millionTokens' },
|
192
|
+
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
193
|
+
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
|
194
|
+
],
|
179
195
|
},
|
180
196
|
releasedAt: '2024-12-17',
|
181
197
|
type: 'chat',
|
@@ -194,8 +210,10 @@ const azureChatModels: AIChatModelCard[] = [
|
|
194
210
|
id: 'o1-preview',
|
195
211
|
maxOutput: 32_768,
|
196
212
|
pricing: {
|
197
|
-
|
198
|
-
|
213
|
+
units: [
|
214
|
+
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
215
|
+
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
|
216
|
+
],
|
199
217
|
},
|
200
218
|
releasedAt: '2024-09-12',
|
201
219
|
type: 'chat',
|
@@ -216,9 +234,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
216
234
|
id: 'gpt-4o',
|
217
235
|
maxOutput: 4096,
|
218
236
|
pricing: {
|
219
|
-
|
220
|
-
|
221
|
-
|
237
|
+
units: [
|
238
|
+
{ name: 'textInput_cacheRead', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
|
239
|
+
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
|
240
|
+
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
|
241
|
+
],
|
222
242
|
},
|
223
243
|
releasedAt: '2024-05-13',
|
224
244
|
type: 'chat',
|
@@ -252,9 +272,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
252
272
|
id: 'gpt-4o-mini',
|
253
273
|
maxOutput: 4096,
|
254
274
|
pricing: {
|
255
|
-
|
256
|
-
|
257
|
-
|
275
|
+
units: [
|
276
|
+
{ name: 'textInput_cacheRead', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
|
277
|
+
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
|
278
|
+
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
|
279
|
+
],
|
258
280
|
},
|
259
281
|
type: 'chat',
|
260
282
|
},
|
@@ -9,8 +9,10 @@ const azureChatModels: AIChatModelCard[] = [
|
|
9
9
|
displayName: 'DeepSeek R1',
|
10
10
|
id: 'DeepSeek-R1',
|
11
11
|
pricing: {
|
12
|
-
|
13
|
-
|
12
|
+
units: [
|
13
|
+
{ name: 'textInput', rate: 1.35, strategy: 'fixed', unit: 'millionTokens' },
|
14
|
+
{ name: 'textOutput', rate: 5.4, strategy: 'fixed', unit: 'millionTokens' },
|
15
|
+
],
|
14
16
|
},
|
15
17
|
type: 'chat',
|
16
18
|
},
|
@@ -22,8 +24,10 @@ const azureChatModels: AIChatModelCard[] = [
|
|
22
24
|
displayName: 'DeepSeek V3',
|
23
25
|
id: 'DeepSeek-V3',
|
24
26
|
pricing: {
|
25
|
-
|
26
|
-
|
27
|
+
units: [
|
28
|
+
{ name: 'textInput', rate: 1.14, strategy: 'fixed', unit: 'millionTokens' },
|
29
|
+
{ name: 'textOutput', rate: 4.56, strategy: 'fixed', unit: 'millionTokens' },
|
30
|
+
],
|
27
31
|
},
|
28
32
|
type: 'chat',
|
29
33
|
},
|
@@ -40,9 +44,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
40
44
|
id: 'o3',
|
41
45
|
maxOutput: 100_000,
|
42
46
|
pricing: {
|
43
|
-
|
44
|
-
|
45
|
-
|
47
|
+
units: [
|
48
|
+
{ name: 'textInput_cacheRead', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
|
49
|
+
{ name: 'textInput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
|
50
|
+
{ name: 'textOutput', rate: 40, strategy: 'fixed', unit: 'millionTokens' },
|
51
|
+
],
|
46
52
|
},
|
47
53
|
releasedAt: '2025-04-17',
|
48
54
|
type: 'chat',
|
@@ -60,9 +66,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
60
66
|
id: 'o4-mini',
|
61
67
|
maxOutput: 100_000,
|
62
68
|
pricing: {
|
63
|
-
|
64
|
-
|
65
|
-
|
69
|
+
units: [
|
70
|
+
{ name: 'textInput_cacheRead', rate: 0.275, strategy: 'fixed', unit: 'millionTokens' },
|
71
|
+
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
|
72
|
+
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
|
73
|
+
],
|
66
74
|
},
|
67
75
|
releasedAt: '2025-04-17',
|
68
76
|
type: 'chat',
|
@@ -79,9 +87,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
79
87
|
id: 'gpt-4.1',
|
80
88
|
maxOutput: 32_768,
|
81
89
|
pricing: {
|
82
|
-
|
83
|
-
|
84
|
-
|
90
|
+
units: [
|
91
|
+
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
|
92
|
+
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
|
93
|
+
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
|
94
|
+
],
|
85
95
|
},
|
86
96
|
releasedAt: '2025-04-14',
|
87
97
|
type: 'chat',
|
@@ -99,9 +109,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
99
109
|
id: 'gpt-4.1-mini',
|
100
110
|
maxOutput: 32_768,
|
101
111
|
pricing: {
|
102
|
-
|
103
|
-
|
104
|
-
|
112
|
+
units: [
|
113
|
+
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
|
114
|
+
{ name: 'textInput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
|
115
|
+
{ name: 'textOutput', rate: 1.6, strategy: 'fixed', unit: 'millionTokens' },
|
116
|
+
],
|
105
117
|
},
|
106
118
|
releasedAt: '2025-04-14',
|
107
119
|
type: 'chat',
|
@@ -118,9 +130,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
118
130
|
id: 'gpt-4.1-nano',
|
119
131
|
maxOutput: 32_768,
|
120
132
|
pricing: {
|
121
|
-
|
122
|
-
|
123
|
-
|
133
|
+
units: [
|
134
|
+
{ name: 'textInput_cacheRead', rate: 0.025, strategy: 'fixed', unit: 'millionTokens' },
|
135
|
+
{ name: 'textInput', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
|
136
|
+
{ name: 'textOutput', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
|
137
|
+
],
|
124
138
|
},
|
125
139
|
releasedAt: '2025-04-14',
|
126
140
|
type: 'chat',
|
@@ -135,9 +149,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
135
149
|
displayName: 'GPT 4.5 Preview',
|
136
150
|
id: 'gpt-4.5-preview',
|
137
151
|
pricing: {
|
138
|
-
|
139
|
-
|
140
|
-
|
152
|
+
units: [
|
153
|
+
{ name: 'textInput_cacheRead', rate: 37.5, strategy: 'fixed', unit: 'millionTokens' },
|
154
|
+
{ name: 'textInput', rate: 75, strategy: 'fixed', unit: 'millionTokens' },
|
155
|
+
{ name: 'textOutput', rate: 150, strategy: 'fixed', unit: 'millionTokens' },
|
156
|
+
],
|
141
157
|
},
|
142
158
|
releasedAt: '2025-02-27',
|
143
159
|
type: 'chat',
|
@@ -153,9 +169,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
153
169
|
displayName: 'o3-mini',
|
154
170
|
id: 'o3-mini',
|
155
171
|
pricing: {
|
156
|
-
|
157
|
-
|
158
|
-
|
172
|
+
units: [
|
173
|
+
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
|
174
|
+
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
|
175
|
+
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
|
176
|
+
],
|
159
177
|
},
|
160
178
|
releasedAt: '2025-01-31',
|
161
179
|
type: 'chat',
|
@@ -170,9 +188,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
170
188
|
displayName: 'o1-mini',
|
171
189
|
id: 'o1-mini',
|
172
190
|
pricing: {
|
173
|
-
|
174
|
-
|
175
|
-
|
191
|
+
units: [
|
192
|
+
{ name: 'textInput_cacheRead', rate: 0.55, strategy: 'fixed', unit: 'millionTokens' },
|
193
|
+
{ name: 'textInput', rate: 1.1, strategy: 'fixed', unit: 'millionTokens' },
|
194
|
+
{ name: 'textOutput', rate: 4.4, strategy: 'fixed', unit: 'millionTokens' },
|
195
|
+
],
|
176
196
|
},
|
177
197
|
releasedAt: '2024-09-12',
|
178
198
|
type: 'chat',
|
@@ -187,9 +207,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
187
207
|
displayName: 'o1',
|
188
208
|
id: 'o1',
|
189
209
|
pricing: {
|
190
|
-
|
191
|
-
|
192
|
-
|
210
|
+
units: [
|
211
|
+
{ name: 'textInput_cacheRead', rate: 7.5, strategy: 'fixed', unit: 'millionTokens' },
|
212
|
+
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
213
|
+
{ name: 'textOutput', rate: 60, strategy: 'fixed', unit: 'millionTokens' },
|
214
|
+
],
|
193
215
|
},
|
194
216
|
releasedAt: '2024-12-17',
|
195
217
|
type: 'chat',
|
@@ -206,9 +228,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
206
228
|
id: 'gpt-4o',
|
207
229
|
maxOutput: 4096,
|
208
230
|
pricing: {
|
209
|
-
|
210
|
-
|
211
|
-
|
231
|
+
units: [
|
232
|
+
{ name: 'textInput_cacheRead', rate: 1.25, strategy: 'fixed', unit: 'millionTokens' },
|
233
|
+
{ name: 'textInput', rate: 2.5, strategy: 'fixed', unit: 'millionTokens' },
|
234
|
+
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
|
235
|
+
],
|
212
236
|
},
|
213
237
|
releasedAt: '2024-05-13',
|
214
238
|
type: 'chat',
|
@@ -224,9 +248,11 @@ const azureChatModels: AIChatModelCard[] = [
|
|
224
248
|
id: 'gpt-4o-mini',
|
225
249
|
maxOutput: 16_384,
|
226
250
|
pricing: {
|
227
|
-
|
228
|
-
|
229
|
-
|
251
|
+
units: [
|
252
|
+
{ name: 'textInput_cacheRead', rate: 0.075, strategy: 'fixed', unit: 'millionTokens' },
|
253
|
+
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
|
254
|
+
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
|
255
|
+
],
|
230
256
|
},
|
231
257
|
type: 'chat',
|
232
258
|
},
|
@@ -15,8 +15,10 @@ const baichuanChatModels: AIChatModelCard[] = [
|
|
15
15
|
maxOutput: 4096,
|
16
16
|
pricing: {
|
17
17
|
currency: 'CNY',
|
18
|
-
|
19
|
-
|
18
|
+
units: [
|
19
|
+
{ name: 'textInput', rate: 100, strategy: 'fixed', unit: 'millionTokens' },
|
20
|
+
{ name: 'textOutput', rate: 100, strategy: 'fixed', unit: 'millionTokens' },
|
21
|
+
],
|
20
22
|
},
|
21
23
|
settings: {
|
22
24
|
searchImpl: 'params',
|
@@ -37,8 +39,10 @@ const baichuanChatModels: AIChatModelCard[] = [
|
|
37
39
|
maxOutput: 4096,
|
38
40
|
pricing: {
|
39
41
|
currency: 'CNY',
|
40
|
-
|
41
|
-
|
42
|
+
units: [
|
43
|
+
{ name: 'textInput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
44
|
+
{ name: 'textOutput', rate: 15, strategy: 'fixed', unit: 'millionTokens' },
|
45
|
+
],
|
42
46
|
},
|
43
47
|
settings: {
|
44
48
|
searchImpl: 'params',
|
@@ -59,8 +63,10 @@ const baichuanChatModels: AIChatModelCard[] = [
|
|
59
63
|
maxOutput: 4096,
|
60
64
|
pricing: {
|
61
65
|
currency: 'CNY',
|
62
|
-
|
63
|
-
|
66
|
+
units: [
|
67
|
+
{ name: 'textInput', rate: 0.98, strategy: 'fixed', unit: 'millionTokens' },
|
68
|
+
{ name: 'textOutput', rate: 0.98, strategy: 'fixed', unit: 'millionTokens' },
|
69
|
+
],
|
64
70
|
},
|
65
71
|
settings: {
|
66
72
|
searchImpl: 'params',
|
@@ -80,8 +86,10 @@ const baichuanChatModels: AIChatModelCard[] = [
|
|
80
86
|
maxOutput: 8192,
|
81
87
|
pricing: {
|
82
88
|
currency: 'CNY',
|
83
|
-
|
84
|
-
|
89
|
+
units: [
|
90
|
+
{ name: 'textInput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
|
91
|
+
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
|
92
|
+
],
|
85
93
|
},
|
86
94
|
settings: {
|
87
95
|
searchImpl: 'params',
|
@@ -97,8 +105,10 @@ const baichuanChatModels: AIChatModelCard[] = [
|
|
97
105
|
maxOutput: 4096,
|
98
106
|
pricing: {
|
99
107
|
currency: 'CNY',
|
100
|
-
|
101
|
-
|
108
|
+
units: [
|
109
|
+
{ name: 'textInput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
|
110
|
+
{ name: 'textOutput', rate: 24, strategy: 'fixed', unit: 'millionTokens' },
|
111
|
+
],
|
102
112
|
},
|
103
113
|
type: 'chat',
|
104
114
|
},
|
@@ -111,8 +121,10 @@ const baichuanChatModels: AIChatModelCard[] = [
|
|
111
121
|
maxOutput: 8192,
|
112
122
|
pricing: {
|
113
123
|
currency: 'CNY',
|
114
|
-
|
115
|
-
|
124
|
+
units: [
|
125
|
+
{ name: 'textInput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
|
126
|
+
{ name: 'textOutput', rate: 8, strategy: 'fixed', unit: 'millionTokens' },
|
127
|
+
],
|
116
128
|
},
|
117
129
|
type: 'chat',
|
118
130
|
},
|