@lobehub/chat 1.118.4 → 1.118.6
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/.github/workflows/test.yml +36 -1
- package/CHANGELOG.md +59 -0
- package/changelog/v1.json +18 -0
- package/locales/ar/setting.json +4 -0
- package/locales/bg-BG/setting.json +4 -0
- package/locales/de-DE/setting.json +4 -0
- package/locales/en-US/setting.json +4 -0
- package/locales/es-ES/setting.json +4 -0
- package/locales/fa-IR/setting.json +4 -0
- package/locales/fr-FR/setting.json +4 -0
- package/locales/it-IT/setting.json +4 -0
- package/locales/ja-JP/setting.json +4 -0
- package/locales/ko-KR/setting.json +4 -0
- package/locales/nl-NL/setting.json +4 -0
- package/locales/pl-PL/setting.json +4 -0
- package/locales/pt-BR/setting.json +4 -0
- package/locales/ru-RU/setting.json +4 -0
- package/locales/tr-TR/setting.json +4 -0
- package/locales/vi-VN/setting.json +4 -0
- package/locales/zh-CN/setting.json +4 -0
- package/locales/zh-TW/setting.json +4 -0
- package/package.json +2 -1
- package/packages/const/package.json +4 -1
- package/packages/const/src/image.ts +1 -1
- package/packages/const/src/settings/agent.ts +1 -0
- package/packages/database/src/repositories/aiInfra/index.ts +7 -2
- package/packages/model-bank/package.json +75 -0
- package/{src/config → packages/model-bank/src}/aiModels/bfl.ts +1 -1
- package/{src/config → packages/model-bank/src}/aiModels/fal.ts +1 -1
- package/{src/config → packages/model-bank/src}/aiModels/google.ts +1 -1
- package/{src/config → packages/model-bank/src}/aiModels/index.ts +2 -2
- package/{src/config → packages/model-bank/src}/aiModels/openai.ts +1 -1
- package/packages/model-bank/src/exports.test.ts +37 -0
- package/packages/model-bank/src/index.ts +2 -0
- package/{src/libs → packages/model-bank/src}/standard-parameters/index.ts +1 -1
- package/packages/model-bank/vitest.config.mts +11 -0
- package/packages/model-runtime/package.json +1 -0
- package/packages/model-runtime/src/ai360/index.ts +1 -1
- package/packages/model-runtime/src/aihubmix/index.ts +1 -1
- package/packages/model-runtime/src/anthropic/index.ts +6 -6
- package/packages/model-runtime/src/baichuan/index.ts +1 -1
- package/packages/model-runtime/src/bfl/createImage.ts +1 -2
- package/packages/model-runtime/src/cloudflare/index.ts +1 -1
- package/packages/model-runtime/src/cohere/index.ts +1 -1
- package/packages/model-runtime/src/deepseek/index.ts +1 -1
- package/packages/model-runtime/src/fal/index.ts +1 -2
- package/packages/model-runtime/src/fireworksai/index.ts +1 -1
- package/packages/model-runtime/src/groq/index.ts +1 -1
- package/packages/model-runtime/src/higress/index.ts +1 -1
- package/packages/model-runtime/src/huggingface/index.ts +1 -1
- package/packages/model-runtime/src/hunyuan/index.ts +1 -1
- package/packages/model-runtime/src/infiniai/index.ts +1 -1
- package/packages/model-runtime/src/internlm/index.ts +1 -1
- package/packages/model-runtime/src/jina/index.ts +1 -1
- package/packages/model-runtime/src/lmstudio/index.ts +1 -1
- package/packages/model-runtime/src/minimax/index.ts +1 -1
- package/packages/model-runtime/src/mistral/index.ts +1 -1
- package/packages/model-runtime/src/novita/__snapshots__/index.test.ts.snap +309 -21
- package/packages/model-runtime/src/novita/index.ts +31 -1
- package/packages/model-runtime/src/ollama/index.ts +1 -1
- package/packages/model-runtime/src/openai/__snapshots__/index.test.ts.snap +28 -0
- package/packages/model-runtime/src/openai/index.test.ts +0 -3
- package/packages/model-runtime/src/openrouter/__snapshots__/index.test.ts.snap +46 -0
- package/packages/model-runtime/src/openrouter/index.test.ts +21 -45
- package/packages/model-runtime/src/openrouter/index.ts +22 -25
- package/packages/model-runtime/src/openrouter/type.ts +12 -24
- package/packages/model-runtime/src/ppio/index.ts +1 -1
- package/packages/model-runtime/src/search1api/index.ts +1 -1
- package/packages/model-runtime/src/sensenova/index.ts +1 -1
- package/packages/model-runtime/src/stepfun/index.ts +1 -1
- package/packages/model-runtime/src/tencentcloud/index.ts +1 -1
- package/packages/model-runtime/src/togetherai/index.ts +1 -1
- package/packages/model-runtime/src/types/image.ts +1 -1
- package/packages/model-runtime/src/utils/modelParse.test.ts +5 -5
- package/packages/model-runtime/src/utils/modelParse.ts +47 -22
- package/packages/model-runtime/src/utils/openaiCompatibleFactory/createImage.ts +1 -2
- package/packages/model-runtime/src/utils/openaiCompatibleFactory/index.ts +1 -1
- package/packages/model-runtime/src/vllm/index.ts +1 -1
- package/packages/model-runtime/src/xinference/index.ts +1 -1
- package/packages/types/src/agent/chatConfig.ts +6 -0
- package/packages/types/src/aiModel.ts +1 -2
- package/packages/types/src/llm.ts +1 -1
- package/packages/utils/src/getFallbackModelProperty.test.ts +1 -1
- package/packages/utils/src/getFallbackModelProperty.ts +1 -1
- package/packages/utils/src/parseModels.test.ts +1 -2
- package/packages/utils/src/parseModels.ts +1 -1
- package/src/app/[variants]/(main)/image/features/GenerationFeed/BatchItem.tsx +1 -1
- package/src/app/[variants]/(main)/profile/features/ClerkProfile.tsx +1 -1
- package/src/app/[variants]/(main)/settings/_layout/Desktop/index.tsx +1 -5
- package/src/features/AgentSetting/AgentModal/index.tsx +9 -0
- package/src/locales/default/models.ts +1 -1
- package/src/locales/default/setting.ts +4 -0
- package/src/server/globalConfig/genServerAiProviderConfig.test.ts +3 -3
- package/src/server/globalConfig/genServerAiProviderConfig.ts +1 -1
- package/src/server/routers/async/image.ts +1 -1
- package/src/server/services/discover/index.test.ts +1 -1
- package/src/server/services/discover/index.ts +16 -8
- package/src/services/chat.ts +8 -1
- package/src/store/agent/slices/chat/selectors/__snapshots__/agent.test.ts.snap +1 -0
- package/src/store/aiInfra/slices/aiProvider/action.ts +1 -1
- package/src/store/image/slices/generationConfig/action.test.ts +2 -6
- package/src/store/image/slices/generationConfig/action.ts +3 -3
- package/src/store/image/slices/generationConfig/hooks.test.ts +2 -2
- package/src/store/image/slices/generationConfig/hooks.ts +1 -1
- package/src/store/image/slices/generationConfig/initialState.ts +2 -3
- package/src/store/image/slices/generationConfig/selectors.test.ts +1 -2
- package/src/store/image/slices/generationConfig/selectors.ts +1 -1
- package/src/store/user/slices/settings/selectors/__snapshots__/settings.test.ts.snap +2 -0
- /package/{src/config → packages/model-bank/src}/aiModels/ai21.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/ai302.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/ai360.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/aihubmix.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/akashchat.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/anthropic.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/azure.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/azureai.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/baichuan.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/bedrock.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/cloudflare.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/cohere.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/deepseek.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/fireworksai.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/giteeai.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/github.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/groq.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/higress.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/huggingface.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/hunyuan.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/infiniai.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/internlm.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/jina.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/lmstudio.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/lobehub.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/minimax.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/mistral.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/modelscope.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/moonshot.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/novita.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/nvidia.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/ollama.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/openrouter.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/perplexity.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/ppio.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/qiniu.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/qwen.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/sambanova.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/search1api.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/sensenova.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/siliconcloud.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/spark.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/stepfun.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/taichu.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/tencentcloud.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/togetherai.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/upstage.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/v0.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/vertexai.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/vllm.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/volcengine.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/wenxin.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/xai.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/xinference.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/zeroone.ts +0 -0
- /package/{src/config → packages/model-bank/src}/aiModels/zhipu.ts +0 -0
- /package/{src/libs → packages/model-bank/src}/standard-parameters/index.test.ts +0 -0
@@ -12,10 +12,10 @@ import { buildAnthropicMessages, buildAnthropicTools } from '../utils/anthropicH
|
|
12
12
|
import { AgentRuntimeError } from '../utils/createError';
|
13
13
|
import { debugStream } from '../utils/debugStream';
|
14
14
|
import { desensitizeUrl } from '../utils/desensitizeUrl';
|
15
|
+
import { MODEL_LIST_CONFIGS, processModelList } from '../utils/modelParse';
|
15
16
|
import { StreamingResponse } from '../utils/response';
|
16
17
|
import { AnthropicStream } from '../utils/streams';
|
17
18
|
import { handleAnthropicError } from './handleAnthropicError';
|
18
|
-
import { processModelList, MODEL_LIST_CONFIGS } from '../utils/modelParse';
|
19
19
|
|
20
20
|
export interface AnthropicModelCard {
|
21
21
|
created_at: string;
|
@@ -120,7 +120,7 @@ export class LobeAnthropicAI implements LobeRuntimeAI {
|
|
120
120
|
enabledSearch,
|
121
121
|
} = payload;
|
122
122
|
|
123
|
-
const {
|
123
|
+
const { anthropic: anthropicModels } = await import('model-bank');
|
124
124
|
const modelConfig = anthropicModels.find((m) => m.id === model);
|
125
125
|
const defaultMaxOutput = modelConfig?.maxOutput;
|
126
126
|
|
@@ -231,10 +231,10 @@ export class LobeAnthropicAI implements LobeRuntimeAI {
|
|
231
231
|
const modelList: AnthropicModelCard[] = json['data'];
|
232
232
|
|
233
233
|
const standardModelList = modelList.map((model) => ({
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
234
|
+
created: model.created_at,
|
235
|
+
displayName: model.display_name,
|
236
|
+
id: model.id,
|
237
|
+
}));
|
238
238
|
return processModelList(standardModelList, MODEL_LIST_CONFIGS.anthropic, 'anthropic');
|
239
239
|
}
|
240
240
|
|
@@ -43,7 +43,7 @@ export const LobeBaichuanAI = createOpenAICompatibleRuntime({
|
|
43
43
|
chatCompletion: () => process.env.DEBUG_BAICHUAN_CHAT_COMPLETION === '1',
|
44
44
|
},
|
45
45
|
models: async ({ client }) => {
|
46
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
46
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
47
47
|
|
48
48
|
const modelsPage = (await client.models.list()) as any;
|
49
49
|
const modelList: BaichuanModelCard[] = modelsPage.data;
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { imageUrlToBase64 } from '@lobechat/utils';
|
2
2
|
import createDebug from 'debug';
|
3
|
-
|
4
|
-
import { RuntimeImageGenParamsValue } from '@/libs/standard-parameters/index';
|
3
|
+
import { RuntimeImageGenParamsValue } from 'model-bank';
|
5
4
|
|
6
5
|
import { AgentRuntimeErrorType } from '../error';
|
7
6
|
import { CreateImagePayload, CreateImageResponse } from '../types/image';
|
@@ -112,7 +112,7 @@ export class LobeCloudflareAI implements LobeRuntimeAI {
|
|
112
112
|
}
|
113
113
|
|
114
114
|
async models(): Promise<ChatModelCard[]> {
|
115
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
115
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
116
116
|
|
117
117
|
const url = `${DEFAULT_BASE_URL_PREFIX}/client/v4/accounts/${this.accountID}/ai/models/search`;
|
118
118
|
const response = await fetch(url, {
|
@@ -37,7 +37,7 @@ export const LobeCohereAI = createOpenAICompatibleRuntime({
|
|
37
37
|
chatCompletion: () => process.env.DEBUG_COHERE_CHAT_COMPLETION === '1',
|
38
38
|
},
|
39
39
|
models: async ({ client }) => {
|
40
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
40
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
41
41
|
|
42
42
|
client.baseURL = 'https://api.cohere.com/v1';
|
43
43
|
|
@@ -13,7 +13,7 @@ export const LobeDeepSeekAI = createOpenAICompatibleRuntime({
|
|
13
13
|
chatCompletion: () => process.env.DEBUG_DEEPSEEK_CHAT_COMPLETION === '1',
|
14
14
|
},
|
15
15
|
models: async ({ client }) => {
|
16
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
16
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
17
17
|
|
18
18
|
const modelsPage = (await client.models.list()) as any;
|
19
19
|
const modelList: DeepSeekModelCard[] = modelsPage.data;
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import { fal } from '@fal-ai/client';
|
2
2
|
import debug from 'debug';
|
3
3
|
import { pick } from 'lodash-es';
|
4
|
+
import { RuntimeImageGenParamsValue } from 'model-bank';
|
4
5
|
import { ClientOptions } from 'openai';
|
5
6
|
|
6
|
-
import { RuntimeImageGenParamsValue } from '@/libs/standard-parameters/index';
|
7
|
-
|
8
7
|
import { LobeRuntimeAI } from '../BaseAI';
|
9
8
|
import { AgentRuntimeErrorType } from '../error';
|
10
9
|
import { CreateImagePayload, CreateImageResponse } from '../types/image';
|
@@ -16,7 +16,7 @@ export const LobeFireworksAI = createOpenAICompatibleRuntime({
|
|
16
16
|
chatCompletion: () => process.env.DEBUG_FIREWORKSAI_CHAT_COMPLETION === '1',
|
17
17
|
},
|
18
18
|
models: async ({ client }) => {
|
19
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
19
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
20
20
|
|
21
21
|
const reasoningKeywords = ['deepseek-r1', 'qwq'];
|
22
22
|
|
@@ -31,7 +31,7 @@ export const LobeGroq = createOpenAICompatibleRuntime({
|
|
31
31
|
chatCompletion: () => process.env.DEBUG_GROQ_CHAT_COMPLETION === '1',
|
32
32
|
},
|
33
33
|
models: async ({ client }) => {
|
34
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
34
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
35
35
|
|
36
36
|
const functionCallKeywords = [
|
37
37
|
'tool',
|
@@ -27,7 +27,7 @@ export const LobeHigressAI = createOpenAICompatibleRuntime({
|
|
27
27
|
chatCompletion: () => process.env.DEBUG_HIGRESS_CHAT_COMPLETION === '1',
|
28
28
|
},
|
29
29
|
models: async ({ client }) => {
|
30
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
30
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
31
31
|
|
32
32
|
const modelsPage = (await client.models.list()) as any;
|
33
33
|
const modelList: HigressModelCard[] = modelsPage.data;
|
@@ -55,7 +55,7 @@ export const LobeHuggingFaceAI = createOpenAICompatibleRuntime({
|
|
55
55
|
chatCompletion: () => process.env.DEBUG_HUGGINGFACE_CHAT_COMPLETION === '1',
|
56
56
|
},
|
57
57
|
models: async () => {
|
58
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
58
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
59
59
|
|
60
60
|
const visionKeywords = ['image-text-to-text', 'multimodal', 'vision'];
|
61
61
|
|
@@ -41,7 +41,7 @@ export const LobeHunyuanAI = createOpenAICompatibleRuntime({
|
|
41
41
|
chatCompletion: () => process.env.DEBUG_HUNYUAN_CHAT_COMPLETION === '1',
|
42
42
|
},
|
43
43
|
models: async ({ client }) => {
|
44
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
44
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
45
45
|
|
46
46
|
const functionCallKeywords = ['hunyuan-functioncall', 'hunyuan-turbo', 'hunyuan-pro'];
|
47
47
|
|
@@ -42,7 +42,7 @@ export const LobeInfiniAI = createOpenAICompatibleRuntime({
|
|
42
42
|
chatCompletion: () => process.env.DEBUG_INFINIAI_CHAT_COMPLETION === '1',
|
43
43
|
},
|
44
44
|
models: async ({ client }) => {
|
45
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
45
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
46
46
|
|
47
47
|
const reasoningKeywords = ['deepseek-r1', 'qwq', 'qwen3'];
|
48
48
|
const visionKeywords = ['qwen2.5-vl'];
|
@@ -21,7 +21,7 @@ export const LobeInternLMAI = createOpenAICompatibleRuntime({
|
|
21
21
|
chatCompletion: () => process.env.DEBUG_INTERNLM_CHAT_COMPLETION === '1',
|
22
22
|
},
|
23
23
|
models: async ({ client }) => {
|
24
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
24
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
25
25
|
|
26
26
|
const functionCallKeywords = ['internlm'];
|
27
27
|
|
@@ -13,7 +13,7 @@ export const LobeJinaAI = createOpenAICompatibleRuntime({
|
|
13
13
|
chatCompletion: () => process.env.DEBUG_JINA_CHAT_COMPLETION === '1',
|
14
14
|
},
|
15
15
|
models: async ({ client }) => {
|
16
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
16
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
17
17
|
|
18
18
|
const reasoningKeywords = ['deepsearch'];
|
19
19
|
|
@@ -14,7 +14,7 @@ export const LobeLMStudioAI = createOpenAICompatibleRuntime({
|
|
14
14
|
chatCompletion: () => process.env.DEBUG_LMSTUDIO_CHAT_COMPLETION === '1',
|
15
15
|
},
|
16
16
|
models: async ({ client }) => {
|
17
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
17
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
18
18
|
|
19
19
|
const modelsPage = (await client.models.list()) as any;
|
20
20
|
const modelList: LMStudioModelCard[] = modelsPage.data;
|
@@ -34,7 +34,7 @@ export const LobeMistralAI = createOpenAICompatibleRuntime({
|
|
34
34
|
chatCompletion: () => process.env.DEBUG_MISTRAL_CHAT_COMPLETION === '1',
|
35
35
|
},
|
36
36
|
models: async ({ client }) => {
|
37
|
-
const { LOBE_DEFAULT_MODEL_LIST } = await import('
|
37
|
+
const { LOBE_DEFAULT_MODEL_LIST } = await import('model-bank');
|
38
38
|
|
39
39
|
const modelsPage = (await client.models.list()) as any;
|
40
40
|
const modelList: MistralModelCard[] = modelsPage.data;
|