diff --git a/apps/web-ele/src/api/ai/knowledge/segment/index.ts b/apps/web-ele/src/api/ai/knowledge/segment/index.ts index 2635c772f..e9baf662e 100644 --- a/apps/web-ele/src/api/ai/knowledge/segment/index.ts +++ b/apps/web-ele/src/api/ai/knowledge/segment/index.ts @@ -48,9 +48,13 @@ export function updateKnowledgeSegment( } // 修改知识库分段状态 -export function updateKnowledgeSegmentStatus(data: any) { - return requestClient.put('/ai/knowledge/segment/update-status', data); +export function updateKnowledgeSegmentStatus(id: number, status: number) { + return requestClient.put('/ai/knowledge/segment/update-status', { + id, + status, + }); } + // 删除知识库分段 export function deleteKnowledgeSegment(id: number) { return requestClient.delete(`/ai/knowledge/segment/delete?id=${id}`); diff --git a/apps/web-ele/src/components/table-action/icons.ts b/apps/web-ele/src/components/table-action/icons.ts index 985871956..e6722e155 100644 --- a/apps/web-ele/src/components/table-action/icons.ts +++ b/apps/web-ele/src/components/table-action/icons.ts @@ -10,4 +10,5 @@ export const ACTION_ICON = { MORE: 'lucide:ellipsis-vertical', VIEW: 'lucide:eye', COPY: 'lucide:copy', + BOOK: 'lucide:book', }; diff --git a/apps/web-ele/src/router/routes/modules/ai.ts b/apps/web-ele/src/router/routes/modules/ai.ts new file mode 100644 index 000000000..639906e81 --- /dev/null +++ b/apps/web-ele/src/router/routes/modules/ai.ts @@ -0,0 +1,113 @@ +import type { RouteRecordRaw } from 'vue-router'; + +const routes: RouteRecordRaw[] = [ + { + path: '/ai', + name: 'Ai', + meta: { + title: 'Ai', + hideInMenu: true, + }, + children: [ + // { + // path: 'image/square', + // component: () => import('#/views/ai/image/square/index.vue'), + // name: 'AiImageSquare', + // meta: { + // noCache: true, + // hidden: true, + // canTo: true, + // title: '绘图作品', + // activePath: '/ai/image', + // }, + // }, + { + path: 'knowledge/document', + component: () => import('#/views/ai/knowledge/document/index.vue'), + name: 'AiKnowledgeDocument', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '知识库文档', + activePath: '/ai/knowledge', + }, + }, + { + path: 'knowledge/document/create', + component: () => import('#/views/ai/knowledge/document/form/index.vue'), + name: 'AiKnowledgeDocumentCreate', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '创建文档', + activePath: '/ai/knowledge', + }, + }, + { + path: 'knowledge/document/update', + component: () => import('#/views/ai/knowledge/document/form/index.vue'), + name: 'AiKnowledgeDocumentUpdate', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '修改文档', + activePath: '/ai/knowledge', + }, + }, + { + path: 'knowledge/retrieval', + component: () => + import('#/views/ai/knowledge/knowledge/retrieval/index.vue'), + name: 'AiKnowledgeRetrieval', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '文档召回测试', + activePath: '/ai/knowledge', + }, + }, + { + path: 'knowledge/segment', + component: () => import('#/views/ai/knowledge/segment/index.vue'), + name: 'AiKnowledgeSegment', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '知识库分段', + activePath: '/ai/knowledge', + }, + }, + // { + // path: String.raw`workflow/create/:id(\d+)/:type(update|create)`, + // component: () => import('#/views/ai/workflow/form/index.vue'), + // name: 'AiWorkflowCreate', + // meta: { + // noCache: true, + // hidden: true, + // canTo: true, + // title: '设计 AI 工作流', + // activePath: '/ai/workflow', + // }, + // }, + // { + // path: 'console/workflow/:type/:id', + // component: () => import('#/views/ai/workflow/form/index.vue'), + // name: 'AiWorkflowUpdate', + // meta: { + // noCache: true, + // hidden: true, + // canTo: true, + // title: '设计 AI 工作流', + // activePath: '/ai/workflow', + // }, + // }, + ], + }, +]; + +export default routes; diff --git a/apps/web-ele/src/views/ai/knowledge/document/data.ts b/apps/web-ele/src/views/ai/knowledge/document/data.ts index fda42e4a3..668fb09c7 100644 --- a/apps/web-ele/src/views/ai/knowledge/document/data.ts +++ b/apps/web-ele/src/views/ai/knowledge/document/data.ts @@ -53,10 +53,10 @@ export function useFormSchema(): VbenFormSchema[] { component: 'InputNumber', componentProps: { placeholder: '请输入检索 topK', - controlsPosition: 'right', - class: '!w-full', min: 0, max: 10, + controlsPosition: 'right', + class: '!w-full', }, rules: 'required', }, @@ -66,12 +66,12 @@ export function useFormSchema(): VbenFormSchema[] { component: 'InputNumber', componentProps: { placeholder: '请输入检索相似度阈值', - controlsPosition: 'right', - class: '!w-full', min: 0, max: 1, step: 0.01, precision: 2, + controlsPosition: 'right', + class: '!w-full', }, rules: 'required', }, @@ -159,8 +159,8 @@ export function useGridColumns( attrs: { beforeChange: onStatusChange }, name: 'CellSwitch', props: { - checkedValue: CommonStatusEnum.ENABLE, - unCheckedValue: CommonStatusEnum.DISABLE, + activeValue: CommonStatusEnum.ENABLE, + inactiveValue: CommonStatusEnum.DISABLE, }, }, }, diff --git a/apps/web-ele/src/views/ai/knowledge/document/index.vue b/apps/web-ele/src/views/ai/knowledge/document/index.vue index 181fea3d8..946962a7e 100644 --- a/apps/web-ele/src/views/ai/knowledge/document/index.vue +++ b/apps/web-ele/src/views/ai/knowledge/document/index.vue @@ -164,12 +164,11 @@ onMounted(() => { auth: ['ai:knowledge:update'], onClick: handleEdit.bind(null, row.id), }, - ]" - :drop-down-actions="[ { label: '分段', type: 'primary', link: true, + icon: ACTION_ICON.BOOK, auth: ['ai:knowledge:query'], onClick: handleSegment.bind(null, row.id), }, diff --git a/apps/web-ele/src/views/ai/knowledge/knowledge/data.ts b/apps/web-ele/src/views/ai/knowledge/knowledge/data.ts index b85233e95..1e69f2c85 100644 --- a/apps/web-ele/src/views/ai/knowledge/knowledge/data.ts +++ b/apps/web-ele/src/views/ai/knowledge/knowledge/data.ts @@ -56,10 +56,10 @@ export function useFormSchema(): VbenFormSchema[] { component: 'InputNumber', componentProps: { placeholder: '请输入检索 topK', - controlsPosition: 'right', - class: '!w-full', min: 0, max: 10, + controlsPosition: 'right', + class: '!w-full', }, rules: 'required', }, @@ -69,12 +69,12 @@ export function useFormSchema(): VbenFormSchema[] { component: 'InputNumber', componentProps: { placeholder: '请输入检索相似度阈值', - controlsPosition: 'right', - class: '!w-full', min: 0, max: 1, step: 0.01, precision: 2, + controlsPosition: 'right', + class: '!w-full', }, rules: 'required', }, @@ -170,4 +170,3 @@ export function useGridColumns(): VxeTableGridOptions['columns'] { }, ]; } - diff --git a/apps/web-ele/src/views/ai/knowledge/knowledge/modules/form.vue b/apps/web-ele/src/views/ai/knowledge/knowledge/modules/form.vue index fd439b5b2..5daf71447 100644 --- a/apps/web-ele/src/views/ai/knowledge/knowledge/modules/form.vue +++ b/apps/web-ele/src/views/ai/knowledge/knowledge/modules/form.vue @@ -87,4 +87,3 @@ const [Modal, modalApi] = useVbenModal({
- diff --git a/apps/web-ele/src/views/ai/knowledge/knowledge/retrieval/index.vue b/apps/web-ele/src/views/ai/knowledge/knowledge/retrieval/index.vue index 9c99231ed..1af68dfd4 100644 --- a/apps/web-ele/src/views/ai/knowledge/knowledge/retrieval/index.vue +++ b/apps/web-ele/src/views/ai/knowledge/knowledge/retrieval/index.vue @@ -9,8 +9,8 @@ import { ElButton, ElCard, ElEmpty, - ElInputNumber, ElInput, + ElInputNumber, ElMessage, } from 'element-plus'; diff --git a/apps/web-ele/src/views/ai/knowledge/segment/data.ts b/apps/web-ele/src/views/ai/knowledge/segment/data.ts index bcc52234a..33cb64b01 100644 --- a/apps/web-ele/src/views/ai/knowledge/segment/data.ts +++ b/apps/web-ele/src/views/ai/knowledge/segment/data.ts @@ -109,8 +109,8 @@ export function useGridColumns( attrs: { beforeChange: onStatusChange }, name: 'CellSwitch', props: { - checkedValue: CommonStatusEnum.ENABLE, - unCheckedValue: CommonStatusEnum.DISABLE, + activeValue: CommonStatusEnum.ENABLE, + inactiveValue: CommonStatusEnum.DISABLE, }, }, }, @@ -128,4 +128,3 @@ export function useGridColumns( }, ]; } - diff --git a/apps/web-ele/src/views/ai/knowledge/segment/modules/form.vue b/apps/web-ele/src/views/ai/knowledge/segment/modules/form.vue index 69b176f6f..1b4b1354e 100644 --- a/apps/web-ele/src/views/ai/knowledge/segment/modules/form.vue +++ b/apps/web-ele/src/views/ai/knowledge/segment/modules/form.vue @@ -87,4 +87,3 @@ const [Modal, modalApi] = useVbenModal({ -