UnisKB/ui/src/api/model/provider.ts

87 lines
2.3 KiB
TypeScript
Raw Normal View History

2025-06-06 01:39:01 +00:00
import {Result} from '@/request/Result'
import {get, post} from '@/request/index'
import type {Ref} from 'vue'
import type {Provider, BaseModel} from '@/api/type/model'
import type {FormField} from '@/components/dynamics-form/type'
import type {KeyValue} from '../type/common'
2025-05-06 02:13:52 +00:00
const prefix_provider = '/provider'
/**
*
*/
const getProvider: (loading?: Ref<boolean>) => Promise<Result<Array<Provider>>> = (loading) => {
return get(`${prefix_provider}`, {}, loading)
}
/**
*
*/
const getProviderByModelType: (
model_type: string,
loading?: Ref<boolean>,
) => Promise<Result<Array<Provider>>> = (model_type, loading) => {
2025-06-06 01:39:01 +00:00
return get(`${prefix_provider}`, {model_type}, loading)
2025-05-06 02:13:52 +00:00
}
/**
*
* @param provider
* @param model_type
* @param model_name
* @param loading
* @returns
*/
const getModelCreateForm: (
2025-04-28 10:14:16 +00:00
provider: string,
2025-05-06 02:13:52 +00:00
model_type: string,
model_name: string,
loading?: Ref<boolean>,
) => Promise<Result<Array<FormField>>> = (provider, model_type, model_name, loading) => {
2025-06-06 01:39:01 +00:00
return get(`${prefix_provider}/model_form`, {provider, model_type, model_name}, loading)
2025-05-06 02:13:52 +00:00
}
2025-05-07 07:58:42 +00:00
/**
*
* @param provider
* @param loading
* @returns
*/
const listModelType: (
provider: string,
loading?: Ref<boolean>,
) => Promise<Result<Array<KeyValue<string, string>>>> = (provider, loading?: Ref<boolean>) => {
2025-06-06 01:39:01 +00:00
return get(`${prefix_provider}/model_type_list`, {provider}, loading)
2025-05-07 07:58:42 +00:00
}
/**
*
* @param provider
* @param model_type
* @param loading
* @returns
*/
const listBaseModel: (
provider: string,
model_type: string,
loading?: Ref<boolean>,
) => Promise<Result<Array<BaseModel>>> = (provider, model_type, loading) => {
2025-06-06 01:39:01 +00:00
return get(`${prefix_provider}/model_list`, {provider, model_type}, loading)
2025-05-07 07:58:42 +00:00
}
const listBaseModelParamsForm: (
provider: string,
model_type: string,
model_name: string,
loading?: Ref<boolean>,
) => Promise<Result<Array<BaseModel>>> = (provider, model_type, model_name, loading) => {
2025-06-06 01:39:01 +00:00
return get(`${prefix_provider}/model_params_form`, {provider, model_type, model_name}, loading)
2025-05-07 07:58:42 +00:00
}
2025-05-06 02:13:52 +00:00
export default {
getProvider,
getModelCreateForm,
getProviderByModelType,
2025-05-07 07:58:42 +00:00
listModelType,
listBaseModel,
listBaseModelParamsForm,
2025-04-28 10:14:16 +00:00
}