Skip to content

Commit e6dc404

Browse files
feat: model
1 parent d14b473 commit e6dc404

File tree

13 files changed

+435
-402
lines changed

13 files changed

+435
-402
lines changed

ui/src/api/model/model.ts

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,11 @@ const getModel: (
3030
* @returns
3131
*/
3232
const getModelParamsForm: (
33+
wordspace_id: string,
3334
model_id: string,
3435
loading?: Ref<boolean>,
35-
) => Promise<Result<Array<FormField>>> = (model_id, loading) => {
36-
return get(`model/${model_id}/model_params_form`, {}, loading)
36+
) => Promise<Result<Array<FormField>>> = (wordspace_id, model_id, loading) => {
37+
return get(`${prefix}/${wordspace_id}/model/${model_id}/model_params_form`, {}, loading)
3738
}
3839

3940
/**
@@ -43,10 +44,11 @@ const getModelParamsForm: (
4344
* @returns
4445
*/
4546
const createModel: (
47+
wordspace_id: string,
4648
request: CreateModelRequest,
4749
loading?: Ref<boolean>,
48-
) => Promise<Result<Model>> = (request, loading) => {
49-
return post(`${prefix}`, request, {}, loading)
50+
) => Promise<Result<Model>> = (wordspace_id, request, loading) => {
51+
return post(`${prefix}/${wordspace_id}/model`, request, {}, loading)
5052
}
5153

5254
/**
@@ -56,11 +58,12 @@ const createModel: (
5658
* @returns
5759
*/
5860
const updateModel: (
61+
wordspace_id: string,
5962
model_id: string,
6063
request: EditModelRequest,
6164
loading?: Ref<boolean>,
62-
) => Promise<Result<Model>> = (model_id, request, loading) => {
63-
return put(`${prefix}/${model_id}`, request, {}, loading)
65+
) => Promise<Result<Model>> = (wordspace_id, model_id, request, loading) => {
66+
return put(`${prefix}/${wordspace_id}/model/${model_id}`, request, {}, loading)
6467
}
6568

6669
/**
@@ -70,11 +73,12 @@ const updateModel: (
7073
* @returns
7174
*/
7275
const updateModelParamsForm: (
76+
wordspace_id: string,
7377
model_id: string,
7478
request: any[],
7579
loading?: Ref<boolean>,
76-
) => Promise<Result<Model>> = (model_id, request, loading) => {
77-
return put(`${prefix}/${model_id}/model_params_form`, request, {}, loading)
80+
) => Promise<Result<Model>> = (wordspace_id, model_id, request, loading) => {
81+
return put(`${prefix}/${wordspace_id}/model/${model_id}/model_params_form`, request, {}, loading)
7882
}
7983

8084
/**
@@ -83,41 +87,45 @@ const updateModelParamsForm: (
8387
* @param loading 加载器
8488
* @returns
8589
*/
86-
const getModelById: (model_id: string, loading?: Ref<boolean>) => Promise<Result<Model>> = (
87-
model_id,
88-
loading,
89-
) => {
90-
return get(`${prefix}/${model_id}`, {}, loading)
90+
const getModelById: (
91+
wordspace_id: string,
92+
model_id: string,
93+
loading?: Ref<boolean>,
94+
) => Promise<Result<Model>> = (wordspace_id, model_id, loading) => {
95+
return get(`${prefix}/${wordspace_id}/model/${model_id}`, {}, loading)
9196
}
9297
/**
9398
* 获取模型信息不包括认证信息根据模型id
9499
* @param model_id 模型id
95100
* @param loading 加载器
96101
* @returns
97102
*/
98-
const getModelMetaById: (model_id: string, loading?: Ref<boolean>) => Promise<Result<Model>> = (
99-
model_id,
100-
loading,
101-
) => {
102-
return get(`${prefix}/${model_id}/meta`, {}, loading)
103+
const getModelMetaById: (
104+
wordspace_id: string,
105+
model_id: string,
106+
loading?: Ref<boolean>,
107+
) => Promise<Result<Model>> = (wordspace_id, model_id, loading) => {
108+
return get(`${prefix}/${wordspace_id}/model/${model_id}/meta`, {}, loading)
103109
}
104110
/**
105111
* 暂停下载
106112
* @param model_id 模型id
107113
* @param loading 加载器
108114
* @returns
109115
*/
110-
const pauseDownload: (model_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
111-
model_id,
112-
loading,
113-
) => {
114-
return put(`${prefix}/${model_id}/pause_download`, undefined, {}, loading)
116+
const pauseDownload: (
117+
wordspace_id: string,
118+
model_id: string,
119+
loading?: Ref<boolean>,
120+
) => Promise<Result<boolean>> = (wordspace_id, model_id, loading) => {
121+
return put(`${prefix}/${wordspace_id}/model/${model_id}/pause_download`, undefined, {}, loading)
115122
}
116-
const deleteModel: (model_id: string, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
117-
model_id,
118-
loading,
119-
) => {
120-
return del(`${prefix}/${model_id}`, undefined, {}, loading)
123+
const deleteModel: (
124+
wordspace_id: string,
125+
model_id: string,
126+
loading?: Ref<boolean>,
127+
) => Promise<Result<boolean>> = (wordspace_id, model_id, loading) => {
128+
return del(`${prefix}/${wordspace_id}/model/${model_id}`, undefined, {}, loading)
121129
}
122130
export default {
123131
getModel,

ui/src/enums/model.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ export enum PermissionType {
33
PUBLIC = 'common.public'
44
}
55
export enum PermissionDesc {
6-
PRIVATE = 'views.model.templateForm.form.permissionType.privateDesc',
7-
PUBLIC = 'views.model.templateForm.form.permissionType.publicDesc',
6+
PRIVATE = 'views.model.modelForm.permissionType.privateDesc',
7+
PUBLIC = 'views.model.modelForm.permissionType.publicDesc',
88
}
99

1010
export enum modelType {

ui/src/locales/lang/en-US/views/model.ts

Lines changed: 40 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ export default {
44
providerPlaceholder: 'Select Provider',
55
addModel: 'Add Model',
66
searchBar: {
7-
placeholder: 'Search by name'
7+
placeholder: 'Search by name',
88
},
99
delete: {
1010
confirmTitle: 'Delete Model',
11-
confirmMessage: 'Are you sure you want to delete the model:'
11+
confirmMessage: 'Are you sure you want to delete the model:',
1212
},
1313
tip: {
1414
createSuccessMessage: 'Model created successfully',
@@ -19,7 +19,7 @@ export default {
1919
updateSuccessMessage: 'Model updated successfully',
2020
saveSuccessMessage: 'Model parameters saved successfully',
2121
downloadError: 'Download failed',
22-
noModel: 'Model does not exist in Ollama'
22+
noModel: 'Model does not exist in Ollama',
2323
},
2424
model: {
2525
allModel: 'All Models',
@@ -31,7 +31,7 @@ export default {
3131
STT: 'Speech2Text',
3232
TTS: 'TTS',
3333
IMAGE: 'Vision Model',
34-
TTI: 'Image Generation'
34+
TTI: 'Image Generation',
3535
},
3636
modelForm: {
3737
title: {
@@ -41,49 +41,44 @@ export default {
4141
editParam: 'Edit Parameter',
4242
addParam: 'Add Parameter',
4343
paramSetting: 'Model Parameter Settings',
44-
apiParamPassing: 'Interface Parameters'
44+
apiParamPassing: 'Interface Parameters',
45+
},
46+
modeName: {
47+
label: 'Model Name',
48+
placeholder: 'Set a name for the base model',
49+
tooltip: 'Custom model name in MaxKB',
50+
requiredMessage: 'Model name cannot be empty',
51+
},
52+
permissionType: {
53+
label: 'Permission',
54+
privateDesc: 'Available only to current user',
55+
publicDesc: 'Available to all users',
56+
requiredMessage: 'Permission cannot be empty',
57+
},
58+
model_type: {
59+
label: 'Model Type',
60+
placeholder: 'Select a model type',
61+
tooltip1: 'LLM: An inference model for AI chats in the APP.',
62+
tooltip2: 'Embedding Model: A model for vectorizing document content in the knowledge.',
63+
tooltip3: 'Speech2Text: A model used for speech recognition in the APP.',
64+
tooltip4: 'TTS: A model used for TTS in the APP.',
65+
tooltip5:
66+
'Rerank: A model used to reorder candidate segments when using multi-route recall in advanced orchestration APP.',
67+
tooltip6:
68+
'Vision Model: A visual model used for image understanding in advanced orchestration APP.',
69+
tooltip7:
70+
'Image Generation: A visual model used for image generation in advanced orchestration APP.',
71+
requiredMessage: 'Model type cannot be empty',
72+
},
73+
base_model: {
74+
label: 'Base Model',
75+
tooltip: 'For models not listed, enter the model name and press Enter',
76+
placeholder: 'Enter the base model name and press Enter to add',
77+
requiredMessage: 'Base model cannot be empty',
4578
},
46-
form: {
47-
templateName: {
48-
label: 'Model Name',
49-
placeholder: 'Set a name for the base model',
50-
tooltip: 'Custom model name in MaxKB',
51-
requiredMessage: 'Model name cannot be empty'
52-
},
53-
permissionType: {
54-
label: 'Permission',
55-
privateDesc: 'Available only to current user',
56-
publicDesc: 'Available to all users',
57-
requiredMessage: 'Permission cannot be empty'
58-
},
59-
model_type: {
60-
label: 'Model Type',
61-
placeholder: 'Select a model type',
62-
tooltip1:
63-
'LLM: An inference model for AI chats in the APP.',
64-
tooltip2:
65-
'Embedding Model: A model for vectorizing document content in the knowledge.',
66-
tooltip3: 'Speech2Text: A model used for speech recognition in the APP.',
67-
tooltip4: 'TTS: A model used for TTS in the APP.',
68-
tooltip5:
69-
'Rerank: A model used to reorder candidate segments when using multi-route recall in advanced orchestration APP.',
70-
tooltip6:
71-
'Vision Model: A visual model used for image understanding in advanced orchestration APP.',
72-
tooltip7:
73-
'Image Generation: A visual model used for image generation in advanced orchestration APP.',
74-
requiredMessage: 'Model type cannot be empty'
75-
},
76-
base_model: {
77-
label: 'Base Model',
78-
tooltip:
79-
'For models not listed, enter the model name and press Enter',
80-
placeholder: 'Enter the base model name and press Enter to add',
81-
requiredMessage: 'Base model cannot be empty'
82-
}
83-
}
8479
},
8580
download: {
8681
downloading: 'Downloading...',
87-
cancelDownload: 'Cancel Download'
88-
}
82+
cancelDownload: 'Cancel Download',
83+
},
8984
}

ui/src/locales/lang/zh-CN/views/model.ts

Lines changed: 37 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ export default {
44
providerPlaceholder: '选择供应商',
55
addModel: '添加模型',
66
searchBar: {
7-
placeholder: '按名称搜索'
7+
placeholder: '按名称搜索',
88
},
99
delete: {
1010
confirmTitle: '删除模型',
11-
confirmMessage: '是否删除模型:'
11+
confirmMessage: '是否删除模型:',
1212
},
1313
tip: {
1414
createSuccessMessage: '创建模型成功',
@@ -19,7 +19,7 @@ export default {
1919
updateSuccessMessage: '修改模型成功',
2020
saveSuccessMessage: '模型参数保存成功',
2121
downloadError: '下载失败',
22-
noModel: '模型在Ollama不存在'
22+
noModel: '模型在Ollama不存在',
2323
},
2424
modelType: {
2525
allModel: '全部模型',
@@ -31,7 +31,7 @@ export default {
3131
STT: '语音识别',
3232
TTS: '语音合成',
3333
IMAGE: '视觉模型',
34-
TTI: '图片生成'
34+
TTI: '图片生成',
3535
},
3636
modelForm: {
3737
title: {
@@ -41,43 +41,41 @@ export default {
4141
editParam: '编辑参数',
4242
addParam: '添加参数',
4343
paramSetting: '模型参数设置',
44-
apiParamPassing: '接口传参'
44+
apiParamPassing: '接口传参',
45+
},
46+
modeName: {
47+
label: '模型名称',
48+
placeholder: '请给基础模型设置一个名称',
49+
tooltip: 'MaxKB 中自定义的模型名称',
50+
requiredMessage: '模型名称不能为空',
51+
},
52+
permissionType: {
53+
label: '权限',
54+
privateDesc: '仅当前用户使用',
55+
publicDesc: '所有用户都可使用',
56+
requiredMessage: '权限不能为空',
57+
},
58+
model_type: {
59+
label: '模型类型',
60+
placeholder: '请选择模型类型',
61+
tooltip1: '大语言模型:在应用中与AI对话的推理模型。',
62+
tooltip2: '向量模型:在知识库中对文档内容进行向量化的模型。',
63+
tooltip3: '语音识别:在应用中开启语音识别后用于语音转文字的模型。',
64+
tooltip4: '语音合成:在应用中开启语音播放后用于文字转语音的模型。',
65+
tooltip5: '重排模型:在高级编排应用中使用多路召回时,对候选分段进行重新排序的模型。',
66+
tooltip6: '视觉模型:在高级编排应用中用于图片理解的视觉模型。',
67+
tooltip7: '图片生成:在高级编排应用中用于图片生成的视觉模型。',
68+
requiredMessage: '模型类型不能为空',
69+
},
70+
base_model: {
71+
label: '基础模型',
72+
tooltip: '列表中未列出的模型,直接输入模型名称,回车即可添加',
73+
placeholder: '自定义输入基础模型后回车即可',
74+
requiredMessage: '基础模型不能为空',
4575
},
46-
form: {
47-
templateName: {
48-
label: '模型名称',
49-
placeholder: '请给基础模型设置一个名称',
50-
tooltip: 'MaxKB 中自定义的模型名称',
51-
requiredMessage: '模型名称不能为空'
52-
},
53-
permissionType: {
54-
label: '权限',
55-
privateDesc: '仅当前用户使用',
56-
publicDesc: '所有用户都可使用',
57-
requiredMessage: '权限不能为空'
58-
},
59-
model_type: {
60-
label: '模型类型',
61-
placeholder: '请选择模型类型',
62-
tooltip1: '大语言模型:在应用中与AI对话的推理模型。',
63-
tooltip2: '向量模型:在知识库中对文档内容进行向量化的模型。',
64-
tooltip3: '语音识别:在应用中开启语音识别后用于语音转文字的模型。',
65-
tooltip4: '语音合成:在应用中开启语音播放后用于文字转语音的模型。',
66-
tooltip5: '重排模型:在高级编排应用中使用多路召回时,对候选分段进行重新排序的模型。',
67-
tooltip6: '视觉模型:在高级编排应用中用于图片理解的视觉模型。',
68-
tooltip7: '图片生成:在高级编排应用中用于图片生成的视觉模型。',
69-
requiredMessage: '模型类型不能为空'
70-
},
71-
base_model: {
72-
label: '基础模型',
73-
tooltip: '列表中未列出的模型,直接输入模型名称,回车即可添加',
74-
placeholder: '自定义输入基础模型后回车即可',
75-
requiredMessage: '基础模型不能为空'
76-
}
77-
}
7876
},
7977
download: {
8078
downloading: '正在下载中',
81-
cancelDownload: '取消下载'
82-
}
79+
cancelDownload: '取消下载',
80+
},
8381
}

0 commit comments

Comments
 (0)