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

86 lines
2.3 KiB
TypeScript
Raw Normal View History

2025-04-28 10:14:16 +00:00
import { Result } from '@/request/Result'
import { get, post } from '@/request/index'
import type { Ref } from 'vue'
2025-05-07 07:58:42 +00:00
import type { Provider, BaseModel } from '@/api/type/model'
2025-05-06 02:13:52 +00:00
import type { FormField } from '@/components/dynamics-form/type'
2025-05-07 07:58:42 +00:00
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) => {
return get(`${prefix_provider}`, { model_type }, loading)
}
/**
*
* @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) => {
return get(`${prefix_provider}/model_form`, { provider, model_type, model_name }, loading)
}
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>) => {
return get(`${prefix_provider}/model_type_list`, { provider }, loading)
}
/**
*
* @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) => {
return get(`${prefix_provider}/model_list`, { provider, model_type }, loading)
}
const listBaseModelParamsForm: (
provider: string,
model_type: string,
model_name: string,
loading?: Ref<boolean>,
) => Promise<Result<Array<BaseModel>>> = (provider, model_type, model_name, loading) => {
return get(`${prefix_provider}/model_params_form`, { provider, model_type, model_name }, loading)
}
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
}