返回 DeepSeek-Reasonix
mockModelScopePreset.ts
根目录 / desktop / frontend / src / lib / mockModelScopePreset.ts
1 import type { ProviderView } from "./types";
2
3 export type MockProviderPresetTemplate = {
4 id: string;
5 label: string;
6 description: string;
7 keyEnv: string;
8 provider: ProviderView;
9 providers?: ProviderView[];
10 recommended?: boolean;
11 billingMode?: string;
12 displayGroup?: string;
13 displaySection?: string;
14 displayTier?: string;
15 routeKind?: string;
16 optional?: boolean;
17 displayOrder?: number;
18 };
19
20 type MockProviderTemplate = (
21 provider: Pick<ProviderView, "name" | "kind" | "baseUrl" | "models" | "default" | "apiKeyEnv"> & Partial<ProviderView>,
22 ) => ProviderView;
23
24 type MockPresetFactory = (
25 id: string,
26 label: string,
27 description: string,
28 keyEnv: string,
29 provider: ProviderView,
30 ) => MockProviderPresetTemplate;
31
32 export function createMockModelScopePreset(
33 mockProviderTemplate: MockProviderTemplate,
34 mockPreset: MockPresetFactory,
35 ): MockProviderPresetTemplate {
36 const models = [
37 "Qwen/Qwen3.5-397B-A17B",
38 "Qwen/Qwen3.5-122B-A10B",
39 "Qwen/Qwen3.5-27B",
40 "deepseek-ai/DeepSeek-V4-Flash-0731",
41 "deepseek-ai/DeepSeek-V4-Pro",
42 "MiniMax/MiniMax-M3",
43 "ZhipuAI/GLM-5.2",
44 ];
45 const visionModels = models.slice(0, 3);
46 return mockPreset(
47 "modelscope",
48 "ModelScope",
49 "ModelScope community OpenAI-compatible endpoint with Qwen, DeepSeek and other open-source models.",
50 "MODELSCOPE_API_KEY",
51 mockProviderTemplate({
52 name: "modelscope",
53 kind: "openai",
54 baseUrl: "https://api-inference.modelscope.cn/v1",
55 models,
56 default: models[0],
57 apiKeyEnv: "MODELSCOPE_API_KEY",
58 modelOverrides: visionModels.map((model) => ({
59 model,
60 reasoningProtocol: "",
61 supportedEfforts: [],
62 defaultEffort: "",
63 vision: true,
64 })),
65 }),
66 );
67 }
68
68 lines TYPESCRIPT