@lobehub/chat 1.88.19 → 1.88.21
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/.i18nrc.js +1 -1
- package/CHANGELOG.md +51 -0
- package/changelog/v1.json +18 -0
- package/locales/ar/chat.json +3 -0
- package/locales/ar/models.json +92 -17
- package/locales/ar/setting.json +0 -12
- package/locales/bg-BG/chat.json +3 -0
- package/locales/bg-BG/models.json +92 -17
- package/locales/bg-BG/setting.json +0 -12
- package/locales/de-DE/chat.json +3 -0
- package/locales/de-DE/models.json +92 -17
- package/locales/de-DE/setting.json +0 -12
- package/locales/en-US/chat.json +3 -0
- package/locales/en-US/models.json +92 -17
- package/locales/en-US/setting.json +0 -12
- package/locales/es-ES/chat.json +3 -0
- package/locales/es-ES/models.json +92 -17
- package/locales/es-ES/setting.json +0 -12
- package/locales/fa-IR/chat.json +3 -0
- package/locales/fa-IR/models.json +92 -17
- package/locales/fa-IR/setting.json +0 -12
- package/locales/fr-FR/chat.json +3 -0
- package/locales/fr-FR/models.json +92 -17
- package/locales/fr-FR/setting.json +0 -12
- package/locales/it-IT/chat.json +3 -0
- package/locales/it-IT/models.json +92 -17
- package/locales/it-IT/setting.json +0 -12
- package/locales/ja-JP/chat.json +3 -0
- package/locales/ja-JP/models.json +92 -17
- package/locales/ja-JP/setting.json +0 -12
- package/locales/ko-KR/chat.json +3 -0
- package/locales/ko-KR/models.json +92 -17
- package/locales/ko-KR/setting.json +0 -12
- package/locales/nl-NL/chat.json +3 -0
- package/locales/nl-NL/models.json +92 -17
- package/locales/nl-NL/setting.json +0 -12
- package/locales/pl-PL/chat.json +3 -0
- package/locales/pl-PL/models.json +92 -17
- package/locales/pl-PL/setting.json +0 -12
- package/locales/pt-BR/chat.json +3 -0
- package/locales/pt-BR/models.json +92 -17
- package/locales/pt-BR/setting.json +0 -12
- package/locales/ru-RU/chat.json +3 -0
- package/locales/ru-RU/models.json +92 -17
- package/locales/ru-RU/setting.json +0 -12
- package/locales/tr-TR/chat.json +3 -0
- package/locales/tr-TR/models.json +92 -17
- package/locales/tr-TR/setting.json +0 -12
- package/locales/vi-VN/chat.json +3 -0
- package/locales/vi-VN/models.json +92 -17
- package/locales/vi-VN/setting.json +0 -12
- package/locales/zh-CN/chat.json +3 -0
- package/locales/zh-CN/models.json +89 -14
- package/locales/zh-CN/setting.json +0 -12
- package/locales/zh-TW/chat.json +3 -0
- package/locales/zh-TW/models.json +92 -17
- package/locales/zh-TW/setting.json +0 -12
- package/package.json +1 -1
- package/src/app/[variants]/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesNeutral.tsx +4 -2
- package/src/app/[variants]/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesPrimary.tsx +4 -2
- package/src/config/aiModels/deepseek.ts +5 -3
- package/src/config/aiModels/groq.ts +16 -29
- package/src/config/aiModels/hunyuan.ts +104 -82
- package/src/config/aiModels/novita.ts +27 -121
- package/src/config/aiModels/openai.ts +19 -2
- package/src/config/aiModels/openrouter.ts +59 -47
- package/src/config/aiModels/siliconcloud.ts +73 -39
- package/src/config/aiModels/volcengine.ts +3 -3
- package/src/config/aiModels/xai.ts +2 -0
- package/src/features/AgentSetting/AgentMeta/index.tsx +5 -0
- package/src/features/AgentSetting/AgentModal/index.tsx +1 -26
- package/src/features/ChatInput/ActionBar/Model/ControlsForm.tsx +12 -0
- package/src/features/ChatInput/ActionBar/Model/ReasoningEffortSlider.tsx +57 -0
- package/src/features/ModelSwitchPanel/index.tsx +10 -9
- package/src/features/PluginDevModal/MCPManifestForm/index.tsx +3 -1
- package/src/libs/model-runtime/novita/__snapshots__/index.test.ts.snap +1 -1
- package/src/locales/default/chat.ts +3 -0
- package/src/locales/default/setting.ts +0 -12
- package/src/services/chat.ts +5 -1
- package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +0 -5
- package/src/types/agent/chatConfig.ts +1 -0
- package/src/types/aiModel.ts +5 -1
@@ -1,8 +1,23 @@
|
|
1
1
|
import { AIChatModelCard } from '@/types/aiModel';
|
2
|
-
|
3
2
|
// https://siliconflow.cn/zh-cn/models
|
4
|
-
|
5
3
|
const siliconcloudChatModels: AIChatModelCard[] = [
|
4
|
+
{
|
5
|
+
abilities: {
|
6
|
+
reasoning: true,
|
7
|
+
},
|
8
|
+
contextWindowTokens: 131_072,
|
9
|
+
description:
|
10
|
+
'QwenLong-L1-32B 是首个使用强化学习训练的长上下文大型推理模型(LRM),专门针对长文本推理任务进行优化。该模型通过渐进式上下文扩展的强化学习框架,实现了从短上下文到长上下文的稳定迁移。在七个长上下文文档问答基准测试中,QwenLong-L1-32B 超越了 OpenAI-o3-mini 和 Qwen3-235B-A22B 等旗舰模型,性能可媲美 Claude-3.7-Sonnet-Thinking。该模型特别擅长数学推理、逻辑推理和多跳推理等复杂任务。',
|
11
|
+
displayName: 'QwenLong L1 32B',
|
12
|
+
id: 'Tongyi-Zhiwen/QwenLong-L1-32B',
|
13
|
+
pricing: {
|
14
|
+
currency: 'CNY',
|
15
|
+
input: 1,
|
16
|
+
output: 4,
|
17
|
+
},
|
18
|
+
releasedAt: '2025-05-26',
|
19
|
+
type: 'chat',
|
20
|
+
},
|
6
21
|
{
|
7
22
|
abilities: {
|
8
23
|
functionCall: true,
|
@@ -118,7 +133,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
118
133
|
abilities: {
|
119
134
|
reasoning: true,
|
120
135
|
},
|
121
|
-
contextWindowTokens:
|
136
|
+
contextWindowTokens: 131_072,
|
122
137
|
description:
|
123
138
|
'GLM-Z1-Rumination-32B-0414 是一个具有沉思能力的深度推理模型(与 OpenAI 的 Deep Research 对标)。与典型的深度思考模型不同,沉思模型采用更长时间的深度思考来解决更开放和复杂的问题。',
|
124
139
|
displayName: 'GLM-Z1-Rumination 32B 0414',
|
@@ -135,7 +150,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
135
150
|
functionCall: true,
|
136
151
|
reasoning: true,
|
137
152
|
},
|
138
|
-
contextWindowTokens:
|
153
|
+
contextWindowTokens: 131_072,
|
139
154
|
description:
|
140
155
|
'GLM-Z1-32B-0414 是一个具有深度思考能力的推理模型。该模型基于 GLM-4-32B-0414 通过冷启动和扩展强化学习开发,并在数学、代码和逻辑任务上进行了进一步训练。与基础模型相比,GLM-Z1-32B-0414 显著提升了数学能力和解决复杂任务的能力。',
|
141
156
|
displayName: 'GLM-Z1 32B 0414',
|
@@ -152,11 +167,10 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
152
167
|
functionCall: true,
|
153
168
|
reasoning: true,
|
154
169
|
},
|
155
|
-
contextWindowTokens:
|
170
|
+
contextWindowTokens: 131_072,
|
156
171
|
description:
|
157
172
|
'GLM-Z1-9B-0414 是 GLM 系列的小型模型,仅有 90 亿参数,但保持了开源传统的同时展现出惊人的能力。尽管规模较小,该模型在数学推理和通用任务上仍表现出色,其总体性能在同等规模的开源模型中已处于领先水平。',
|
158
173
|
displayName: 'GLM-Z1 9B 0414',
|
159
|
-
enabled: true,
|
160
174
|
id: 'THUDM/GLM-Z1-9B-0414',
|
161
175
|
pricing: {
|
162
176
|
currency: 'CNY',
|
@@ -202,7 +216,25 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
202
216
|
abilities: {
|
203
217
|
reasoning: true,
|
204
218
|
},
|
205
|
-
contextWindowTokens:
|
219
|
+
contextWindowTokens: 131_072,
|
220
|
+
description:
|
221
|
+
'DeepSeek-R1-0528-Qwen3-8B 是通过从 DeepSeek-R1-0528 模型蒸馏思维链到 Qwen3 8B Base 获得的模型。该模型在开源模型中达到了最先进(SOTA)的性能,在 AIME 2024 测试中超越了 Qwen3 8B 10%,并达到了 Qwen3-235B-thinking 的性能水平。该模型在数学推理、编程和通用逻辑等多个基准测试中表现出色,其架构与 Qwen3-8B 相同,但共享 DeepSeek-R1-0528 的分词器配置。',
|
222
|
+
displayName: 'DeepSeek R1 0528 Qwen3 8B',
|
223
|
+
enabled: true,
|
224
|
+
id: 'deepseek-ai/DeepSeek-R1-0528-Qwen3-8B',
|
225
|
+
pricing: {
|
226
|
+
currency: 'CNY',
|
227
|
+
input: 0,
|
228
|
+
output: 0,
|
229
|
+
},
|
230
|
+
type: 'chat',
|
231
|
+
},
|
232
|
+
{
|
233
|
+
abilities: {
|
234
|
+
functionCall: true,
|
235
|
+
reasoning: true,
|
236
|
+
},
|
237
|
+
contextWindowTokens: 98_304,
|
206
238
|
description:
|
207
239
|
'DeepSeek-R1 是一款强化学习(RL)驱动的推理模型,解决了模型中的重复性和可读性问题。在 RL 之前,DeepSeek-R1 引入了冷启动数据,进一步优化了推理性能。它在数学、代码和推理任务中与 OpenAI-o1 表现相当,并且通过精心设计的训练方法,提升了整体效果。',
|
208
240
|
displayName: 'DeepSeek R1',
|
@@ -232,9 +264,10 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
232
264
|
},
|
233
265
|
{
|
234
266
|
abilities: {
|
267
|
+
functionCall: true,
|
235
268
|
reasoning: true,
|
236
269
|
},
|
237
|
-
contextWindowTokens:
|
270
|
+
contextWindowTokens: 98_304,
|
238
271
|
description:
|
239
272
|
'DeepSeek-R1 是一款强化学习(RL)驱动的推理模型,解决了模型中的重复性和可读性问题。在 RL 之前,DeepSeek-R1 引入了冷启动数据,进一步优化了推理性能。它在数学、代码和推理任务中与 OpenAI-o1 表现相当,并且通过精心设计的训练方法,提升了整体效果。',
|
240
273
|
displayName: 'DeepSeek R1 (Pro)',
|
@@ -246,6 +279,23 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
246
279
|
},
|
247
280
|
type: 'chat',
|
248
281
|
},
|
282
|
+
{
|
283
|
+
abilities: {
|
284
|
+
functionCall: true,
|
285
|
+
reasoning: true,
|
286
|
+
},
|
287
|
+
contextWindowTokens: 98_304,
|
288
|
+
description:
|
289
|
+
'DeepSeek-R1 是一款强化学习(RL)驱动的推理模型,解决了模型中的重复性和可读性问题。在 RL 之前,DeepSeek-R1 引入了冷启动数据,进一步优化了推理性能。它在数学、代码和推理任务中与 OpenAI-o1 表现相当,并且通过精心设计的训练方法,提升了整体效果。',
|
290
|
+
displayName: 'DeepSeek R1 0120 (Pro)',
|
291
|
+
id: 'Pro/deepseek-ai/DeepSeek-R1-0120',
|
292
|
+
pricing: {
|
293
|
+
currency: 'CNY',
|
294
|
+
input: 4,
|
295
|
+
output: 16,
|
296
|
+
},
|
297
|
+
type: 'chat',
|
298
|
+
},
|
249
299
|
{
|
250
300
|
abilities: {
|
251
301
|
functionCall: true,
|
@@ -270,7 +320,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
270
320
|
description:
|
271
321
|
'DeepSeek-V3 是一款拥有 6710 亿参数的混合专家(MoE)语言模型,采用多头潜在注意力(MLA)和 DeepSeekMoE 架构,结合无辅助损失的负载平衡策略,优化推理和训练效率。通过在 14.8 万亿高质量tokens上预训练,并进行监督微调和强化学习,DeepSeek-V3 在性能上超越其他开源模型,接近领先闭源模型。',
|
272
322
|
displayName: 'DeepSeek V3 1226 (Pro)',
|
273
|
-
id: 'Pro/deepseek-ai/DeepSeek-V3-1226',
|
323
|
+
id: 'Pro/deepseek-ai/DeepSeek-V3-1226',
|
274
324
|
pricing: {
|
275
325
|
currency: 'CNY',
|
276
326
|
input: 2,
|
@@ -283,7 +333,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
283
333
|
functionCall: true,
|
284
334
|
reasoning: true
|
285
335
|
},
|
286
|
-
contextWindowTokens:
|
336
|
+
contextWindowTokens: 131_072,
|
287
337
|
description:
|
288
338
|
'DeepSeek-R1-Distill-Qwen-32B 是基于 Qwen2.5-32B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,在数学、编程和推理等多个领域展现出卓越的性能。在 AIME 2024、MATH-500、GPQA Diamond 等多个基准测试中都取得了优异成绩,其中在 MATH-500 上达到了 94.3% 的准确率,展现出强大的数学推理能力。',
|
289
339
|
displayName: 'DeepSeek R1 Distill Qwen 32B',
|
@@ -300,7 +350,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
300
350
|
functionCall: true,
|
301
351
|
reasoning: true
|
302
352
|
},
|
303
|
-
contextWindowTokens:
|
353
|
+
contextWindowTokens: 131_072,
|
304
354
|
description:
|
305
355
|
'DeepSeek-R1-Distill-Qwen-14B 是基于 Qwen2.5-14B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,展现出优秀的推理能力。在多个基准测试中表现出色,其中在 MATH-500 上达到了 93.9% 的准确率,在 AIME 2024 上达到了 69.7% 的通过率,在 CodeForces 上获得了 1481 的评分,显示出在数学和编程领域的强大实力。',
|
306
356
|
displayName: 'DeepSeek R1 Distill Qwen 14B',
|
@@ -317,7 +367,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
317
367
|
functionCall: true,
|
318
368
|
reasoning: true
|
319
369
|
},
|
320
|
-
contextWindowTokens:
|
370
|
+
contextWindowTokens: 131_072,
|
321
371
|
description:
|
322
372
|
'DeepSeek-R1-Distill-Qwen-7B 是基于 Qwen2.5-Math-7B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,展现出优秀的推理能力。在多个基准测试中表现出色,其中在 MATH-500 上达到了 92.8% 的准确率,在 AIME 2024 上达到了 55.5% 的通过率,在 CodeForces 上获得了 1189 的评分,作为 7B 规模的模型展示了较强的数学和编程能力。',
|
323
373
|
displayName: 'DeepSeek R1 Distill Qwen 7B (Free)',
|
@@ -334,11 +384,11 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
334
384
|
functionCall: true,
|
335
385
|
reasoning: true
|
336
386
|
},
|
337
|
-
contextWindowTokens:
|
387
|
+
contextWindowTokens: 131_072,
|
338
388
|
description:
|
339
389
|
'DeepSeek-R1-Distill-Qwen-1.5B 是基于 Qwen2.5-Math-1.5B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,在多个基准测试中展现出不错的性能。作为一个轻量级模型,在 MATH-500 上达到了 83.9% 的准确率,在 AIME 2024 上达到了 28.9% 的通过率,在 CodeForces 上获得了 954 的评分,显示出超出其参数规模的推理能力。',
|
340
390
|
displayName: 'DeepSeek-R1-Distill-Qwen-1.5B (Free)',
|
341
|
-
id: 'deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B',
|
391
|
+
id: 'deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B', // 将于 2025-06-05 下线
|
342
392
|
pricing: {
|
343
393
|
currency: 'CNY',
|
344
394
|
input: 0,
|
@@ -351,7 +401,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
351
401
|
functionCall: true,
|
352
402
|
reasoning: true
|
353
403
|
},
|
354
|
-
contextWindowTokens:
|
404
|
+
contextWindowTokens: 131_072,
|
355
405
|
description:
|
356
406
|
'DeepSeek-R1-Distill-Qwen-7B 是基于 Qwen2.5-Math-7B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,展现出优秀的推理能力。在多个基准测试中表现出色,其中在 MATH-500 上达到了 92.8% 的准确率,在 AIME 2024 上达到了 55.5% 的通过率,在 CodeForces 上获得了 1189 的评分,作为 7B 规模的模型展示了较强的数学和编程能力。',
|
357
407
|
displayName: 'DeepSeek R1 Distill Qwen 7B (Pro)',
|
@@ -368,11 +418,11 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
368
418
|
functionCall: true,
|
369
419
|
reasoning: true
|
370
420
|
},
|
371
|
-
contextWindowTokens:
|
421
|
+
contextWindowTokens: 131_072,
|
372
422
|
description:
|
373
423
|
'DeepSeek-R1-Distill-Qwen-1.5B 是基于 Qwen2.5-Math-1.5B 通过知识蒸馏得到的模型。该模型使用 DeepSeek-R1 生成的 80 万个精选样本进行微调,在多个基准测试中展现出不错的性能。作为一个轻量级模型,在 MATH-500 上达到了 83.9% 的准确率,在 AIME 2024 上达到了 28.9% 的通过率,在 CodeForces 上获得了 954 的评分,显示出超出其参数规模的推理能力。',
|
374
424
|
displayName: 'DeepSeek-R1-Distill-Qwen-1.5B (Pro)',
|
375
|
-
id: 'Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B',
|
425
|
+
id: 'Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B', // 将于 2025-06-05 下线
|
376
426
|
pricing: {
|
377
427
|
currency: 'CNY',
|
378
428
|
input: 0.14,
|
@@ -434,7 +484,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
434
484
|
functionCall: true,
|
435
485
|
reasoning: true,
|
436
486
|
},
|
437
|
-
contextWindowTokens:
|
487
|
+
contextWindowTokens: 131_072,
|
438
488
|
description:
|
439
489
|
'QwQ 是 Qwen 系列的推理模型。与传统的指令调优模型相比,QwQ 具备思考和推理能力,能够在下游任务中实现显著增强的性能,尤其是在解决困难问题方面。QwQ-32B 是中型推理模型,能够在与最先进的推理模型(如 DeepSeek-R1、o1-mini)的对比中取得有竞争力的性能。该模型采用 RoPE、SwiGLU、RMSNorm 和 Attention QKV bias 等技术,具有 64 层网络结构和 40 个 Q 注意力头(GQA 架构中 KV 为 8 个)。',
|
440
490
|
displayName: 'QwQ 32B',
|
@@ -542,22 +592,6 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
542
592
|
},
|
543
593
|
type: 'chat',
|
544
594
|
},
|
545
|
-
{
|
546
|
-
abilities: {
|
547
|
-
functionCall: true,
|
548
|
-
},
|
549
|
-
contextWindowTokens: 32_768,
|
550
|
-
description:
|
551
|
-
'Qwen2.5-72B-Instruct 是阿里云发布的最新大语言模型系列之一。该 72B 模型在编码和数学等领域具有显著改进的能力。该模型还提供了多语言支持,覆盖超过 29 种语言,包括中文、英文等。模型在指令跟随、理解结构化数据以及生成结构化输出(尤其是 JSON)方面都有显著提升',
|
552
|
-
displayName: 'Qwen2.5 72B Instruct (Vendor-A)',
|
553
|
-
id: 'Vendor-A/Qwen/Qwen2.5-72B-Instruct',
|
554
|
-
pricing: {
|
555
|
-
currency: 'CNY',
|
556
|
-
input: 1,
|
557
|
-
output: 1,
|
558
|
-
},
|
559
|
-
type: 'chat',
|
560
|
-
},
|
561
595
|
{
|
562
596
|
abilities: {
|
563
597
|
functionCall: true,
|
@@ -618,7 +652,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
618
652
|
description:
|
619
653
|
'Qwen2-1.5B-Instruct 是 Qwen2 系列中的指令微调大语言模型,参数规模为 1.5B。该模型基于 Transformer 架构,采用了 SwiGLU 激活函数、注意力 QKV 偏置和组查询注意力等技术。它在语言理解、生成、多语言能力、编码、数学和推理等多个基准测试中表现出色,超越了大多数开源模型。与 Qwen1.5-1.8B-Chat 相比,Qwen2-1.5B-Instruct 在 MMLU、HumanEval、GSM8K、C-Eval 和 IFEval 等测试中均显示出显著的性能提升,尽管参数量略少',
|
620
654
|
displayName: 'Qwen2 1.5B Instruct (Free)',
|
621
|
-
id: 'Qwen/Qwen2-1.5B-Instruct',
|
655
|
+
id: 'Qwen/Qwen2-1.5B-Instruct', // 将于 2025-06-05 下线
|
622
656
|
pricing: {
|
623
657
|
currency: 'CNY',
|
624
658
|
input: 0,
|
@@ -631,7 +665,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
631
665
|
description:
|
632
666
|
'Qwen2-1.5B-Instruct 是 Qwen2 系列中的指令微调大语言模型,参数规模为 1.5B。该模型基于 Transformer 架构,采用了 SwiGLU 激活函数、注意力 QKV 偏置和组查询注意力等技术。它在语言理解、生成、多语言能力、编码、数学和推理等多个基准测试中表现出色,超越了大多数开源模型。与 Qwen1.5-1.8B-Chat 相比,Qwen2-1.5B-Instruct 在 MMLU、HumanEval、GSM8K、C-Eval 和 IFEval 等测试中均显示出显著的性能提升,尽管参数量略少',
|
633
667
|
displayName: 'Qwen2 1.5B Instruct (Pro)',
|
634
|
-
id: 'Pro/Qwen/Qwen2-1.5B-Instruct',
|
668
|
+
id: 'Pro/Qwen/Qwen2-1.5B-Instruct', // 将于 2025-06-05 下线
|
635
669
|
pricing: {
|
636
670
|
currency: 'CNY',
|
637
671
|
input: 0.14,
|
@@ -673,7 +707,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
673
707
|
description:
|
674
708
|
'Qwen2-VL-7B-Instruct 是 Qwen-VL 模型的最新迭代版本,在视觉理解基准测试中达到了最先进的性能,包括 MathVista、DocVQA、RealWorldQA 和 MTVQA 等。Qwen2-VL 能够用于高质量的基于视频的问答、对话和内容创作,还具备复杂推理和决策能力,可以与移动设备、机器人等集成,基于视觉环境和文本指令进行自动操作。除了英语和中文,Qwen2-VL 现在还支持理解图像中不同语言的文本,包括大多数欧洲语言、日语、韩语、阿拉伯语和越南语等',
|
675
709
|
displayName: 'Qwen2 VL 7B Instruct (Pro)',
|
676
|
-
id: 'Pro/Qwen/Qwen2-VL-7B-Instruct',
|
710
|
+
id: 'Pro/Qwen/Qwen2-VL-7B-Instruct', // 将于 2025-06-05 下线
|
677
711
|
pricing: {
|
678
712
|
currency: 'CNY',
|
679
713
|
input: 0.35,
|
@@ -769,7 +803,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
769
803
|
description:
|
770
804
|
'InternLM2.5-20B-Chat 是一个开源的大规模对话模型,基于 InternLM2 架构开发。该模型拥有 200 亿参数,在数学推理方面表现出色,超越了同量级的 Llama3 和 Gemma2-27B 模型。InternLM2.5-20B-Chat 在工具调用能力方面有显著提升,支持从上百个网页收集信息进行分析推理,并具备更强的指令理解、工具选择和结果反思能力。它适用于构建复杂智能体,可进行多轮工具调用以完成复杂任务',
|
771
805
|
displayName: 'InternLM2.5 20B Chat',
|
772
|
-
id: 'internlm/internlm2_5-20b-chat',
|
806
|
+
id: 'internlm/internlm2_5-20b-chat', // 将于 2025-06-05 下线
|
773
807
|
pricing: {
|
774
808
|
currency: 'CNY',
|
775
809
|
input: 1,
|
@@ -814,7 +848,7 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
814
848
|
description:
|
815
849
|
'ChatGLM3-6B 是 ChatGLM 系列的开源模型,由智谱 AI 开发。该模型保留了前代模型的优秀特性,如对话流畅和部署门槛低,同时引入了新的特性。它采用了更多样的训练数据、更充分的训练步数和更合理的训练策略,在 10B 以下的预训练模型中表现出色。ChatGLM3-6B 支持多轮对话、工具调用、代码执行和 Agent 任务等复杂场景。除对话模型外,还开源了基础模型 ChatGLM-6B-Base 和长文本对话模型 ChatGLM3-6B-32K。该模型对学术研究完全开放,在登记后也允许免费商业使用',
|
816
850
|
displayName: 'ChatGLM3 6B (Free)',
|
817
|
-
id: 'THUDM/chatglm3-6b',
|
851
|
+
id: 'THUDM/chatglm3-6b', // 将于 2025-06-05 下线
|
818
852
|
pricing: {
|
819
853
|
currency: 'CNY',
|
820
854
|
input: 0,
|
@@ -80,11 +80,11 @@ const doubaoChatModels: AIChatModelCard[] = [
|
|
80
80
|
reasoning: true,
|
81
81
|
},
|
82
82
|
config: {
|
83
|
-
deploymentName: 'deepseek-r1-
|
83
|
+
deploymentName: 'deepseek-r1-250528',
|
84
84
|
},
|
85
|
-
contextWindowTokens:
|
85
|
+
contextWindowTokens: 131_072,
|
86
86
|
description:
|
87
|
-
'DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力。在数学、代码、自然语言推理等任务上,性能比肩 OpenAI o1 正式版。',
|
87
|
+
'0528最新版本上线,DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力。在数学、代码、自然语言推理等任务上,性能比肩 OpenAI o1 正式版。',
|
88
88
|
displayName: 'DeepSeek R1',
|
89
89
|
id: 'deepseek-r1',
|
90
90
|
maxOutput: 16_384,
|
@@ -61,6 +61,7 @@ const xaiChatModels: AIChatModelCard[] = [
|
|
61
61
|
},
|
62
62
|
releasedAt: '2025-04-03',
|
63
63
|
settings: {
|
64
|
+
extendParams: ['reasoningEffort'],
|
64
65
|
searchImpl: 'params',
|
65
66
|
},
|
66
67
|
type: 'chat',
|
@@ -82,6 +83,7 @@ const xaiChatModels: AIChatModelCard[] = [
|
|
82
83
|
},
|
83
84
|
releasedAt: '2025-04-03',
|
84
85
|
settings: {
|
86
|
+
extendParams: ['reasoningEffort'],
|
85
87
|
searchImpl: 'params',
|
86
88
|
},
|
87
89
|
type: 'chat',
|
@@ -1,6 +1,7 @@
|
|
1
1
|
'use client';
|
2
2
|
|
3
3
|
import { Button, Form, type FormGroupItemType, type FormItemProps, Tooltip } from '@lobehub/ui';
|
4
|
+
import { useUpdateEffect } from 'ahooks';
|
4
5
|
import isEqual from 'fast-deep-equal';
|
5
6
|
import { Wand2 } from 'lucide-react';
|
6
7
|
import { memo, useState } from 'react';
|
@@ -30,6 +31,10 @@ const AgentMeta = memo(() => {
|
|
30
31
|
const meta = useStore(selectors.currentMetaConfig, isEqual);
|
31
32
|
const [background, setBackground] = useState(meta.backgroundColor);
|
32
33
|
|
34
|
+
useUpdateEffect(() => {
|
35
|
+
form.setFieldsValue(meta);
|
36
|
+
}, [meta]);
|
37
|
+
|
33
38
|
if (isInbox) return;
|
34
39
|
|
35
40
|
const basic = [
|
@@ -1,6 +1,6 @@
|
|
1
1
|
'use client';
|
2
2
|
|
3
|
-
import { Form, type FormGroupItemType,
|
3
|
+
import { Form, type FormGroupItemType, SliderWithInput } from '@lobehub/ui';
|
4
4
|
import { Switch } from 'antd';
|
5
5
|
import isEqual from 'fast-deep-equal';
|
6
6
|
import { memo } from 'react';
|
@@ -74,31 +74,6 @@ const AgentModal = memo(() => {
|
|
74
74
|
name: ['params', 'max_tokens'],
|
75
75
|
tag: 'max_tokens',
|
76
76
|
},
|
77
|
-
{
|
78
|
-
children: <Switch />,
|
79
|
-
label: t('settingModel.enableReasoningEffort.title'),
|
80
|
-
layout: 'horizontal',
|
81
|
-
minWidth: undefined,
|
82
|
-
name: ['chatConfig', 'enableReasoningEffort'],
|
83
|
-
valuePropName: 'checked',
|
84
|
-
},
|
85
|
-
{
|
86
|
-
children: (
|
87
|
-
<Select
|
88
|
-
defaultValue="medium"
|
89
|
-
options={[
|
90
|
-
{ label: t('settingModel.reasoningEffort.options.low'), value: 'low' },
|
91
|
-
{ label: t('settingModel.reasoningEffort.options.medium'), value: 'medium' },
|
92
|
-
{ label: t('settingModel.reasoningEffort.options.high'), value: 'high' },
|
93
|
-
]}
|
94
|
-
/>
|
95
|
-
),
|
96
|
-
desc: t('settingModel.reasoningEffort.desc'),
|
97
|
-
hidden: !config.chatConfig.enableReasoningEffort,
|
98
|
-
label: t('settingModel.reasoningEffort.title'),
|
99
|
-
name: ['params', 'reasoning_effort'],
|
100
|
-
tag: 'reasoning_effort',
|
101
|
-
},
|
102
77
|
],
|
103
78
|
title: t('settingModel.title'),
|
104
79
|
};
|
@@ -11,6 +11,7 @@ import { agentChatConfigSelectors, agentSelectors } from '@/store/agent/selector
|
|
11
11
|
import { aiModelSelectors, useAiInfraStore } from '@/store/aiInfra';
|
12
12
|
|
13
13
|
import ContextCachingSwitch from './ContextCachingSwitch';
|
14
|
+
import ReasoningEffortSlider from './ReasoningEffortSlider';
|
14
15
|
import ReasoningTokenSlider from './ReasoningTokenSlider';
|
15
16
|
|
16
17
|
interface ControlsProps {
|
@@ -86,6 +87,17 @@ const ControlsForm = memo<ControlsProps>(({ setUpdating }) => {
|
|
86
87
|
paddingBottom: 0,
|
87
88
|
},
|
88
89
|
},
|
90
|
+
{
|
91
|
+
children: <ReasoningEffortSlider />,
|
92
|
+
desc: 'reasoning_effort',
|
93
|
+
label: t('extendParams.reasoningEffort.title'),
|
94
|
+
layout: 'horizontal',
|
95
|
+
minWidth: undefined,
|
96
|
+
name: 'reasoningEffort',
|
97
|
+
style: {
|
98
|
+
paddingBottom: 0,
|
99
|
+
},
|
100
|
+
},
|
89
101
|
].filter(Boolean) as FormItemProps[];
|
90
102
|
|
91
103
|
return (
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { Slider } from 'antd';
|
2
|
+
import { memo, useCallback } from 'react';
|
3
|
+
import { Flexbox } from 'react-layout-kit';
|
4
|
+
|
5
|
+
import { useAgentStore } from '@/store/agent';
|
6
|
+
import { agentChatConfigSelectors } from '@/store/agent/selectors';
|
7
|
+
|
8
|
+
const ReasoningEffortSlider = memo(() => {
|
9
|
+
const [config, updateAgentChatConfig] = useAgentStore((s) => [
|
10
|
+
agentChatConfigSelectors.currentChatConfig(s),
|
11
|
+
s.updateAgentChatConfig,
|
12
|
+
]);
|
13
|
+
|
14
|
+
const reasoningEffort = config.reasoningEffort || 'medium'; // Default to 'medium' if not set
|
15
|
+
|
16
|
+
const marks = {
|
17
|
+
0: 'low',
|
18
|
+
1: 'medium',
|
19
|
+
2: 'high',
|
20
|
+
};
|
21
|
+
|
22
|
+
const effortValues = ['low', 'medium', 'high'];
|
23
|
+
const indexValue = effortValues.indexOf(reasoningEffort);
|
24
|
+
const currentValue = indexValue === -1 ? 1 : indexValue;
|
25
|
+
|
26
|
+
const updateReasoningEffort = useCallback(
|
27
|
+
(value: number) => {
|
28
|
+
const effort = effortValues[value] as 'low' | 'medium' | 'high';
|
29
|
+
updateAgentChatConfig({ reasoningEffort: effort });
|
30
|
+
},
|
31
|
+
[updateAgentChatConfig],
|
32
|
+
);
|
33
|
+
|
34
|
+
return (
|
35
|
+
<Flexbox
|
36
|
+
align={'center'}
|
37
|
+
gap={12}
|
38
|
+
horizontal
|
39
|
+
paddingInline={'0 20px'}
|
40
|
+
style={{ minWidth: 200, width: '100%' }}
|
41
|
+
>
|
42
|
+
<Flexbox flex={1}>
|
43
|
+
<Slider
|
44
|
+
marks={marks}
|
45
|
+
max={2}
|
46
|
+
min={0}
|
47
|
+
onChange={updateReasoningEffort}
|
48
|
+
step={1}
|
49
|
+
tooltip={{ open: false }}
|
50
|
+
value={currentValue}
|
51
|
+
/>
|
52
|
+
</Flexbox>
|
53
|
+
</Flexbox>
|
54
|
+
);
|
55
|
+
});
|
56
|
+
|
57
|
+
export default ReasoningEffortSlider;
|
@@ -4,7 +4,7 @@ import type { ItemType } from 'antd/es/menu/interface';
|
|
4
4
|
import { LucideArrowRight, LucideBolt } from 'lucide-react';
|
5
5
|
import Link from 'next/link';
|
6
6
|
import { useRouter } from 'next/navigation';
|
7
|
-
import {
|
7
|
+
import { type ReactNode, memo, useMemo } from 'react';
|
8
8
|
import { useTranslation } from 'react-i18next';
|
9
9
|
import { Flexbox } from 'react-layout-kit';
|
10
10
|
|
@@ -40,14 +40,15 @@ const useStyles = createStyles(({ css, prefixCls }) => ({
|
|
40
40
|
|
41
41
|
const menuKey = (provider: string, model: string) => `${provider}-${model}`;
|
42
42
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
43
|
+
interface IProps {
|
44
|
+
children?: ReactNode;
|
45
|
+
onOpenChange?: (open: boolean) => void;
|
46
|
+
open?: boolean;
|
47
|
+
setUpdating?: (updating: boolean) => void;
|
48
|
+
updating?: boolean;
|
49
|
+
}
|
50
|
+
|
51
|
+
const ModelSwitchPanel = memo<IProps>(({ children, setUpdating, onOpenChange, open }) => {
|
51
52
|
const { t } = useTranslation('components');
|
52
53
|
const { styles, theme } = useStyles();
|
53
54
|
const [model, provider, updateAgentConfig] = useAgentStore((s) => [
|
@@ -141,7 +141,9 @@ const MCPManifestForm = ({ form, isEditMode }: MCPManifestFormProps) => {
|
|
141
141
|
...(mcpType === 'http' ? [HTTP_URL_KEY] : [STDIO_COMMAND, STDIO_ARGS]),
|
142
142
|
]);
|
143
143
|
isValid = true;
|
144
|
-
} catch {
|
144
|
+
} catch {
|
145
|
+
// no-thing
|
146
|
+
}
|
145
147
|
|
146
148
|
if (!isValid) {
|
147
149
|
setIsTesting(false);
|
@@ -36,7 +36,7 @@ exports[`NovitaAI > models > should get models 1`] = `
|
|
36
36
|
"contextWindowTokens": 8192,
|
37
37
|
"description": "Meta's latest class of models, Llama 3.1, has launched with a variety of sizes and configurations. The 70B instruct-tuned version is optimized for high-quality dialogue use cases. It has demonstrated strong performance in human evaluations compared to leading closed-source models.",
|
38
38
|
"displayName": "meta-llama/llama-3.1-70b-instruct",
|
39
|
-
"enabled":
|
39
|
+
"enabled": true,
|
40
40
|
"functionCall": false,
|
41
41
|
"id": "meta-llama/llama-3.1-70b-instruct",
|
42
42
|
"reasoning": false,
|
@@ -263,9 +263,6 @@ export default {
|
|
263
263
|
enableMaxTokens: {
|
264
264
|
title: '开启单次回复限制',
|
265
265
|
},
|
266
|
-
enableReasoningEffort: {
|
267
|
-
title: '开启推理强度调整',
|
268
|
-
},
|
269
266
|
frequencyPenalty: {
|
270
267
|
desc: '值越大,用词越丰富多样;值越低,用词更朴实简单',
|
271
268
|
title: '词汇丰富度',
|
@@ -285,15 +282,6 @@ export default {
|
|
285
282
|
desc: '值越大,越倾向不同的表达方式,避免概念重复;值越小,越倾向使用重复的概念或叙述,表达更具一致性',
|
286
283
|
title: '表述发散度',
|
287
284
|
},
|
288
|
-
reasoningEffort: {
|
289
|
-
desc: '值越大,推理能力越强,但可能会增加响应时间和 Token 消耗',
|
290
|
-
options: {
|
291
|
-
high: '高',
|
292
|
-
low: '低',
|
293
|
-
medium: '中',
|
294
|
-
},
|
295
|
-
title: '推理强度',
|
296
|
-
},
|
297
285
|
submit: '更新模型设置',
|
298
286
|
temperature: {
|
299
287
|
desc: '数值越大,回答越有创意和想象力;数值越小,回答越严谨',
|
package/src/services/chat.ts
CHANGED
@@ -238,13 +238,17 @@ class ChatService {
|
|
238
238
|
};
|
239
239
|
}
|
240
240
|
}
|
241
|
-
|
241
|
+
|
242
242
|
if (
|
243
243
|
modelExtendParams!.includes('disableContextCaching') &&
|
244
244
|
chatConfig.disableContextCaching
|
245
245
|
) {
|
246
246
|
extendParams.enabledContextCaching = false;
|
247
247
|
}
|
248
|
+
|
249
|
+
if (modelExtendParams!.includes('reasoningEffort') && chatConfig.reasoningEffort) {
|
250
|
+
extendParams.reasoning_effort = chatConfig.reasoningEffort;
|
251
|
+
}
|
248
252
|
}
|
249
253
|
|
250
254
|
return this.getChatCompletion(
|
@@ -538,11 +538,6 @@ export const generateAIChat: StateCreator<
|
|
538
538
|
? agentConfig.params.max_tokens
|
539
539
|
: undefined;
|
540
540
|
|
541
|
-
// 5. handle reasoning_effort
|
542
|
-
agentConfig.params.reasoning_effort = chatConfig.enableReasoningEffort
|
543
|
-
? agentConfig.params.reasoning_effort
|
544
|
-
: undefined;
|
545
|
-
|
546
541
|
let isFunctionCall = false;
|
547
542
|
let msgTraceId: string | undefined;
|
548
543
|
let output = '';
|
package/src/types/aiModel.ts
CHANGED
@@ -143,7 +143,11 @@ export interface AiModelConfig {
|
|
143
143
|
|
144
144
|
export type ModelSearchImplementType = 'tool' | 'params' | 'internal';
|
145
145
|
|
146
|
-
export type ExtendParamsType =
|
146
|
+
export type ExtendParamsType =
|
147
|
+
| 'reasoningBudgetToken'
|
148
|
+
| 'enableReasoning'
|
149
|
+
| 'disableContextCaching'
|
150
|
+
| 'reasoningEffort';
|
147
151
|
|
148
152
|
export interface AiModelSettings {
|
149
153
|
extendParams?: ExtendParamsType[];
|