-
-
Notifications
You must be signed in to change notification settings - Fork 4k
Expand file tree
/
Copy pathmodelscope-setting-util.ts
More file actions
22 lines (20 loc) · 1022 Bytes
/
modelscope-setting-util.ts
File metadata and controls
22 lines (20 loc) · 1022 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import ModelScope from 'src/shared/models/modelscope'
import { type ModelProvider, ModelProviderEnum, type ProviderSettings, type SessionType } from 'src/shared/types'
import { createModelDependencies } from '@/adapters'
import BaseConfig from './base-config'
import type { ModelSettingUtil } from './interface'
export default class ModelScopeSettingUtil extends BaseConfig implements ModelSettingUtil {
public provider: ModelProvider = ModelProviderEnum.ModelScope
async getCurrentModelDisplayName(
model: string,
sessionType: SessionType,
providerSettings?: ProviderSettings
): Promise<string> {
return `ModelScope API (${providerSettings?.models?.find((m) => m.modelId === model)?.nickname || model})`
}
protected async listProviderModels(settings: ProviderSettings) {
const dependencies = await createModelDependencies()
const modelscope = new ModelScope({ apiKey: settings.apiKey!, model: { modelId: '', capabilities: [] } }, dependencies)
return modelscope.listModels()
}
}