@lobehub/chat 1.128.1 → 1.128.3
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/i18n.mdc +97 -95
- package/CHANGELOG.md +51 -0
- package/changelog/v1.json +18 -0
- package/locales/ar/models.json +6 -0
- package/locales/bg-BG/models.json +6 -0
- package/locales/de-DE/models.json +6 -0
- package/locales/en-US/models.json +6 -0
- package/locales/es-ES/models.json +6 -0
- package/locales/fa-IR/models.json +6 -0
- package/locales/fr-FR/models.json +6 -0
- package/locales/it-IT/models.json +6 -0
- package/locales/ja-JP/models.json +6 -0
- package/locales/ko-KR/models.json +6 -0
- package/locales/nl-NL/models.json +6 -0
- package/locales/pl-PL/models.json +6 -0
- package/locales/pt-BR/models.json +6 -0
- package/locales/ru-RU/models.json +6 -0
- package/locales/tr-TR/models.json +6 -0
- package/locales/vi-VN/models.json +6 -0
- package/locales/zh-CN/models.json +6 -0
- package/locales/zh-TW/models.json +6 -0
- package/package.json +2 -2
- package/packages/const/src/auth.ts +1 -1
- package/packages/database/package.json +4 -2
- package/packages/database/src/index.ts +1 -0
- package/packages/database/src/repositories/dataExporter/index.test.ts +3 -3
- package/packages/model-bank/src/aiModels/deepseek.ts +4 -4
- package/packages/model-bank/src/aiModels/google.ts +30 -6
- package/packages/model-bank/src/aiModels/groq.ts +1 -19
- package/packages/model-bank/src/aiModels/modelscope.ts +24 -18
- package/packages/model-bank/src/aiModels/novita.ts +71 -5
- package/packages/model-bank/src/aiModels/qwen.ts +87 -2
- package/packages/model-bank/src/aiModels/siliconcloud.ts +65 -2
- package/packages/model-bank/src/aiModels/volcengine.ts +4 -3
- package/packages/model-runtime/src/utils/modelParse.ts +4 -4
- package/src/app/(backend)/_deprecated/createBizOpenAI/createAzureOpenai.ts +1 -1
- package/src/app/(backend)/_deprecated/createBizOpenAI/createOpenai.ts +1 -1
- package/src/app/(backend)/api/webhooks/casdoor/route.ts +1 -1
- package/src/app/(backend)/api/webhooks/casdoor/validateRequest.ts +1 -1
- package/src/app/(backend)/api/webhooks/clerk/route.ts +1 -1
- package/src/app/(backend)/api/webhooks/logto/route.ts +1 -1
- package/src/app/(backend)/api/webhooks/logto/validateRequest.ts +1 -1
- package/src/{config → envs}/__tests__/analytics.test.ts +1 -1
- package/src/{config → envs}/__tests__/app.test.ts +1 -1
- package/src/{config → envs}/__tests__/client.test.ts +1 -1
- package/src/layout/AuthProvider/index.tsx +1 -1
- package/src/libs/next-auth/auth.config.ts +1 -1
- package/src/libs/next-auth/sso-providers/auth0.ts +1 -1
- package/src/libs/next-auth/sso-providers/authelia.ts +1 -1
- package/src/libs/next-auth/sso-providers/authentik.ts +1 -1
- package/src/libs/next-auth/sso-providers/azure-ad.ts +1 -1
- package/src/libs/next-auth/sso-providers/cloudflare-zero-trust.ts +1 -1
- package/src/libs/next-auth/sso-providers/generic-oidc.ts +1 -1
- package/src/libs/next-auth/sso-providers/github.ts +1 -1
- package/src/libs/next-auth/sso-providers/logto.ts +1 -1
- package/src/libs/next-auth/sso-providers/microsoft-entra-id-helper.ts +1 -1
- package/src/libs/next-auth/sso-providers/zitadel.ts +1 -1
- package/src/libs/oidc-provider/adapter.ts +4 -5
- package/src/libs/oidc-provider/provider.ts +1 -1
- package/src/libs/trpc/async/asyncAuth.ts +1 -1
- package/src/libs/trpc/async/context.ts +1 -1
- package/src/middleware.ts +1 -1
- package/src/server/globalConfig/_deprecated.test.ts +1 -1
- package/src/server/globalConfig/_deprecated.ts +1 -1
- package/src/server/globalConfig/genServerAiProviderConfig.test.ts +2 -2
- package/src/server/globalConfig/genServerAiProviderConfig.ts +1 -1
- package/src/server/globalConfig/index.ts +2 -2
- package/src/server/modules/ModelRuntime/apiKeyManager.ts +1 -1
- package/src/server/modules/ModelRuntime/index.test.ts +1 -1
- package/src/server/modules/ModelRuntime/index.ts +1 -1
- package/src/server/modules/S3/index.ts +1 -1
- package/src/server/routers/async/file.ts +1 -1
- package/src/server/services/agent/index.ts +2 -1
- package/src/server/services/aiChat/index.test.ts +1 -1
- package/src/server/services/aiChat/index.ts +2 -1
- package/src/server/services/chunk/index.ts +1 -1
- package/src/server/services/document/index.ts +1 -1
- package/src/server/services/file/impls/s3.test.ts +13 -13
- package/src/server/services/file/impls/s3.ts +1 -1
- package/src/server/services/file/index.ts +1 -1
- package/src/server/services/generation/index.ts +1 -1
- package/src/server/services/nextAuthUser/index.ts +1 -1
- package/src/server/services/user/index.test.ts +1 -1
- package/src/server/services/user/index.ts +1 -1
- package/src/services/__tests__/upload.test.ts +1 -1
- package/src/services/file/_deprecated.test.ts +1 -1
- package/src/services/upload.ts +1 -1
- /package/src/{config → envs}/__tests__/auth.test.ts +0 -0
- /package/src/{config → envs}/auth.ts +0 -0
- /package/src/{config → envs}/file.ts +0 -0
- /package/src/{config → envs}/llm.ts +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobehub/chat",
|
|
3
|
-
"version": "1.128.
|
|
3
|
+
"version": "1.128.3",
|
|
4
4
|
"description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"framework",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"@lobehub/charts": "^2.1.2",
|
|
158
158
|
"@lobehub/chat-plugin-sdk": "^1.32.4",
|
|
159
159
|
"@lobehub/chat-plugins-gateway": "^1.9.0",
|
|
160
|
-
"@lobehub/editor": "^1.8.
|
|
160
|
+
"@lobehub/editor": "^1.8.5",
|
|
161
161
|
"@lobehub/icons": "^2.32.2",
|
|
162
162
|
"@lobehub/market-sdk": "^0.22.7",
|
|
163
163
|
"@lobehub/tts": "^2.0.1",
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
"name": "@lobechat/database",
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"private": true,
|
|
5
|
-
"
|
|
6
|
-
|
|
5
|
+
"exports": {
|
|
6
|
+
".": "./src/index.ts",
|
|
7
|
+
"./schemas": "./src/schemas/index.ts"
|
|
8
|
+
},
|
|
7
9
|
"scripts": {
|
|
8
10
|
"test": "npm run test:client-db && npm run test:server-db",
|
|
9
11
|
"test:client-db": "vitest run",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './type';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
2
|
|
|
3
3
|
import { clientDB, initializeDB } from '@/database/client/db';
|
|
4
|
+
|
|
4
5
|
import {
|
|
5
6
|
agents,
|
|
6
7
|
agentsKnowledgeBases,
|
|
@@ -16,9 +17,8 @@ import {
|
|
|
16
17
|
topics,
|
|
17
18
|
userSettings,
|
|
18
19
|
users,
|
|
19
|
-
} from '
|
|
20
|
-
import { LobeChatDatabase } from '
|
|
21
|
-
|
|
20
|
+
} from '../../schemas';
|
|
21
|
+
import { LobeChatDatabase } from '../../type';
|
|
22
22
|
import { DATA_EXPORT_CONFIG, DataExporterRepos } from './index';
|
|
23
23
|
|
|
24
24
|
let db = clientDB as LobeChatDatabase;
|
|
@@ -17,8 +17,8 @@ const deepseekChatModels: AIChatModelCard[] = [
|
|
|
17
17
|
currency: 'CNY',
|
|
18
18
|
units: [
|
|
19
19
|
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
|
|
20
|
-
{ name: 'textInput', rate:
|
|
21
|
-
{ name: 'textOutput', rate:
|
|
20
|
+
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
|
|
21
|
+
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
|
|
22
22
|
],
|
|
23
23
|
},
|
|
24
24
|
releasedAt: '2025-08-21',
|
|
@@ -39,9 +39,9 @@ const deepseekChatModels: AIChatModelCard[] = [
|
|
|
39
39
|
pricing: {
|
|
40
40
|
currency: 'CNY',
|
|
41
41
|
units: [
|
|
42
|
-
{ name: 'textInput_cacheRead', rate:
|
|
42
|
+
{ name: 'textInput_cacheRead', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
|
|
43
43
|
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
|
|
44
|
-
{ name: 'textOutput', rate:
|
|
44
|
+
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
|
|
45
45
|
],
|
|
46
46
|
},
|
|
47
47
|
releasedAt: '2025-08-21',
|
|
@@ -18,7 +18,15 @@ const googleChatModels: AIChatModelCard[] = [
|
|
|
18
18
|
maxOutput: 65_536,
|
|
19
19
|
pricing: {
|
|
20
20
|
units: [
|
|
21
|
-
{
|
|
21
|
+
{
|
|
22
|
+
name: 'textInput_cacheRead',
|
|
23
|
+
strategy: 'tiered',
|
|
24
|
+
tiers: [
|
|
25
|
+
{ rate: 0.31, upTo: 200_000 },
|
|
26
|
+
{ rate: 0.625, upTo: 'infinity' },
|
|
27
|
+
],
|
|
28
|
+
unit: 'millionTokens',
|
|
29
|
+
},
|
|
22
30
|
{
|
|
23
31
|
name: 'textInput',
|
|
24
32
|
strategy: 'tiered',
|
|
@@ -57,12 +65,20 @@ const googleChatModels: AIChatModelCard[] = [
|
|
|
57
65
|
contextWindowTokens: 1_048_576 + 65_536,
|
|
58
66
|
description:
|
|
59
67
|
'Gemini 2.5 Pro Preview 是 Google 最先进的思维模型,能够对代码、数学和STEM领域的复杂问题进行推理,以及使用长上下文分析大型数据集、代码库和文档。',
|
|
60
|
-
displayName: 'Gemini 2.5 Pro Preview 06-05
|
|
68
|
+
displayName: 'Gemini 2.5 Pro Preview 06-05',
|
|
61
69
|
id: 'gemini-2.5-pro-preview-06-05',
|
|
62
70
|
maxOutput: 65_536,
|
|
63
71
|
pricing: {
|
|
64
72
|
units: [
|
|
65
|
-
{
|
|
73
|
+
{
|
|
74
|
+
name: 'textInput_cacheRead',
|
|
75
|
+
strategy: 'tiered',
|
|
76
|
+
tiers: [
|
|
77
|
+
{ rate: 0.31, upTo: 200_000 },
|
|
78
|
+
{ rate: 0.625, upTo: 'infinity' },
|
|
79
|
+
],
|
|
80
|
+
unit: 'millionTokens',
|
|
81
|
+
},
|
|
66
82
|
{
|
|
67
83
|
name: 'textInput',
|
|
68
84
|
strategy: 'tiered',
|
|
@@ -101,12 +117,20 @@ const googleChatModels: AIChatModelCard[] = [
|
|
|
101
117
|
contextWindowTokens: 1_048_576 + 65_536,
|
|
102
118
|
description:
|
|
103
119
|
'Gemini 2.5 Pro Preview 是 Google 最先进的思维模型,能够对代码、数学和STEM领域的复杂问题进行推理,以及使用长上下文分析大型数据集、代码库和文档。',
|
|
104
|
-
displayName: 'Gemini 2.5 Pro Preview 05-06
|
|
120
|
+
displayName: 'Gemini 2.5 Pro Preview 05-06',
|
|
105
121
|
id: 'gemini-2.5-pro-preview-05-06',
|
|
106
122
|
maxOutput: 65_536,
|
|
107
123
|
pricing: {
|
|
108
124
|
units: [
|
|
109
|
-
{
|
|
125
|
+
{
|
|
126
|
+
name: 'textInput_cacheRead',
|
|
127
|
+
strategy: 'tiered',
|
|
128
|
+
tiers: [
|
|
129
|
+
{ rate: 0.31, upTo: 200_000 },
|
|
130
|
+
{ rate: 0.625, upTo: 'infinity' },
|
|
131
|
+
],
|
|
132
|
+
unit: 'millionTokens',
|
|
133
|
+
},
|
|
110
134
|
{
|
|
111
135
|
name: 'textInput',
|
|
112
136
|
strategy: 'tiered',
|
|
@@ -479,7 +503,7 @@ const googleChatModels: AIChatModelCard[] = [
|
|
|
479
503
|
contextWindowTokens: 2_008_192,
|
|
480
504
|
description:
|
|
481
505
|
'Gemini 1.5 Pro 002 是最新的生产就绪模型,提供更高质量的输出,特别在数学、长上下文和视觉任务方面有显著提升。',
|
|
482
|
-
displayName: 'Gemini 1.5 Pro 002
|
|
506
|
+
displayName: 'Gemini 1.5 Pro 002',
|
|
483
507
|
id: 'gemini-1.5-pro-002', // Deprecated on 2025-09-24
|
|
484
508
|
maxOutput: 8192,
|
|
485
509
|
pricing: {
|
|
@@ -73,24 +73,6 @@ const groqChatModels: AIChatModelCard[] = [
|
|
|
73
73
|
displayName: 'Kimi K2 0905',
|
|
74
74
|
enabled: true,
|
|
75
75
|
id: 'moonshotai/kimi-k2-instruct-0905',
|
|
76
|
-
pricing: {
|
|
77
|
-
units: [
|
|
78
|
-
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
|
|
79
|
-
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
|
|
80
|
-
],
|
|
81
|
-
},
|
|
82
|
-
releasedAt: '2025-09-05',
|
|
83
|
-
type: 'chat',
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
abilities: {
|
|
87
|
-
functionCall: true,
|
|
88
|
-
},
|
|
89
|
-
contextWindowTokens: 131_072,
|
|
90
|
-
description:
|
|
91
|
-
'kimi-k2 是一款具备超强代码和 Agent 能力的 MoE 架构基础模型,总参数 1T,激活参数 32B。在通用知识推理、编程、数学、Agent 等主要类别的基准性能测试中,K2 模型的性能超过其他主流开源模型。',
|
|
92
|
-
displayName: 'Kimi K2 0711',
|
|
93
|
-
id: 'moonshotai/kimi-k2-instruct',
|
|
94
76
|
maxOutput: 16_384,
|
|
95
77
|
pricing: {
|
|
96
78
|
units: [
|
|
@@ -98,7 +80,7 @@ const groqChatModels: AIChatModelCard[] = [
|
|
|
98
80
|
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
|
|
99
81
|
],
|
|
100
82
|
},
|
|
101
|
-
releasedAt: '2025-
|
|
83
|
+
releasedAt: '2025-09-05',
|
|
102
84
|
type: 'chat',
|
|
103
85
|
},
|
|
104
86
|
{
|
|
@@ -4,14 +4,20 @@ const modelscopeChatModels: AIChatModelCard[] = [
|
|
|
4
4
|
{
|
|
5
5
|
abilities: {
|
|
6
6
|
functionCall: true,
|
|
7
|
+
reasoning: true,
|
|
7
8
|
},
|
|
8
|
-
contextWindowTokens:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
contextWindowTokens: 131_072,
|
|
10
|
+
displayName: 'Qwen3 Next 80B A3B Thinking',
|
|
11
|
+
id: 'Qwen/Qwen3-Next-80B-A3B-Thinking',
|
|
12
|
+
type: 'chat',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
abilities: {
|
|
16
|
+
functionCall: true,
|
|
17
|
+
},
|
|
18
|
+
contextWindowTokens: 131_072,
|
|
19
|
+
displayName: 'Qwen3 Next 80B A3B Instruct',
|
|
20
|
+
id: 'Qwen/Qwen3-Next-80B-A3B-Instruct',
|
|
15
21
|
type: 'chat',
|
|
16
22
|
},
|
|
17
23
|
{
|
|
@@ -20,8 +26,8 @@ const modelscopeChatModels: AIChatModelCard[] = [
|
|
|
20
26
|
reasoning: true,
|
|
21
27
|
},
|
|
22
28
|
contextWindowTokens: 131_072,
|
|
23
|
-
description: 'DeepSeek
|
|
24
|
-
displayName: 'DeepSeek
|
|
29
|
+
description: 'DeepSeek V3.1 模型为混合推理架构模型,同时支持思考模式与非思考模式。',
|
|
30
|
+
displayName: 'DeepSeek V3.1',
|
|
25
31
|
enabled: true,
|
|
26
32
|
id: 'deepseek-ai/DeepSeek-V3.1',
|
|
27
33
|
type: 'chat',
|
|
@@ -34,7 +40,7 @@ const modelscopeChatModels: AIChatModelCard[] = [
|
|
|
34
40
|
contextWindowTokens: 131_072,
|
|
35
41
|
description:
|
|
36
42
|
'DeepSeek R1 通过利用增加的计算资源和在后训练过程中引入算法优化机制,显著提高了其推理和推断能力的深度。该模型在各种基准评估中表现出色,包括数学、编程和一般逻辑方面。其整体性能现已接近领先模型,如 O3 和 Gemini 2.5 Pro。',
|
|
37
|
-
displayName: 'DeepSeek
|
|
43
|
+
displayName: 'DeepSeek R1 0528',
|
|
38
44
|
id: 'deepseek-ai/DeepSeek-R1-0528',
|
|
39
45
|
type: 'chat',
|
|
40
46
|
},
|
|
@@ -44,8 +50,8 @@ const modelscopeChatModels: AIChatModelCard[] = [
|
|
|
44
50
|
reasoning: true,
|
|
45
51
|
},
|
|
46
52
|
contextWindowTokens: 131_072,
|
|
47
|
-
description: 'DeepSeek
|
|
48
|
-
displayName: 'DeepSeek
|
|
53
|
+
description: 'DeepSeek R1是DeepSeek最新的推理模型,专注于复杂推理任务。',
|
|
54
|
+
displayName: 'DeepSeek R1',
|
|
49
55
|
id: 'deepseek-ai/DeepSeek-R1',
|
|
50
56
|
type: 'chat',
|
|
51
57
|
},
|
|
@@ -54,8 +60,8 @@ const modelscopeChatModels: AIChatModelCard[] = [
|
|
|
54
60
|
functionCall: true,
|
|
55
61
|
},
|
|
56
62
|
contextWindowTokens: 131_072,
|
|
57
|
-
description: 'DeepSeek
|
|
58
|
-
displayName: 'DeepSeek
|
|
63
|
+
description: 'DeepSeek V3是DeepSeek第三代模型的最新版本,具有强大的推理和对话能力。',
|
|
64
|
+
displayName: 'DeepSeek V3',
|
|
59
65
|
id: 'deepseek-ai/DeepSeek-V3',
|
|
60
66
|
type: 'chat',
|
|
61
67
|
},
|
|
@@ -64,8 +70,8 @@ const modelscopeChatModels: AIChatModelCard[] = [
|
|
|
64
70
|
functionCall: true,
|
|
65
71
|
},
|
|
66
72
|
contextWindowTokens: 131_072,
|
|
67
|
-
description: 'Qwen3
|
|
68
|
-
displayName: 'Qwen3
|
|
73
|
+
description: 'Qwen3 235B A22B是通义千问3代超大规模模型,提供顶级的AI能力。',
|
|
74
|
+
displayName: 'Qwen3 235B A22B',
|
|
69
75
|
id: 'Qwen/Qwen3-235B-A22B',
|
|
70
76
|
type: 'chat',
|
|
71
77
|
},
|
|
@@ -74,8 +80,8 @@ const modelscopeChatModels: AIChatModelCard[] = [
|
|
|
74
80
|
functionCall: true,
|
|
75
81
|
},
|
|
76
82
|
contextWindowTokens: 131_072,
|
|
77
|
-
description: 'Qwen3
|
|
78
|
-
displayName: 'Qwen3
|
|
83
|
+
description: 'Qwen3 32B是通义千问3代模型,具有强大的推理和对话能力。',
|
|
84
|
+
displayName: 'Qwen3 32B',
|
|
79
85
|
id: 'Qwen/Qwen3-32B',
|
|
80
86
|
type: 'chat',
|
|
81
87
|
},
|
|
@@ -2,6 +2,52 @@ import { AIChatModelCard } from '../types/aiModel';
|
|
|
2
2
|
|
|
3
3
|
// https://novita.ai/pricing
|
|
4
4
|
const novitaChatModels: AIChatModelCard[] = [
|
|
5
|
+
{
|
|
6
|
+
abilities: {
|
|
7
|
+
functionCall: true,
|
|
8
|
+
reasoning: true,
|
|
9
|
+
},
|
|
10
|
+
contextWindowTokens: 65_536,
|
|
11
|
+
displayName: 'Qwen3 Next 80B A3B Thinking',
|
|
12
|
+
id: 'qwen/qwen3-next-80b-a3b-thinking',
|
|
13
|
+
maxOutput: 65_536,
|
|
14
|
+
pricing: {
|
|
15
|
+
units: [
|
|
16
|
+
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
|
|
17
|
+
{ name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
type: 'chat',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
abilities: {
|
|
24
|
+
functionCall: true,
|
|
25
|
+
},
|
|
26
|
+
contextWindowTokens: 65_536,
|
|
27
|
+
displayName: 'Qwen3 Next 80B A3B Instruct',
|
|
28
|
+
id: 'qwen/qwen3-next-80b-a3b-instruct',
|
|
29
|
+
maxOutput: 65_536,
|
|
30
|
+
pricing: {
|
|
31
|
+
units: [
|
|
32
|
+
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
|
|
33
|
+
{ name: 'textOutput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
type: 'chat',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
contextWindowTokens: 4096,
|
|
40
|
+
displayName: 'Qwen MT Plus',
|
|
41
|
+
id: 'qwen/qwen-mt-plus',
|
|
42
|
+
maxOutput: 2048,
|
|
43
|
+
pricing: {
|
|
44
|
+
units: [
|
|
45
|
+
{ name: 'textInput', rate: 0.25, strategy: 'fixed', unit: 'millionTokens' },
|
|
46
|
+
{ name: 'textOutput', rate: 0.75, strategy: 'fixed', unit: 'millionTokens' },
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
type: 'chat',
|
|
50
|
+
},
|
|
5
51
|
{
|
|
6
52
|
abilities: {
|
|
7
53
|
functionCall: true,
|
|
@@ -41,13 +87,13 @@ const novitaChatModels: AIChatModelCard[] = [
|
|
|
41
87
|
abilities: {
|
|
42
88
|
functionCall: true,
|
|
43
89
|
},
|
|
44
|
-
contextWindowTokens:
|
|
90
|
+
contextWindowTokens: 65_536,
|
|
45
91
|
displayName: 'Qwen3 Coder 480B A35B Instruct',
|
|
46
92
|
id: 'qwen/qwen3-coder-480b-a35b-instruct',
|
|
47
93
|
pricing: {
|
|
48
94
|
units: [
|
|
49
|
-
{ name: 'textInput', rate: 0.
|
|
50
|
-
{ name: 'textOutput', rate: 1.
|
|
95
|
+
{ name: 'textInput', rate: 0.29, strategy: 'fixed', unit: 'millionTokens' },
|
|
96
|
+
{ name: 'textOutput', rate: 1.2, strategy: 'fixed', unit: 'millionTokens' },
|
|
51
97
|
],
|
|
52
98
|
},
|
|
53
99
|
type: 'chat',
|
|
@@ -83,6 +129,24 @@ const novitaChatModels: AIChatModelCard[] = [
|
|
|
83
129
|
},
|
|
84
130
|
type: 'chat',
|
|
85
131
|
},
|
|
132
|
+
{
|
|
133
|
+
abilities: {
|
|
134
|
+
functionCall: true,
|
|
135
|
+
reasoning: true,
|
|
136
|
+
vision: true,
|
|
137
|
+
},
|
|
138
|
+
contextWindowTokens: 65_536,
|
|
139
|
+
displayName: 'GLM-4.5V',
|
|
140
|
+
id: 'zai-org/glm-4.5v',
|
|
141
|
+
maxOutput: 16_384,
|
|
142
|
+
pricing: {
|
|
143
|
+
units: [
|
|
144
|
+
{ name: 'textInput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
|
|
145
|
+
{ name: 'textOutput', rate: 1.8, strategy: 'fixed', unit: 'millionTokens' },
|
|
146
|
+
],
|
|
147
|
+
},
|
|
148
|
+
type: 'chat',
|
|
149
|
+
},
|
|
86
150
|
{
|
|
87
151
|
abilities: {
|
|
88
152
|
functionCall: true,
|
|
@@ -91,6 +155,7 @@ const novitaChatModels: AIChatModelCard[] = [
|
|
|
91
155
|
contextWindowTokens: 131_072,
|
|
92
156
|
displayName: 'GLM-4.5',
|
|
93
157
|
id: 'zai-org/glm-4.5',
|
|
158
|
+
maxOutput: 98_304,
|
|
94
159
|
pricing: {
|
|
95
160
|
units: [
|
|
96
161
|
{ name: 'textInput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
|
|
@@ -103,9 +168,10 @@ const novitaChatModels: AIChatModelCard[] = [
|
|
|
103
168
|
abilities: {
|
|
104
169
|
functionCall: true,
|
|
105
170
|
},
|
|
106
|
-
contextWindowTokens:
|
|
171
|
+
contextWindowTokens: 131_072,
|
|
107
172
|
displayName: 'Qwen3 235B A22B Instruct 2507',
|
|
108
173
|
id: 'qwen/qwen3-235b-a22b-instruct-2507',
|
|
174
|
+
maxOutput: 16_384,
|
|
109
175
|
pricing: {
|
|
110
176
|
units: [
|
|
111
177
|
{ name: 'textInput', rate: 0.15, strategy: 'fixed', unit: 'millionTokens' },
|
|
@@ -717,6 +783,7 @@ const novitaChatModels: AIChatModelCard[] = [
|
|
|
717
783
|
contextWindowTokens: 32_000,
|
|
718
784
|
displayName: 'Qwen2.5 72B Instruct',
|
|
719
785
|
id: 'qwen/qwen-2.5-72b-instruct',
|
|
786
|
+
maxOutput: 8192,
|
|
720
787
|
pricing: {
|
|
721
788
|
units: [
|
|
722
789
|
{ name: 'textInput', rate: 0.38, strategy: 'fixed', unit: 'millionTokens' },
|
|
@@ -770,7 +837,6 @@ const novitaChatModels: AIChatModelCard[] = [
|
|
|
770
837
|
},
|
|
771
838
|
contextWindowTokens: 32_768,
|
|
772
839
|
displayName: 'Qwen2.5 VL 72B Instruct',
|
|
773
|
-
enabled: true,
|
|
774
840
|
id: 'qwen/qwen2.5-vl-72b-instruct',
|
|
775
841
|
pricing: {
|
|
776
842
|
units: [
|
|
@@ -48,6 +48,92 @@ const qwenChatModels: AIChatModelCard[] = [
|
|
|
48
48
|
},
|
|
49
49
|
type: 'chat',
|
|
50
50
|
},
|
|
51
|
+
{
|
|
52
|
+
abilities: {
|
|
53
|
+
reasoning: true,
|
|
54
|
+
},
|
|
55
|
+
contextWindowTokens: 131_072,
|
|
56
|
+
description: 'GLM-4.5系列模型是智谱AI专为智能体设计的混合推理模型,提供思考与非思考两种模式。',
|
|
57
|
+
displayName: 'GLM-4.5',
|
|
58
|
+
id: 'glm-4.5',
|
|
59
|
+
maxOutput: 16_384,
|
|
60
|
+
pricing: {
|
|
61
|
+
currency: 'CNY',
|
|
62
|
+
units: [
|
|
63
|
+
{
|
|
64
|
+
lookup: {
|
|
65
|
+
prices: {
|
|
66
|
+
'[0, 32_000]': 3,
|
|
67
|
+
'[32_000, infinity]': 4,
|
|
68
|
+
},
|
|
69
|
+
pricingParams: ['textInputRange'],
|
|
70
|
+
},
|
|
71
|
+
name: 'textInput',
|
|
72
|
+
strategy: 'lookup',
|
|
73
|
+
unit: 'millionTokens',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
lookup: {
|
|
77
|
+
prices: {
|
|
78
|
+
'[0, 32_000]': 14,
|
|
79
|
+
'[32_000, infinity]': 16,
|
|
80
|
+
},
|
|
81
|
+
pricingParams: ['textInputRange'],
|
|
82
|
+
},
|
|
83
|
+
name: 'textOutput',
|
|
84
|
+
strategy: 'lookup',
|
|
85
|
+
unit: 'millionTokens',
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
settings: {
|
|
90
|
+
extendParams: ['enableReasoning', 'reasoningBudgetToken'],
|
|
91
|
+
},
|
|
92
|
+
type: 'chat',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
abilities: {
|
|
96
|
+
reasoning: true,
|
|
97
|
+
},
|
|
98
|
+
contextWindowTokens: 131_072,
|
|
99
|
+
description: 'GLM-4.5系列模型是智谱AI专为智能体设计的混合推理模型,提供思考与非思考两种模式。',
|
|
100
|
+
displayName: 'GLM-4.5-Air',
|
|
101
|
+
id: 'glm-4.5-air',
|
|
102
|
+
maxOutput: 16_384,
|
|
103
|
+
pricing: {
|
|
104
|
+
currency: 'CNY',
|
|
105
|
+
units: [
|
|
106
|
+
{
|
|
107
|
+
lookup: {
|
|
108
|
+
prices: {
|
|
109
|
+
'[0, 32_000]': 0.8,
|
|
110
|
+
'[32_000, infinity]': 1.2,
|
|
111
|
+
},
|
|
112
|
+
pricingParams: ['textInputRange'],
|
|
113
|
+
},
|
|
114
|
+
name: 'textInput',
|
|
115
|
+
strategy: 'lookup',
|
|
116
|
+
unit: 'millionTokens',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
lookup: {
|
|
120
|
+
prices: {
|
|
121
|
+
'[0, 32_000]': 6,
|
|
122
|
+
'[32_000, infinity]': 8,
|
|
123
|
+
},
|
|
124
|
+
pricingParams: ['textInputRange'],
|
|
125
|
+
},
|
|
126
|
+
name: 'textOutput',
|
|
127
|
+
strategy: 'lookup',
|
|
128
|
+
unit: 'millionTokens',
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
settings: {
|
|
133
|
+
extendParams: ['enableReasoning', 'reasoningBudgetToken'],
|
|
134
|
+
},
|
|
135
|
+
type: 'chat',
|
|
136
|
+
},
|
|
51
137
|
{
|
|
52
138
|
abilities: {
|
|
53
139
|
functionCall: true,
|
|
@@ -583,7 +669,7 @@ const qwenChatModels: AIChatModelCard[] = [
|
|
|
583
669
|
search: true,
|
|
584
670
|
},
|
|
585
671
|
config: {
|
|
586
|
-
deploymentName: 'qwen-plus-2025-
|
|
672
|
+
deploymentName: 'qwen-plus-2025-09-11',
|
|
587
673
|
},
|
|
588
674
|
contextWindowTokens: 1_000_000,
|
|
589
675
|
description: '通义千问超大规模语言模型增强版,支持中文、英文等不同语言输入。',
|
|
@@ -627,7 +713,6 @@ const qwenChatModels: AIChatModelCard[] = [
|
|
|
627
713
|
'[0, 128_000]_[false]': 2,
|
|
628
714
|
'[0, 128_000]_[true]': 8,
|
|
629
715
|
'[128_000, 256_000]_[false]': 20,
|
|
630
|
-
|
|
631
716
|
'[128_000, 256_000]_[true]': 24,
|
|
632
717
|
'[256_000, infinity]_[false]': 48,
|
|
633
718
|
'[256_000, infinity]_[true]': 64,
|
|
@@ -47,6 +47,25 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
|
47
47
|
},
|
|
48
48
|
type: 'chat',
|
|
49
49
|
},
|
|
50
|
+
{
|
|
51
|
+
abilities: {
|
|
52
|
+
functionCall: true,
|
|
53
|
+
},
|
|
54
|
+
contextWindowTokens: 131_072,
|
|
55
|
+
description:
|
|
56
|
+
'Ling-mini-2.0 是一款基于 MoE 架构的小尺寸高性能大语言模型。它拥有 16B 总参数,但每个 token 仅激活 1.4B(non-embedding 789M),从而实现了极高的生成速度。得益于高效的 MoE 设计与大规模高质量训练数据,尽管激活参数仅为 1.4B,Ling-mini-2.0 依然在下游任务中展现出可媲美 10B 以下 dense LLM 及更大规模 MoE 模型的顶尖性能',
|
|
57
|
+
displayName: 'Ling Mini 2.0',
|
|
58
|
+
id: 'inclusionAI/Ling-mini-2.0',
|
|
59
|
+
pricing: {
|
|
60
|
+
currency: 'CNY',
|
|
61
|
+
units: [
|
|
62
|
+
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
|
|
63
|
+
{ name: 'textOutput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
releasedAt: '2025-09-09',
|
|
67
|
+
type: 'chat',
|
|
68
|
+
},
|
|
50
69
|
{
|
|
51
70
|
abilities: {
|
|
52
71
|
functionCall: true,
|
|
@@ -223,10 +242,51 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
|
223
242
|
type: 'chat',
|
|
224
243
|
},
|
|
225
244
|
{
|
|
245
|
+
abilities: {
|
|
246
|
+
functionCall: true,
|
|
247
|
+
},
|
|
248
|
+
contextWindowTokens: 262_144,
|
|
249
|
+
description:
|
|
250
|
+
'Kimi K2-Instruct-0905 是 Kimi K2 最新、最强大的版本。它是一款顶尖的混合专家(MoE)语言模型,拥有 1 万亿的总参数和 320 亿的激活参数。该模型的主要特性包括:增强的智能体编码智能,在公开基准测试和真实世界的编码智能体任务中表现出显著的性能提升;改进的前端编码体验,在前端编程的美观性和实用性方面均有进步。',
|
|
251
|
+
displayName: 'Kimi K2 0905',
|
|
252
|
+
id: 'moonshotai/Kimi-K2-Instruct-0905',
|
|
253
|
+
pricing: {
|
|
254
|
+
currency: 'CNY',
|
|
255
|
+
units: [
|
|
256
|
+
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
|
|
257
|
+
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
|
|
258
|
+
],
|
|
259
|
+
},
|
|
260
|
+
releasedAt: '2025-09-05',
|
|
261
|
+
type: 'chat',
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
abilities: {
|
|
265
|
+
functionCall: true,
|
|
266
|
+
},
|
|
267
|
+
contextWindowTokens: 262_144,
|
|
268
|
+
description:
|
|
269
|
+
'Kimi K2-Instruct-0905 是 Kimi K2 最新、最强大的版本。它是一款顶尖的混合专家(MoE)语言模型,拥有 1 万亿的总参数和 320 亿的激活参数。该模型的主要特性包括:增强的智能体编码智能,在公开基准测试和真实世界的编码智能体任务中表现出显著的性能提升;改进的前端编码体验,在前端编程的美观性和实用性方面均有进步。',
|
|
270
|
+
displayName: 'Kimi K2 0905 (Pro)',
|
|
271
|
+
id: 'Pro/moonshotai/Kimi-K2-Instruct-0905',
|
|
272
|
+
pricing: {
|
|
273
|
+
currency: 'CNY',
|
|
274
|
+
units: [
|
|
275
|
+
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
|
|
276
|
+
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
|
|
277
|
+
],
|
|
278
|
+
},
|
|
279
|
+
releasedAt: '2025-09-05',
|
|
280
|
+
type: 'chat',
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
abilities: {
|
|
284
|
+
functionCall: true,
|
|
285
|
+
},
|
|
226
286
|
contextWindowTokens: 131_072,
|
|
227
287
|
description:
|
|
228
288
|
'Kimi K2 是一款具备超强代码和 Agent 能力的 MoE 架构基础模型,总参数 1T,激活参数 32B。在通用知识推理、编程、数学、Agent 等主要类别的基准性能测试中,K2 模型的性能超过其他主流开源模型。',
|
|
229
|
-
displayName: 'Kimi K2
|
|
289
|
+
displayName: 'Kimi K2 0711',
|
|
230
290
|
id: 'moonshotai/Kimi-K2-Instruct',
|
|
231
291
|
pricing: {
|
|
232
292
|
currency: 'CNY',
|
|
@@ -239,10 +299,13 @@ const siliconcloudChatModels: AIChatModelCard[] = [
|
|
|
239
299
|
type: 'chat',
|
|
240
300
|
},
|
|
241
301
|
{
|
|
302
|
+
abilities: {
|
|
303
|
+
functionCall: true,
|
|
304
|
+
},
|
|
242
305
|
contextWindowTokens: 131_072,
|
|
243
306
|
description:
|
|
244
307
|
'Kimi K2 是一款具备超强代码和 Agent 能力的 MoE 架构基础模型,总参数 1T,激活参数 32B。在通用知识推理、编程、数学、Agent 等主要类别的基准性能测试中,K2 模型的性能超过其他主流开源模型。',
|
|
245
|
-
displayName: 'Kimi K2
|
|
308
|
+
displayName: 'Kimi K2 0711 (Pro)',
|
|
246
309
|
id: 'Pro/moonshotai/Kimi-K2-Instruct',
|
|
247
310
|
pricing: {
|
|
248
311
|
currency: 'CNY',
|
|
@@ -35,17 +35,18 @@ const doubaoChatModels: AIChatModelCard[] = [
|
|
|
35
35
|
functionCall: true,
|
|
36
36
|
},
|
|
37
37
|
config: {
|
|
38
|
-
deploymentName: 'kimi-k2-
|
|
38
|
+
deploymentName: 'kimi-k2-250905',
|
|
39
39
|
},
|
|
40
|
-
contextWindowTokens:
|
|
40
|
+
contextWindowTokens: 131_072,
|
|
41
41
|
description:
|
|
42
42
|
'Kimi-K2 是一款Moonshot AI推出的具备超强代码和 Agent 能力的 MoE 架构基础模型,总参数 1T,激活参数 32B。在通用知识推理、编程、数学、Agent 等主要类别的基准性能测试中,K2 模型的性能超过其他主流开源模型。',
|
|
43
43
|
displayName: 'Kimi K2',
|
|
44
44
|
id: 'kimi-k2',
|
|
45
|
-
maxOutput:
|
|
45
|
+
maxOutput: 32_768,
|
|
46
46
|
pricing: {
|
|
47
47
|
currency: 'CNY',
|
|
48
48
|
units: [
|
|
49
|
+
{ name: 'textInput_cacheRead', rate: 0.8, strategy: 'fixed', unit: 'millionTokens' },
|
|
49
50
|
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
|
|
50
51
|
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
|
|
51
52
|
],
|
|
@@ -53,7 +53,7 @@ export const MODEL_LIST_CONFIGS = {
|
|
|
53
53
|
'qwen2.5',
|
|
54
54
|
'qwen3',
|
|
55
55
|
],
|
|
56
|
-
reasoningKeywords: ['qvq', 'qwq', 'qwen3', '!-instruct-', '!-coder-'],
|
|
56
|
+
reasoningKeywords: ['qvq', 'qwq', 'qwen3', '!-instruct-', '!-coder-', '!-max-'],
|
|
57
57
|
visionKeywords: ['qvq', 'vl'],
|
|
58
58
|
},
|
|
59
59
|
v0: {
|
|
@@ -303,9 +303,9 @@ const processModelCard = (
|
|
|
303
303
|
)
|
|
304
304
|
? 'image'
|
|
305
305
|
: isKeywordListMatch(
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
306
|
+
model.id.toLowerCase(),
|
|
307
|
+
EMBEDDING_MODEL_KEYWORDS.map((k) => k.toLowerCase()),
|
|
308
|
+
)
|
|
309
309
|
? 'embedding'
|
|
310
310
|
: 'chat');
|
|
311
311
|
|
|
@@ -2,7 +2,7 @@ import { ChatErrorType } from '@lobechat/types';
|
|
|
2
2
|
import OpenAI, { ClientOptions } from 'openai';
|
|
3
3
|
import urlJoin from 'url-join';
|
|
4
4
|
|
|
5
|
-
import { getLLMConfig } from '@/
|
|
5
|
+
import { getLLMConfig } from '@/envs/llm';
|
|
6
6
|
|
|
7
7
|
// create Azure OpenAI Instance
|
|
8
8
|
export const createAzureOpenai = (params: {
|