mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:02:46 +00:00
feat: model
This commit is contained in:
parent
4cb513dd3f
commit
b219c72c4a
|
|
@ -1,15 +1,13 @@
|
|||
import { request } from '../../request/index'
|
||||
|
||||
import { Result } from '@/request/Result'
|
||||
import { get, post, del, put } from '@/request/index'
|
||||
import { type Ref } from 'vue'
|
||||
import type {
|
||||
modelRequest,
|
||||
Provider,
|
||||
ListModelRequest,
|
||||
Model,
|
||||
BaseModel,
|
||||
CreateModelRequest,
|
||||
EditModelRequest
|
||||
EditModelRequest,
|
||||
} from '@/api/type/model'
|
||||
import type { FormField } from '@/components/dynamics-form/type'
|
||||
import type { KeyValue } from '../type/common'
|
||||
|
|
@ -22,42 +20,11 @@ const prefix_provider = '/provider'
|
|||
*/
|
||||
const getModel: (
|
||||
request?: ListModelRequest,
|
||||
loading?: Ref<boolean>
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<Array<Model>>> = (data, loading) => {
|
||||
return get(`${prefix}`, data, loading)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得供应商列表
|
||||
*/
|
||||
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: (
|
||||
provider: string,
|
||||
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)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取模型参数表单
|
||||
* @param model_id 模型id
|
||||
|
|
@ -66,7 +33,7 @@ const getModelCreateForm: (
|
|||
*/
|
||||
const getModelParamsForm: (
|
||||
model_id: string,
|
||||
loading?: Ref<boolean>
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<Array<FormField>>> = (model_id, loading) => {
|
||||
return get(`model/${model_id}/model_params_form`, {}, loading)
|
||||
}
|
||||
|
|
@ -78,7 +45,7 @@ const getModelParamsForm: (
|
|||
*/
|
||||
const listModelType: (
|
||||
provider: string,
|
||||
loading?: Ref<boolean>
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<Array<KeyValue<string, string>>>> = (provider, loading?: Ref<boolean>) => {
|
||||
return get(`${prefix_provider}/model_type_list`, { provider }, loading)
|
||||
}
|
||||
|
|
@ -93,7 +60,7 @@ const listModelType: (
|
|||
const listBaseModel: (
|
||||
provider: string,
|
||||
model_type: string,
|
||||
loading?: Ref<boolean>
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<Array<BaseModel>>> = (provider, model_type, loading) => {
|
||||
return get(`${prefix_provider}/model_list`, { provider, model_type }, loading)
|
||||
}
|
||||
|
|
@ -102,9 +69,9 @@ const listBaseModelParamsForm: (
|
|||
provider: string,
|
||||
model_type: string,
|
||||
model_name: string,
|
||||
loading?: Ref<boolean>
|
||||
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)
|
||||
return get(`${prefix_provider}/model_params_form`, { provider, model_type, model_name }, loading)
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -115,7 +82,7 @@ const listBaseModelParamsForm: (
|
|||
*/
|
||||
const createModel: (
|
||||
request: CreateModelRequest,
|
||||
loading?: Ref<boolean>
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<Model>> = (request, loading) => {
|
||||
return post(`${prefix}`, request, {}, loading)
|
||||
}
|
||||
|
|
@ -129,7 +96,7 @@ const createModel: (
|
|||
const updateModel: (
|
||||
model_id: string,
|
||||
request: EditModelRequest,
|
||||
loading?: Ref<boolean>
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<Model>> = (model_id, request, loading) => {
|
||||
return put(`${prefix}/${model_id}`, request, {}, loading)
|
||||
}
|
||||
|
|
@ -143,7 +110,7 @@ const updateModel: (
|
|||
const updateModelParamsForm: (
|
||||
model_id: string,
|
||||
request: any[],
|
||||
loading?: Ref<boolean>
|
||||
loading?: Ref<boolean>,
|
||||
) => Promise<Result<Model>> = (model_id, request, loading) => {
|
||||
return put(`${prefix}/${model_id}/model_params_form`, request, {}, loading)
|
||||
}
|
||||
|
|
@ -156,7 +123,7 @@ const updateModelParamsForm: (
|
|||
*/
|
||||
const getModelById: (model_id: string, loading?: Ref<boolean>) => Promise<Result<Model>> = (
|
||||
model_id,
|
||||
loading
|
||||
loading,
|
||||
) => {
|
||||
return get(`${prefix}/${model_id}`, {}, loading)
|
||||
}
|
||||
|
|
@ -168,7 +135,7 @@ const getModelById: (model_id: string, loading?: Ref<boolean>) => Promise<Result
|
|||
*/
|
||||
const getModelMetaById: (model_id: string, loading?: Ref<boolean>) => Promise<Result<Model>> = (
|
||||
model_id,
|
||||
loading
|
||||
loading,
|
||||
) => {
|
||||
return get(`${prefix}/${model_id}/meta`, {}, loading)
|
||||
}
|
||||
|
|
@ -180,20 +147,18 @@ const getModelMetaById: (model_id: string, loading?: Ref<boolean>) => Promise<Re
|
|||
*/
|
||||
const pauseDownload: (model_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
||||
model_id,
|
||||
loading
|
||||
loading,
|
||||
) => {
|
||||
return put(`${prefix}/${model_id}/pause_download`, undefined, {}, loading)
|
||||
}
|
||||
const deleteModel: (model_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
|
||||
model_id,
|
||||
loading
|
||||
loading,
|
||||
) => {
|
||||
return del(`${prefix}/${model_id}`, undefined, {}, loading)
|
||||
}
|
||||
export default {
|
||||
getModel,
|
||||
getProvider,
|
||||
getModelCreateForm,
|
||||
listModelType,
|
||||
listBaseModel,
|
||||
listBaseModelParamsForm,
|
||||
|
|
@ -205,5 +170,4 @@ export default {
|
|||
pauseDownload,
|
||||
getModelParamsForm,
|
||||
updateModelParamsForm,
|
||||
getProviderByModelType
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,44 @@
|
|||
import { Result } from '@/request/Result'
|
||||
import { get, post } from '@/request/index'
|
||||
import type { Ref } from 'vue'
|
||||
const trigger: (
|
||||
provider: string,
|
||||
method: string,
|
||||
request_body: any,
|
||||
loading?: Ref<boolean>
|
||||
) => Promise<Result<Array<any> | string>> = (provider, method, request_body, loading) => {
|
||||
return post(`provider/${provider}/${method}`, {}, request_body, loading)
|
||||
import type { Provider } from '@/api/type/model'
|
||||
import type { FormField } from '@/components/dynamics-form/type'
|
||||
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: (
|
||||
provider: string,
|
||||
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)
|
||||
}
|
||||
export default {
|
||||
getProvider,
|
||||
getModelCreateForm,
|
||||
getProviderByModelType,
|
||||
}
|
||||
export default { trigger, get }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,67 @@
|
|||
export default {
|
||||
create: '创建',
|
||||
createSuccess: '创建成功',
|
||||
copy: '复制',
|
||||
copySuccess: '复制成功',
|
||||
copyError: '复制失败',
|
||||
save: '保存',
|
||||
saveSuccess: '保存成功',
|
||||
delete: '删除',
|
||||
deleteSuccess: '删除成功',
|
||||
setting: '设置',
|
||||
settingSuccess: '设置成功',
|
||||
submit: '提交',
|
||||
submitSuccess: '提交成功',
|
||||
edit: '编辑',
|
||||
editSuccess: '编辑成功',
|
||||
modify: '修改',
|
||||
modifySuccess: '修改成功',
|
||||
add: '添加',
|
||||
addSuccess: '添加成功',
|
||||
cancel: '取消',
|
||||
confirm: '确定',
|
||||
tip: '提示',
|
||||
refresh: '刷新',
|
||||
search: '搜索',
|
||||
clear: '清空',
|
||||
professional: '购买专业版',
|
||||
createDate: '创建日期',
|
||||
createTime: '创建时间',
|
||||
operation: '操作',
|
||||
character: '字符',
|
||||
export: '导出',
|
||||
exportSuccess: '导出成功',
|
||||
unavailable: '(不可用)',
|
||||
public: '公有',
|
||||
private: '私有',
|
||||
paramSetting: '参数设置',
|
||||
creator: '创建者',
|
||||
author: '作者',
|
||||
debug: '调试',
|
||||
required: '必填',
|
||||
noData: '暂无数据',
|
||||
result: '结果',
|
||||
fileUpload: {
|
||||
document: '文档',
|
||||
image: '图片',
|
||||
audio: '音频',
|
||||
video: '视频',
|
||||
other: '其他文件',
|
||||
addExtensions: '添加后缀名',
|
||||
existingExtensionsTip: '文件后缀已存在',
|
||||
},
|
||||
status: {
|
||||
label: '状态',
|
||||
enableSuccess: '启用成功',
|
||||
disableSuccess: '禁用成功'
|
||||
},
|
||||
inputPlaceholder: '请输入',
|
||||
title: '标题',
|
||||
content: '内容',
|
||||
param: {
|
||||
outputParam: '输出参数',
|
||||
inputParam: '输入参数',
|
||||
initParam: '启动参数'
|
||||
},
|
||||
rename: '重命名'
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@ import views from './views'
|
|||
import theme from './theme'
|
||||
import layout from './layout'
|
||||
import dynamicsForm from './dynamics-form'
|
||||
// import common from './common'
|
||||
import common from './common'
|
||||
// import chat from './ai-chat'
|
||||
export default {
|
||||
lang: '简体中文',
|
||||
|
|
@ -13,4 +13,5 @@ export default {
|
|||
theme,
|
||||
layout,
|
||||
dynamicsForm,
|
||||
common
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,14 +43,14 @@ instance.interceptors.response.use(
|
|||
if (response.data) {
|
||||
if (response.data.code !== 200 && !(response.data instanceof Blob)) {
|
||||
if (response.config.url.includes('/application/authentication')) {
|
||||
return Promise.reject(response.data.data)
|
||||
return Promise.reject(response.data)
|
||||
}
|
||||
if (
|
||||
!response.config.url.includes('/valid') &&
|
||||
!response.config.url.includes('/function_lib/debug')
|
||||
) {
|
||||
MsgError(response.data.message)
|
||||
return Promise.reject(response.data.data)
|
||||
return Promise.reject(response.data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -101,9 +101,9 @@ const promise: (
|
|||
.then((response) => {
|
||||
// blob类型的返回状态是response.status
|
||||
if (response.status === 200) {
|
||||
resolve(response?.data?.data || response)
|
||||
resolve(response?.data || response)
|
||||
} else {
|
||||
reject(response?.data?.data || response)
|
||||
reject(response?.data || response)
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
|
|
|
|||
|
|
@ -30,9 +30,9 @@ const useLoginStore = defineStore('login', {
|
|||
},
|
||||
|
||||
async asyncLogin(data: LoginRequest, loading?: Ref<boolean>) {
|
||||
return loginApi.login(data).then((ok: any) => {
|
||||
this.token = ok.token
|
||||
localStorage.setItem('token', ok.token)
|
||||
return loginApi.login(data).then((ok) => {
|
||||
this.token = ok?.data?.token
|
||||
localStorage.setItem('token', ok?.data?.token)
|
||||
const user = useUserStore()
|
||||
return user.profile(loading)
|
||||
})
|
||||
|
|
|
|||
|
|
@ -37,8 +37,9 @@ const useLoginStore = defineStore('user', {
|
|||
},
|
||||
async profile(loading?: Ref<boolean>) {
|
||||
return UserApi.getUserProfile(loading).then((ok) => {
|
||||
this.userInfo = ok
|
||||
useLocalStorage<string>(localeConfigKey, 'en-US').value = ok?.language || this.getLanguage()
|
||||
this.userInfo = ok.data
|
||||
useLocalStorage<string>(localeConfigKey, 'en-US').value =
|
||||
ok?.data?.language || this.getLanguage()
|
||||
// return this.asyncGetProfile()
|
||||
})
|
||||
},
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ const checkModelType = (model_type: string) => {
|
|||
selectModelType.value = model_type
|
||||
currentModelType.value = modelTypeOptions.filter((item) => item.value === model_type)[0].text
|
||||
ModelApi.getProviderByModelType(model_type, loading).then((ok) => {
|
||||
list_provider.value = ok.data
|
||||
list_provider.value = ok
|
||||
list_provider.value.sort((a, b) => a.provider.localeCompare(b.provider))
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue