@lobehub/chat 1.47.12 → 1.47.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/changelog/v1.json +18 -0
  3. package/locales/ar/models.json +6 -0
  4. package/locales/bg-BG/models.json +6 -0
  5. package/locales/de-DE/models.json +6 -0
  6. package/locales/en-US/common.json +1 -1
  7. package/locales/en-US/models.json +6 -0
  8. package/locales/es-ES/models.json +6 -0
  9. package/locales/fa-IR/models.json +6 -0
  10. package/locales/fr-FR/models.json +6 -0
  11. package/locales/it-IT/models.json +6 -0
  12. package/locales/ja-JP/models.json +6 -0
  13. package/locales/ko-KR/models.json +6 -0
  14. package/locales/nl-NL/models.json +6 -0
  15. package/locales/pl-PL/models.json +6 -0
  16. package/locales/pt-BR/models.json +6 -0
  17. package/locales/ru-RU/models.json +6 -0
  18. package/locales/tr-TR/models.json +6 -0
  19. package/locales/vi-VN/models.json +6 -0
  20. package/locales/zh-CN/models.json +6 -0
  21. package/locales/zh-TW/models.json +6 -0
  22. package/package.json +4 -4
  23. package/src/app/(main)/settings/provider/(detail)/[id]/index.tsx +1 -1
  24. package/src/app/(main)/settings/provider/features/ModelList/ModelTitle/index.tsx +118 -110
  25. package/src/app/(main)/settings/provider/features/ModelList/index.tsx +9 -6
  26. package/src/config/aiModels/ai360.ts +23 -27
  27. package/src/config/aiModels/giteeai.ts +61 -31
  28. package/src/config/aiModels/minimax.ts +19 -0
  29. package/src/config/aiModels/moonshot.ts +73 -1
  30. package/src/config/aiModels/taichu.ts +22 -1
  31. package/src/config/aiModels/upstage.ts +1 -1
  32. package/src/config/aiModels/zhipu.ts +13 -0
  33. package/src/config/modelProviders/ai21.ts +0 -2
  34. package/src/config/modelProviders/ai360.ts +22 -26
  35. package/src/config/modelProviders/anthropic.ts +1 -0
  36. package/src/config/modelProviders/giteeai.ts +58 -32
  37. package/src/config/modelProviders/google.ts +2 -0
  38. package/src/config/modelProviders/hunyuan.ts +0 -2
  39. package/src/config/modelProviders/mistral.ts +2 -0
  40. package/src/config/modelProviders/moonshot.ts +2 -0
  41. package/src/config/modelProviders/spark.ts +0 -2
  42. package/src/config/modelProviders/taichu.ts +15 -10
  43. package/src/config/modelProviders/upstage.ts +1 -3
  44. package/src/config/modelProviders/zeroone.ts +5 -1
  45. package/src/config/modelProviders/zhipu.ts +17 -1
  46. package/src/libs/agent-runtime/ai360/index.ts +24 -0
  47. package/src/libs/agent-runtime/anthropic/index.ts +36 -0
  48. package/src/libs/agent-runtime/baichuan/index.ts +28 -0
  49. package/src/libs/agent-runtime/deepseek/index.ts +17 -0
  50. package/src/libs/agent-runtime/fireworksai/index.ts +22 -0
  51. package/src/libs/agent-runtime/giteeai/index.ts +28 -0
  52. package/src/libs/agent-runtime/google/index.ts +40 -1
  53. package/src/libs/agent-runtime/groq/index.ts +29 -0
  54. package/src/libs/agent-runtime/huggingface/index.ts +37 -0
  55. package/src/libs/agent-runtime/internlm/index.ts +17 -0
  56. package/src/libs/agent-runtime/minimax/index.ts +2 -2
  57. package/src/libs/agent-runtime/mistral/index.ts +26 -0
  58. package/src/libs/agent-runtime/moonshot/index.ts +18 -0
  59. package/src/libs/agent-runtime/qwen/index.ts +25 -0
  60. package/src/libs/agent-runtime/sensenova/index.ts +28 -0
  61. package/src/libs/agent-runtime/siliconcloud/index.ts +34 -0
  62. package/src/libs/agent-runtime/stepfun/index.ts +25 -0
  63. package/src/libs/agent-runtime/xai/index.ts +18 -0
  64. package/src/libs/agent-runtime/zeroone/index.ts +17 -0
  65. package/src/libs/agent-runtime/zhipu/index.ts +35 -0
  66. package/src/server/globalConfig/genServerAiProviderConfig.ts +4 -1
  67. package/src/server/globalConfig/index.ts +3 -0
  68. package/src/services/chat.ts +7 -3
  69. package/src/types/aiProvider.ts +1 -0
