@lobehub/chat 1.53.12 → 1.55.0
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/CHANGELOG.md +58 -0
- package/Dockerfile +4 -0
- package/Dockerfile.database +4 -0
- package/README.ja-JP.md +1 -1
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/README.zh-TW.md +9 -14
- package/changelog/v1.json +21 -0
- package/docs/changelog/2024-11-25-november-providers.mdx +1 -1
- package/docs/changelog/2024-11-25-november-providers.zh-CN.mdx +1 -1
- package/docs/usage/features/multi-ai-providers.mdx +1 -1
- package/docs/usage/features/multi-ai-providers.zh-CN.mdx +1 -1
- package/locales/ar/modelProvider.json +0 -1
- package/locales/ar/setting.json +12 -9
- package/locales/bg-BG/modelProvider.json +0 -1
- package/locales/bg-BG/setting.json +12 -9
- package/locales/de-DE/modelProvider.json +0 -1
- package/locales/de-DE/setting.json +13 -10
- package/locales/en-US/modelProvider.json +0 -1
- package/locales/en-US/setting.json +12 -9
- package/locales/es-ES/modelProvider.json +0 -1
- package/locales/es-ES/setting.json +12 -9
- package/locales/fa-IR/modelProvider.json +0 -1
- package/locales/fa-IR/setting.json +12 -9
- package/locales/fr-FR/modelProvider.json +0 -1
- package/locales/fr-FR/setting.json +12 -9
- package/locales/it-IT/modelProvider.json +0 -1
- package/locales/it-IT/setting.json +13 -10
- package/locales/ja-JP/modelProvider.json +0 -1
- package/locales/ja-JP/setting.json +12 -9
- package/locales/ko-KR/modelProvider.json +0 -1
- package/locales/ko-KR/setting.json +12 -9
- package/locales/nl-NL/modelProvider.json +0 -1
- package/locales/nl-NL/setting.json +12 -9
- package/locales/pl-PL/modelProvider.json +0 -1
- package/locales/pl-PL/setting.json +12 -9
- package/locales/pt-BR/modelProvider.json +0 -1
- package/locales/pt-BR/setting.json +13 -10
- package/locales/ru-RU/modelProvider.json +0 -1
- package/locales/ru-RU/setting.json +12 -9
- package/locales/tr-TR/modelProvider.json +0 -1
- package/locales/tr-TR/setting.json +12 -9
- package/locales/vi-VN/modelProvider.json +0 -1
- package/locales/vi-VN/setting.json +12 -9
- package/locales/zh-CN/modelProvider.json +0 -1
- package/locales/zh-CN/setting.json +13 -10
- package/locales/zh-TW/modelProvider.json +0 -1
- package/locales/zh-TW/setting.json +12 -9
- package/package.json +1 -1
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/index.tsx +1 -1
- package/src/app/[variants]/(main)/settings/llm/ProviderList/providers.tsx +4 -0
- package/src/components/InfoTooltip/index.tsx +25 -0
- package/src/components/Loading/UpdateLoading/index.tsx +19 -0
- package/src/config/aiModels/index.ts +6 -0
- package/src/config/aiModels/nvidia.ts +155 -0
- package/src/config/aiModels/vllm.ts +94 -0
- package/src/config/llm.ts +12 -0
- package/src/config/modelProviders/index.ts +8 -0
- package/src/config/modelProviders/nvidia.ts +21 -0
- package/src/config/modelProviders/vllm.ts +20 -0
- package/src/const/url.ts +1 -1
- package/src/features/ChatInput/ActionBar/Params/ParamsControls.tsx +95 -0
- package/src/features/ChatInput/ActionBar/Params/index.tsx +47 -0
- package/src/features/ChatInput/ActionBar/config.ts +3 -2
- package/src/features/ChatInput/Mobile/index.tsx +1 -1
- package/src/features/ModelParamsControl/FrequencyPenalty.tsx +37 -0
- package/src/features/ModelParamsControl/PresencePenalty.tsx +35 -0
- package/src/features/ModelParamsControl/Temperature.tsx +71 -0
- package/src/features/ModelParamsControl/TopP.tsx +39 -0
- package/src/features/ModelParamsControl/index.ts +4 -0
- package/src/libs/agent-runtime/AgentRuntime.ts +14 -0
- package/src/libs/agent-runtime/nvidia/index.ts +44 -0
- package/src/libs/agent-runtime/types/type.ts +2 -0
- package/src/libs/agent-runtime/vllm/index.ts +44 -0
- package/src/locales/default/setting.ts +12 -9
- package/src/types/user/settings/keyVaults.ts +2 -0
- package/src/features/ChatInput/ActionBar/Temperature.tsx +0 -49
@@ -204,8 +204,8 @@
|
|
204
204
|
"title": "開啟推理強度調整"
|
205
205
|
},
|
206
206
|
"frequencyPenalty": {
|
207
|
-
"desc": "
|
208
|
-
"title": "
|
207
|
+
"desc": "值越大,用詞越豐富多樣;值越低,用詞更樸實簡單",
|
208
|
+
"title": "詞彙豐富度"
|
209
209
|
},
|
210
210
|
"maxTokens": {
|
211
211
|
"desc": "單次互動所使用的最大 Token 數",
|
@@ -215,9 +215,12 @@
|
|
215
215
|
"desc": "{{provider}} 模型",
|
216
216
|
"title": "模型"
|
217
217
|
},
|
218
|
+
"params": {
|
219
|
+
"title": "高級參數"
|
220
|
+
},
|
218
221
|
"presencePenalty": {
|
219
|
-
"desc": "
|
220
|
-
"title": "
|
222
|
+
"desc": "值越大,越傾向不同的表達方式,避免概念重複;值越小,越傾向使用重複的概念或敘述,表達更具一致性",
|
223
|
+
"title": "表述發散度"
|
221
224
|
},
|
222
225
|
"reasoningEffort": {
|
223
226
|
"desc": "值越大,推理能力越強,但可能會增加回應時間和 Token 消耗",
|
@@ -229,14 +232,14 @@
|
|
229
232
|
"title": "推理強度"
|
230
233
|
},
|
231
234
|
"temperature": {
|
232
|
-
"desc": "
|
233
|
-
"title": "
|
234
|
-
"
|
235
|
+
"desc": "數值越大,回答越有創意和想像力;數值越小,回答越嚴謹",
|
236
|
+
"title": "創意活躍度",
|
237
|
+
"warning": "創意活躍度數值過大,輸出可能會產生亂碼"
|
235
238
|
},
|
236
239
|
"title": "模型設定",
|
237
240
|
"topP": {
|
238
|
-
"desc": "
|
239
|
-
"title": "
|
241
|
+
"desc": "考慮多少種可能性,值越大,接受更多可能的回答;值越小,傾向選擇最可能的回答。不推薦和創意活躍度一起更改",
|
242
|
+
"title": "思維開放度"
|
240
243
|
}
|
241
244
|
},
|
242
245
|
"settingPlugin": {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@lobehub/chat",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.55.0",
|
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",
|
@@ -17,6 +17,7 @@ import {
|
|
17
17
|
MistralProviderCard,
|
18
18
|
MoonshotProviderCard,
|
19
19
|
NovitaProviderCard,
|
20
|
+
NvidiaProviderCard,
|
20
21
|
OpenRouterProviderCard,
|
21
22
|
PerplexityProviderCard,
|
22
23
|
QwenProviderCard,
|
@@ -27,6 +28,7 @@ import {
|
|
27
28
|
TaichuProviderCard,
|
28
29
|
TogetherAIProviderCard,
|
29
30
|
UpstageProviderCard,
|
31
|
+
VLLMProviderCard,
|
30
32
|
WenxinProviderCard,
|
31
33
|
XAIProviderCard,
|
32
34
|
ZeroOneProviderCard,
|
@@ -56,6 +58,7 @@ export const useProviderList = (): ProviderItem[] => {
|
|
56
58
|
OpenAIProvider,
|
57
59
|
AzureProvider,
|
58
60
|
OllamaProvider,
|
61
|
+
VLLMProviderCard,
|
59
62
|
AnthropicProviderCard,
|
60
63
|
BedrockProvider,
|
61
64
|
GoogleProviderCard,
|
@@ -68,6 +71,7 @@ export const useProviderList = (): ProviderItem[] => {
|
|
68
71
|
TogetherAIProviderCard,
|
69
72
|
FireworksAIProviderCard,
|
70
73
|
GroqProviderCard,
|
74
|
+
NvidiaProviderCard,
|
71
75
|
PerplexityProviderCard,
|
72
76
|
MistralProviderCard,
|
73
77
|
Ai21ProviderCard,
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { Icon, Tooltip, TooltipProps } from '@lobehub/ui';
|
2
|
+
import { IconSizeType } from '@lobehub/ui/es/Icon';
|
3
|
+
import { useTheme } from 'antd-style';
|
4
|
+
import { CircleHelp } from 'lucide-react';
|
5
|
+
import { CSSProperties, memo } from 'react';
|
6
|
+
|
7
|
+
interface InfoTooltipProps extends Omit<TooltipProps, 'children'> {
|
8
|
+
iconStyle?: CSSProperties;
|
9
|
+
size?: IconSizeType;
|
10
|
+
}
|
11
|
+
|
12
|
+
const InfoTooltip = memo<InfoTooltipProps>(({ size, iconStyle, ...res }) => {
|
13
|
+
const theme = useTheme();
|
14
|
+
return (
|
15
|
+
<Tooltip {...res}>
|
16
|
+
<Icon
|
17
|
+
icon={CircleHelp}
|
18
|
+
size={size}
|
19
|
+
style={{ color: theme.colorTextTertiary, ...iconStyle }}
|
20
|
+
/>
|
21
|
+
</Tooltip>
|
22
|
+
);
|
23
|
+
});
|
24
|
+
|
25
|
+
export default InfoTooltip;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { Icon } from '@lobehub/ui';
|
2
|
+
import { IconSizeType } from '@lobehub/ui/es/Icon';
|
3
|
+
import { Loader2 } from 'lucide-react';
|
4
|
+
import { CSSProperties, memo } from 'react';
|
5
|
+
|
6
|
+
interface UpdateLoadingProps {
|
7
|
+
size?: IconSizeType;
|
8
|
+
style?: CSSProperties;
|
9
|
+
}
|
10
|
+
|
11
|
+
const UpdateLoading = memo<UpdateLoadingProps>(({ size, style }) => {
|
12
|
+
return (
|
13
|
+
<div style={style}>
|
14
|
+
<Icon icon={Loader2} size={size} spin />
|
15
|
+
</div>
|
16
|
+
);
|
17
|
+
});
|
18
|
+
|
19
|
+
export default UpdateLoading;
|
@@ -23,6 +23,7 @@ import { default as minimax } from './minimax';
|
|
23
23
|
import { default as mistral } from './mistral';
|
24
24
|
import { default as moonshot } from './moonshot';
|
25
25
|
import { default as novita } from './novita';
|
26
|
+
import { default as nvidia } from './nvidia';
|
26
27
|
import { default as ollama } from './ollama';
|
27
28
|
import { default as openai } from './openai';
|
28
29
|
import { default as openrouter } from './openrouter';
|
@@ -36,6 +37,7 @@ import { default as taichu } from './taichu';
|
|
36
37
|
import { default as tencentcloud } from './tencentcloud';
|
37
38
|
import { default as togetherai } from './togetherai';
|
38
39
|
import { default as upstage } from './upstage';
|
40
|
+
import { default as vllm } from './vllm';
|
39
41
|
import { default as wenxin } from './wenxin';
|
40
42
|
import { default as xai } from './xai';
|
41
43
|
import { default as zeroone } from './zeroone';
|
@@ -84,6 +86,7 @@ export const LOBE_DEFAULT_MODEL_LIST = buildDefaultModelList({
|
|
84
86
|
mistral,
|
85
87
|
moonshot,
|
86
88
|
novita,
|
89
|
+
nvidia,
|
87
90
|
ollama,
|
88
91
|
openai,
|
89
92
|
openrouter,
|
@@ -97,6 +100,7 @@ export const LOBE_DEFAULT_MODEL_LIST = buildDefaultModelList({
|
|
97
100
|
tencentcloud,
|
98
101
|
togetherai,
|
99
102
|
upstage,
|
103
|
+
vllm,
|
100
104
|
wenxin,
|
101
105
|
xai,
|
102
106
|
zeroone,
|
@@ -126,6 +130,7 @@ export { default as minimax } from './minimax';
|
|
126
130
|
export { default as mistral } from './mistral';
|
127
131
|
export { default as moonshot } from './moonshot';
|
128
132
|
export { default as novita } from './novita';
|
133
|
+
export { default as nvidia } from './nvidia';
|
129
134
|
export { default as ollama } from './ollama';
|
130
135
|
export { default as openai } from './openai';
|
131
136
|
export { default as openrouter } from './openrouter';
|
@@ -139,6 +144,7 @@ export { default as taichu } from './taichu';
|
|
139
144
|
export { default as tencentcloud } from './tencentcloud';
|
140
145
|
export { default as togetherai } from './togetherai';
|
141
146
|
export { default as upstage } from './upstage';
|
147
|
+
export { default as vllm } from './vllm';
|
142
148
|
export { default as wenxin } from './wenxin';
|
143
149
|
export { default as xai } from './xai';
|
144
150
|
export { default as zeroone } from './zeroone';
|
@@ -0,0 +1,155 @@
|
|
1
|
+
import { AIChatModelCard } from '@/types/aiModel';
|
2
|
+
|
3
|
+
const nvidiaChatModels: AIChatModelCard[] = [
|
4
|
+
{
|
5
|
+
abilities: {
|
6
|
+
functionCall: true,
|
7
|
+
},
|
8
|
+
contextWindowTokens: 128_000,
|
9
|
+
description: '先进的 LLM,擅长推理、数学、常识和函数调用。',
|
10
|
+
displayName: 'Llama 3.3 70B Instruct',
|
11
|
+
enabled: true,
|
12
|
+
id: 'meta/llama-3.3-70b-instruct',
|
13
|
+
type: 'chat'
|
14
|
+
},
|
15
|
+
{
|
16
|
+
contextWindowTokens: 128_000,
|
17
|
+
description: '先进的最尖端小型语言模型,具备语言理解、卓越的推理能力和文本生成能力。',
|
18
|
+
displayName: 'Llama 3.2 1B Instruct',
|
19
|
+
id: 'meta/llama-3.2-1b-instruct',
|
20
|
+
type: 'chat'
|
21
|
+
},
|
22
|
+
{
|
23
|
+
contextWindowTokens: 128_000,
|
24
|
+
description: '先进的最尖端小型语言模型,具备语言理解、卓越的推理能力和文本生成能力。',
|
25
|
+
displayName: 'Llama 3.2 3B Instruct',
|
26
|
+
id: 'meta/llama-3.2-3b-instruct',
|
27
|
+
type: 'chat'
|
28
|
+
},
|
29
|
+
{
|
30
|
+
abilities: {
|
31
|
+
vision: true,
|
32
|
+
},
|
33
|
+
contextWindowTokens: 128_000,
|
34
|
+
description: '尖端的视觉-语言模型,擅长从图像中进行高质量推理。',
|
35
|
+
displayName: 'Llama 3.2 11B Vision Instruct',
|
36
|
+
enabled: true,
|
37
|
+
id: 'meta/llama-3.2-11b-vision-instruct',
|
38
|
+
type: 'chat'
|
39
|
+
},
|
40
|
+
{
|
41
|
+
abilities: {
|
42
|
+
vision: true,
|
43
|
+
},
|
44
|
+
contextWindowTokens: 128_000,
|
45
|
+
description: '尖端的视觉-语言模型,擅长从图像中进行高质量推理。',
|
46
|
+
displayName: 'Llama 3.2 90B Vision Instruct',
|
47
|
+
id: 'meta/llama-3.2-90b-vision-instruct',
|
48
|
+
type: 'chat'
|
49
|
+
},
|
50
|
+
{
|
51
|
+
abilities: {
|
52
|
+
functionCall: true,
|
53
|
+
},
|
54
|
+
contextWindowTokens: 128_000,
|
55
|
+
description: '先进的最尖端模型,具备语言理解、卓越的推理能力和文本生成能力。',
|
56
|
+
displayName: 'Llama 3.1 8B Instruct',
|
57
|
+
id: 'meta/llama-3.1-8b-instruct',
|
58
|
+
type: 'chat'
|
59
|
+
},
|
60
|
+
{
|
61
|
+
abilities: {
|
62
|
+
functionCall: true,
|
63
|
+
},
|
64
|
+
contextWindowTokens: 128_000,
|
65
|
+
description: '赋能复杂对话,具备卓越的上下文理解、推理能力和文本生成能力。',
|
66
|
+
displayName: 'Llama 3.1 70B Instruct',
|
67
|
+
id: 'meta/llama-3.1-70b-instruct',
|
68
|
+
type: 'chat'
|
69
|
+
},
|
70
|
+
{
|
71
|
+
abilities: {
|
72
|
+
functionCall: true,
|
73
|
+
},
|
74
|
+
contextWindowTokens: 128_000,
|
75
|
+
description: '高级 LLM,支持合成数据生成、知识蒸馏和推理,适用于聊天机器人、编程和特定领域任务。',
|
76
|
+
displayName: 'Llama 3.1 405B Instruct',
|
77
|
+
id: 'meta/llama-3.1-405b-instruct',
|
78
|
+
type: 'chat'
|
79
|
+
},
|
80
|
+
{
|
81
|
+
contextWindowTokens: 32_768,
|
82
|
+
description: '独特的语言模型,提供无与伦比的准确性和效率表现。',
|
83
|
+
displayName: 'Llama 3.1 Nemotron 51B Instruct',
|
84
|
+
id: 'nvidia/llama-3.1-nemotron-51b-instruct',
|
85
|
+
type: 'chat'
|
86
|
+
},
|
87
|
+
{
|
88
|
+
contextWindowTokens: 32_768,
|
89
|
+
description: 'Llama-3.1-Nemotron-70B-Instruct 是 NVIDIA 定制的大型语言模型,旨在提高 LLM 生成的响应的帮助性。',
|
90
|
+
displayName: 'Llama 3.1 Nemotron 70B Instruct',
|
91
|
+
id: 'nvidia/llama-3.1-nemotron-70b-instruct',
|
92
|
+
type: 'chat'
|
93
|
+
},
|
94
|
+
{
|
95
|
+
contextWindowTokens: 8192,
|
96
|
+
description: '面向边缘应用的高级小型语言生成 AI 模型。',
|
97
|
+
displayName: 'Gemma 2 2B Instruct',
|
98
|
+
id: 'google/gemma-2-2b-it',
|
99
|
+
type: 'chat'
|
100
|
+
},
|
101
|
+
{
|
102
|
+
contextWindowTokens: 8192,
|
103
|
+
description: '尖端文本生成模型,擅长文本理解、转换和代码生成。',
|
104
|
+
displayName: 'Gemma 2 9B Instruct',
|
105
|
+
id: 'google/gemma-2-9b-it',
|
106
|
+
type: 'chat'
|
107
|
+
},
|
108
|
+
{
|
109
|
+
contextWindowTokens: 8192,
|
110
|
+
description: '尖端文本生成模型,擅长文本理解、转换和代码生成。',
|
111
|
+
displayName: 'Gemma 2 27B Instruct',
|
112
|
+
id: 'google/gemma-2-27b-it',
|
113
|
+
type: 'chat'
|
114
|
+
},
|
115
|
+
{
|
116
|
+
abilities: {
|
117
|
+
reasoning: true,
|
118
|
+
},
|
119
|
+
contextWindowTokens: 128_000,
|
120
|
+
description: '最先进的高效 LLM,擅长推理、数学和编程。',
|
121
|
+
displayName: 'DeepSeek R1',
|
122
|
+
enabled: true,
|
123
|
+
id: 'deepseek-ai/deepseek-r1',
|
124
|
+
type: 'chat'
|
125
|
+
},
|
126
|
+
{
|
127
|
+
abilities: {
|
128
|
+
functionCall: true,
|
129
|
+
},
|
130
|
+
contextWindowTokens: 32_768,
|
131
|
+
description: '面向中文和英文的 LLM,针对语言、编程、数学、推理等领域。',
|
132
|
+
displayName: 'Qwen2.5 7B Instruct',
|
133
|
+
enabled: true,
|
134
|
+
id: 'qwen/qwen2.5-7b-instruct',
|
135
|
+
type: 'chat'
|
136
|
+
},
|
137
|
+
{
|
138
|
+
contextWindowTokens: 32_768,
|
139
|
+
description: '强大的中型代码模型,支持 32K 上下文长度,擅长多语言编程。',
|
140
|
+
displayName: 'Qwen2.5 Coder 7B Instruct',
|
141
|
+
id: 'qwen/qwen2.5-coder-7b-instruct',
|
142
|
+
type: 'chat'
|
143
|
+
},
|
144
|
+
{
|
145
|
+
contextWindowTokens: 32_768,
|
146
|
+
description: '高级 LLM,支持代码生成、推理和修复,涵盖主流编程语言。',
|
147
|
+
displayName: 'Qwen2.5 Coder 32B Instruct',
|
148
|
+
id: 'qwen/qwen2.5-coder-32b-instruct',
|
149
|
+
type: 'chat'
|
150
|
+
},
|
151
|
+
]
|
152
|
+
|
153
|
+
export const allModels = [...nvidiaChatModels];
|
154
|
+
|
155
|
+
export default allModels;
|
@@ -0,0 +1,94 @@
|
|
1
|
+
import { AIChatModelCard } from '@/types/aiModel';
|
2
|
+
|
3
|
+
const vllmChatModels: AIChatModelCard[] = [
|
4
|
+
{
|
5
|
+
abilities: {
|
6
|
+
functionCall: true
|
7
|
+
},
|
8
|
+
contextWindowTokens: 128_000,
|
9
|
+
description:
|
10
|
+
'Llama 3.1 是 Meta 推出的领先模型,支持高达 405B 参数,可应用于复杂对话、多语言翻译和数据分析领域。',
|
11
|
+
displayName: 'Llama 3.1 70B',
|
12
|
+
enabled: true,
|
13
|
+
id: 'meta-llama/Meta-Llama-3.1-70B',
|
14
|
+
type: 'chat',
|
15
|
+
},
|
16
|
+
{
|
17
|
+
abilities: {
|
18
|
+
functionCall: true
|
19
|
+
},
|
20
|
+
contextWindowTokens: 128_000,
|
21
|
+
description:
|
22
|
+
'Llama 3.1 是 Meta 推出的领先模型,支持高达 405B 参数,可应用于复杂对话、多语言翻译和数据分析领域。',
|
23
|
+
displayName: 'Llama 3.1 405B Instruct',
|
24
|
+
id: 'meta-llama/Meta-Llama-3.1-405B-Instruct',
|
25
|
+
type: 'chat',
|
26
|
+
},
|
27
|
+
{
|
28
|
+
contextWindowTokens: 8192,
|
29
|
+
description:
|
30
|
+
'Gemma 2 是 Google 推出的高效模型,涵盖从小型应用到复杂数据处理的多种应用场景。',
|
31
|
+
displayName: 'Gemma 2 9B',
|
32
|
+
id: 'google/gemma-2-9b',
|
33
|
+
type: 'chat',
|
34
|
+
},
|
35
|
+
{
|
36
|
+
contextWindowTokens: 8192,
|
37
|
+
description:
|
38
|
+
'Gemma 2 是 Google 推出的高效模型,涵盖从小型应用到复杂数据处理的多种应用场景。',
|
39
|
+
displayName: 'Gemma 2 27B',
|
40
|
+
id: 'google/gemma-2-27b',
|
41
|
+
type: 'chat',
|
42
|
+
},
|
43
|
+
{
|
44
|
+
contextWindowTokens: 8192,
|
45
|
+
description:
|
46
|
+
'Mistral (7B) Instruct 以高性能著称,适用于多种语言任务。',
|
47
|
+
displayName: 'Mistral 7B Instruct v0.1',
|
48
|
+
id: 'mistralai/Mistral-7B-Instruct-v0.1',
|
49
|
+
type: 'chat',
|
50
|
+
},
|
51
|
+
{
|
52
|
+
contextWindowTokens: 32_768,
|
53
|
+
description:
|
54
|
+
'Mixtral-8x7B Instruct (46.7B) 提供高容量的计算框架,适合大规模数据处理。',
|
55
|
+
displayName: 'Mistral 8x7B Instruct v0.1',
|
56
|
+
id: 'mistralai/Mixtral-8x7B-Instruct-v0.1',
|
57
|
+
type: 'chat',
|
58
|
+
},
|
59
|
+
{
|
60
|
+
abilities: {
|
61
|
+
functionCall: true
|
62
|
+
},
|
63
|
+
contextWindowTokens: 65_536,
|
64
|
+
description:
|
65
|
+
'DeepSeek-V3 是一款拥有 6710 亿参数的混合专家(MoE)语言模型,采用多头潜在注意力(MLA)和 DeepSeekMoE 架构,结合无辅助损失的负载平衡策略,优化推理和训练效率。通过在 14.8 万亿高质量tokens上预训练,并进行监督微调和强化学习,DeepSeek-V3 在性能上超越其他开源模型,接近领先闭源模型。',
|
66
|
+
displayName: 'DeepSeek V3',
|
67
|
+
enabled: true,
|
68
|
+
id: 'deepseek-ai/DeepSeek-V3',
|
69
|
+
type: 'chat',
|
70
|
+
},
|
71
|
+
{
|
72
|
+
abilities: {
|
73
|
+
reasoning: true
|
74
|
+
},
|
75
|
+
contextWindowTokens: 32_768,
|
76
|
+
description: 'Qwen QwQ 是由 Qwen 团队开发的实验研究模型,专注于提升AI推理能力。',
|
77
|
+
displayName: 'QwQ 32B Preview',
|
78
|
+
enabled: true,
|
79
|
+
id: 'Qwen/QwQ-32B-Preview',
|
80
|
+
type: 'chat',
|
81
|
+
},
|
82
|
+
{
|
83
|
+
contextWindowTokens: 32_768,
|
84
|
+
description: 'Qwen2-7B-Instruct 是 Qwen2 系列中的指令微调大语言模型,参数规模为 7B。该模型基于 Transformer 架构,采用了 SwiGLU 激活函数、注意力 QKV 偏置和组查询注意力等技术。它能够处理大规模输入。该模型在语言理解、生成、多语言能力、编码、数学和推理等多个基准测试中表现出色,超越了大多数开源模型,并在某些任务上展现出与专有模型相当的竞争力。Qwen2-7B-Instruct 在多项评测中均优于 Qwen1.5-7B-Chat,显示出显著的性能提升',
|
85
|
+
displayName: 'Qwen2 7B Instruct',
|
86
|
+
enabled: true,
|
87
|
+
id: 'Qwen/Qwen2-7B-Instruct',
|
88
|
+
type: 'chat',
|
89
|
+
},
|
90
|
+
]
|
91
|
+
|
92
|
+
export const allModels = [...vllmChatModels];
|
93
|
+
|
94
|
+
export default allModels;
|
package/src/config/llm.ts
CHANGED
@@ -68,6 +68,9 @@ export const getLLMConfig = () => {
|
|
68
68
|
|
69
69
|
ENABLED_OLLAMA: z.boolean(),
|
70
70
|
|
71
|
+
ENABLED_VLLM: z.boolean(),
|
72
|
+
VLLM_API_KEY: z.string().optional(),
|
73
|
+
|
71
74
|
ENABLED_QWEN: z.boolean(),
|
72
75
|
QWEN_API_KEY: z.string().optional(),
|
73
76
|
|
@@ -77,6 +80,9 @@ export const getLLMConfig = () => {
|
|
77
80
|
ENABLED_NOVITA: z.boolean(),
|
78
81
|
NOVITA_API_KEY: z.string().optional(),
|
79
82
|
|
83
|
+
ENABLED_NVIDIA: z.boolean(),
|
84
|
+
NVIDIA_API_KEY: z.string().optional(),
|
85
|
+
|
80
86
|
ENABLED_BAICHUAN: z.boolean(),
|
81
87
|
BAICHUAN_API_KEY: z.string().optional(),
|
82
88
|
|
@@ -193,6 +199,9 @@ export const getLLMConfig = () => {
|
|
193
199
|
|
194
200
|
ENABLED_OLLAMA: process.env.ENABLED_OLLAMA !== '0',
|
195
201
|
|
202
|
+
ENABLED_VLLM: !!process.env.VLLM_API_KEY,
|
203
|
+
VLLM_API_KEY: process.env.VLLM_API_KEY,
|
204
|
+
|
196
205
|
ENABLED_QWEN: !!process.env.QWEN_API_KEY,
|
197
206
|
QWEN_API_KEY: process.env.QWEN_API_KEY,
|
198
207
|
|
@@ -202,6 +211,9 @@ export const getLLMConfig = () => {
|
|
202
211
|
ENABLED_NOVITA: !!process.env.NOVITA_API_KEY,
|
203
212
|
NOVITA_API_KEY: process.env.NOVITA_API_KEY,
|
204
213
|
|
214
|
+
ENABLED_NVIDIA: !!process.env.NVIDIA_API_KEY,
|
215
|
+
NVIDIA_API_KEY: process.env.NVIDIA_API_KEY,
|
216
|
+
|
205
217
|
ENABLED_BAICHUAN: !!process.env.BAICHUAN_API_KEY,
|
206
218
|
BAICHUAN_API_KEY: process.env.BAICHUAN_API_KEY,
|
207
219
|
|
@@ -23,6 +23,7 @@ import MinimaxProvider from './minimax';
|
|
23
23
|
import MistralProvider from './mistral';
|
24
24
|
import MoonshotProvider from './moonshot';
|
25
25
|
import NovitaProvider from './novita';
|
26
|
+
import NvidiaProvider from './nvidia';
|
26
27
|
import OllamaProvider from './ollama';
|
27
28
|
import OpenAIProvider from './openai';
|
28
29
|
import OpenRouterProvider from './openrouter';
|
@@ -36,6 +37,7 @@ import TaichuProvider from './taichu';
|
|
36
37
|
import TencentcloudProvider from './tencentcloud';
|
37
38
|
import TogetherAIProvider from './togetherai';
|
38
39
|
import UpstageProvider from './upstage';
|
40
|
+
import VLLMProvider from './vllm';
|
39
41
|
import WenxinProvider from './wenxin';
|
40
42
|
import XAIProvider from './xai';
|
41
43
|
import ZeroOneProvider from './zeroone';
|
@@ -57,6 +59,7 @@ export const LOBE_DEFAULT_MODEL_LIST: ChatModelCard[] = [
|
|
57
59
|
MistralProvider.chatModels,
|
58
60
|
MoonshotProvider.chatModels,
|
59
61
|
OllamaProvider.chatModels,
|
62
|
+
VLLMProvider.chatModels,
|
60
63
|
OpenRouterProvider.chatModels,
|
61
64
|
TogetherAIProvider.chatModels,
|
62
65
|
FireworksAIProvider.chatModels,
|
@@ -67,6 +70,7 @@ export const LOBE_DEFAULT_MODEL_LIST: ChatModelCard[] = [
|
|
67
70
|
ZeroOneProvider.chatModels,
|
68
71
|
StepfunProvider.chatModels,
|
69
72
|
NovitaProvider.chatModels,
|
73
|
+
NvidiaProvider.chatModels,
|
70
74
|
BaichuanProvider.chatModels,
|
71
75
|
TaichuProvider.chatModels,
|
72
76
|
CloudflareProvider.chatModels,
|
@@ -87,6 +91,7 @@ export const DEFAULT_MODEL_PROVIDER_LIST = [
|
|
87
91
|
OpenAIProvider,
|
88
92
|
{ ...AzureProvider, chatModels: [] },
|
89
93
|
OllamaProvider,
|
94
|
+
VLLMProvider,
|
90
95
|
AnthropicProvider,
|
91
96
|
BedrockProvider,
|
92
97
|
GoogleProvider,
|
@@ -96,6 +101,7 @@ export const DEFAULT_MODEL_PROVIDER_LIST = [
|
|
96
101
|
CloudflareProvider,
|
97
102
|
GithubProvider,
|
98
103
|
NovitaProvider,
|
104
|
+
NvidiaProvider,
|
99
105
|
TogetherAIProvider,
|
100
106
|
FireworksAIProvider,
|
101
107
|
GroqProvider,
|
@@ -158,6 +164,7 @@ export { default as MinimaxProviderCard } from './minimax';
|
|
158
164
|
export { default as MistralProviderCard } from './mistral';
|
159
165
|
export { default as MoonshotProviderCard } from './moonshot';
|
160
166
|
export { default as NovitaProviderCard } from './novita';
|
167
|
+
export { default as NvidiaProviderCard } from './nvidia';
|
161
168
|
export { default as OllamaProviderCard } from './ollama';
|
162
169
|
export { default as OpenAIProviderCard } from './openai';
|
163
170
|
export { default as OpenRouterProviderCard } from './openrouter';
|
@@ -171,6 +178,7 @@ export { default as TaichuProviderCard } from './taichu';
|
|
171
178
|
export { default as TencentCloudProviderCard } from './tencentcloud';
|
172
179
|
export { default as TogetherAIProviderCard } from './togetherai';
|
173
180
|
export { default as UpstageProviderCard } from './upstage';
|
181
|
+
export { default as VLLMProviderCard } from './vllm';
|
174
182
|
export { default as WenxinProviderCard } from './wenxin';
|
175
183
|
export { default as XAIProviderCard } from './xai';
|
176
184
|
export { default as ZeroOneProviderCard } from './zeroone';
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { ModelProviderCard } from '@/types/llm';
|
2
|
+
|
3
|
+
const Nvidia: ModelProviderCard = {
|
4
|
+
chatModels: [],
|
5
|
+
checkModel: 'meta/llama-3.2-1b-instruct',
|
6
|
+
description: 'NVIDIA NIM™ 提供容器,可用于自托管 GPU 加速推理微服务,支持在云端、数据中心、RTX™ AI 个人电脑和工作站上部署预训练和自定义 AI 模型。',
|
7
|
+
id: 'nvidia',
|
8
|
+
modelList: { showModelFetcher: true },
|
9
|
+
modelsUrl: 'https://build.nvidia.com/models',
|
10
|
+
name: 'Nvidia',
|
11
|
+
settings: {
|
12
|
+
proxyUrl: {
|
13
|
+
placeholder: 'https://integrate.api.nvidia.com/v1',
|
14
|
+
},
|
15
|
+
sdkType: 'openai',
|
16
|
+
showModelFetcher: true,
|
17
|
+
},
|
18
|
+
url: 'https://build.nvidia.com',
|
19
|
+
};
|
20
|
+
|
21
|
+
export default Nvidia;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { ModelProviderCard } from '@/types/llm';
|
2
|
+
|
3
|
+
const VLLM: ModelProviderCard = {
|
4
|
+
chatModels: [],
|
5
|
+
description: 'vLLM 是一个快速且易于使用的库,用于 LLM 推理和服务。',
|
6
|
+
id: 'vllm',
|
7
|
+
modelList: { showModelFetcher: true },
|
8
|
+
modelsUrl: 'https://docs.vllm.ai/en/latest/models/supported_models.html#supported-models',
|
9
|
+
name: 'vLLM',
|
10
|
+
settings: {
|
11
|
+
proxyUrl: {
|
12
|
+
placeholder: 'http://localhost:8000/v1',
|
13
|
+
},
|
14
|
+
sdkType: 'openai',
|
15
|
+
showModelFetcher: true,
|
16
|
+
},
|
17
|
+
url: 'https://docs.vllm.ai',
|
18
|
+
};
|
19
|
+
|
20
|
+
export default VLLM;
|
package/src/const/url.ts
CHANGED
@@ -44,7 +44,7 @@ export const TERMS_URL = urlJoin(OFFICIAL_SITE, '/terms');
|
|
44
44
|
export const PLUGINS_INDEX_URL = 'https://chat-plugins.lobehub.com';
|
45
45
|
|
46
46
|
export const MORE_MODEL_PROVIDER_REQUEST_URL =
|
47
|
-
'https://github.com/lobehub/lobe-chat/discussions/
|
47
|
+
'https://github.com/lobehub/lobe-chat/discussions/6157';
|
48
48
|
|
49
49
|
export const MORE_FILE_PREVIEW_REQUEST_URL =
|
50
50
|
'https://github.com/lobehub/lobe-chat/discussions/3684';
|