@@ -3,6 +3,15 @@ import OpenAI from 'openai';
3
3
  import { ChatStreamPayload, ModelProvider } from '../types';
4
4
  import { LobeOpenAICompatibleFactory } from '../utils/openaiCompatibleFactory';
5
5
 
6
+ import { LOBE_DEFAULT_MODEL_LIST } from '@/config/aiModels';
7
+ import type { ChatModelCard } from '@/types/llm';
8
+
9
+ export interface ZhipuModelCard {
10
+ description: string;
11
+ modelCode: string;
12
+ modelName: string;
13
+ }
14
+
6
15
  export const LobeZhipuAI = LobeOpenAICompatibleFactory({
7
16
  baseURL: 'https://open.bigmodel.cn/api/paas/v4',
8
17
  chatCompletion: {
@@ -25,8 +34,34 @@ export const LobeZhipuAI = LobeOpenAICompatibleFactory({
25
34
  }),
26
35
  }) as OpenAI.ChatCompletionCreateParamsStreaming,
27
36
  },
37
+ constructorOptions: {
38
+ defaultHeaders: {
39
+ 'Bigmodel-Organization': 'lobehub',
40
+ 'Bigmodel-project': 'lobechat',
41
+ },
42
+ },
28
43
  debug: {
29
44
  chatCompletion: () => process.env.DEBUG_ZHIPU_CHAT_COMPLETION === '1',
30
45
  },
46
+ models: async ({ client }) => {
47
+ // ref: https://open.bigmodel.cn/console/modelcenter/square
48
+ client.baseURL = 'https://open.bigmodel.cn/api/fine-tuning/model_center/list?pageSize=100&pageNum=1';
49
+
50
+ const modelsPage = await client.models.list() as any;
51
+ const modelList: ZhipuModelCard[] = modelsPage.body.rows;
52
+
53
+ return modelList
54
+ .map((model) => {
55
+ return {
56
+ description: model.description,
57
+ displayName: model.modelName,
58
+ enabled: LOBE_DEFAULT_MODEL_LIST.find((m) => model.modelCode.endsWith(m.id))?.enabled || false,
59
+ functionCall: model.modelCode.toLowerCase().includes('glm-4') && !model.modelCode.toLowerCase().includes('glm-4v'),
60
+ id: model.modelCode,
61
+ vision: model.modelCode.toLowerCase().includes('glm-4v'),
62
+ };
63
+ })
64
+ .filter(Boolean) as ChatModelCard[];
65
+ },
31
66
  provider: ModelProvider.ZhiPu,
32
67
  });
@@ -25,7 +25,10 @@ export const genServerAiProvidersConfig = (specificConfig: Record<any, any>) =>
25
25
  const defaultChatModels = providerCard.filter((c) => c.type === 'chat');
26
26
 
27
27
  config[provider] = {
28
- enabled: llmConfig[providerConfig.enabledKey || `ENABLED_${providerUpperCase}`],
28
+ enabled:
29
+ providerConfig.enabled ||
30
+ llmConfig[providerConfig.enabledKey || `ENABLED_${providerUpperCase}`],
31
+
29
32
  enabledModels: extractEnabledModels(
30
33
  providerModelList,
31
34
  providerConfig.withDeploymentName || false,
@@ -29,6 +29,9 @@ export const getServerGlobalConfig = () => {
29
29
  enabledKey: 'ENABLED_GITEE_AI',
30
30
  modelListKey: 'GITEE_AI_MODEL_LIST',
31
31
  },
32
+ /* ↓ cloud slot ↓ */
33
+
34
+ /* ↑ cloud slot ↑ */
32
35
  ollama: {
33
36
  fetchOnClient: !process.env.OLLAMA_PROXY_URL,
34
37
  },
@@ -294,9 +294,13 @@ class ChatService {
294
294
  onFinish: options?.onFinish,
295
295
  onMessageHandle: options?.onMessageHandle,
296
296
  signal,
297
- // use smoothing when enable client fetch
298
- // https://github.com/lobehub/lobe-chat/issues/3800
299
- smoothing: providerConfig?.smoothing || enableFetchOnClient,
297
+ smoothing:
298
+ providerConfig?.settings?.smoothing ||
299
+ // @deprecated in V2
300
+ providerConfig?.smoothing ||
301
+ // use smoothing when enable client fetch
302
+ // https://github.com/lobehub/lobe-chat/issues/3800
303
+ enableFetchOnClient,
300
304
  });
301
305
  };
302
306
 
@@ -85,6 +85,7 @@ export interface AiProviderSettings {
85
85
  */
86
86
  sdkType?: AiProviderSDKType;
87
87
 
88
+ showAddNewModel?: boolean;
88
89
  /**
89
90
  * whether show api key in the provider config
90
91
  * so provider like ollama don't need api key field