From 45ceacdcac45741cf12e8ba6f2e8b82503317535 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 2 Mar 2025 20:53:19 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E3=80=91AI=EF=BC=9A=E5=A2=9E=E5=8A=A0=E5=8F=AC=E5=9B=9E?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=9A=84=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/ai/knowledge/segment/index.ts | 24 ++- src/router/modules/remaining.ts | 25 ++- .../ai/knowledge/document/form/SplitStep.vue | 2 - src/views/ai/knowledge/knowledge/index.vue | 18 +- .../knowledge/knowledge/retrieval/index.vue | 163 ++++++++++++++++++ 5 files changed, 215 insertions(+), 17 deletions(-) create mode 100644 src/views/ai/knowledge/knowledge/retrieval/index.vue diff --git a/src/api/ai/knowledge/segment/index.ts b/src/api/ai/knowledge/segment/index.ts index ece1cad5..81a3f3f3 100644 --- a/src/api/ai/knowledge/segment/index.ts +++ b/src/api/ai/knowledge/segment/index.ts @@ -30,20 +30,28 @@ export const KnowledgeSegmentApi = { deleteKnowledgeSegment: async (id: number) => { return await request.delete({ url: `/ai/knowledge/segment/delete?id=` + id }) }, - + // 切片内容 splitContent: async (url: string, segmentMaxTokens: number) => { - return await request.get({ - url: `/ai/knowledge/segment/split`, - params: { url, segmentMaxTokens } + return await request.get({ + url: `/ai/knowledge/segment/split`, + params: { url, segmentMaxTokens } }) }, - + // 获取文档处理列表 getKnowledgeSegmentProcessList: async (documentIds: number[]) => { - return await request.get({ - url: `/ai/knowledge/segment/get-process-list`, - params: { documentIds: documentIds.join(',') } + return await request.get({ + url: `/ai/knowledge/segment/get-process-list`, + params: { documentIds: documentIds.join(',') } + }) + }, + + // 搜索知识库分片 + searchKnowledgeSegment: async (params: any) => { + return await request.get({ + url: `/ai/knowledge/segment/search`, + params }) } } diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index 334cb875..e3cc1f30 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -622,17 +622,18 @@ const remainingRouter: AppRouteRecordRaw[] = [ } }, { - path: 'console/knowledge/document', + path: 'knowledge/document', component: () => import('@/views/ai/knowledge/document/index.vue'), name: 'AiKnowledgeDocument', meta: { title: '知识库文档', icon: 'ep:document', - noCache: false + noCache: false, + activeMenu: '/ai/knowledge' } }, { - path: 'console/knowledge/document/create', + path: 'knowledge/document/create', component: () => import('@/views/ai/knowledge/document/form/index.vue'), name: 'AiKnowledgeDocumentCreate', meta: { @@ -640,11 +641,11 @@ const remainingRouter: AppRouteRecordRaw[] = [ icon: 'ep:plus', noCache: true, hidden: true, - activeMenu: '/ai/console/knowledge/document' + activeMenu: '/ai/knowledge' } }, { - path: 'console/knowledge/document/update', + path: 'knowledge/document/update', component: () => import('@/views/ai/knowledge/document/form/index.vue'), name: 'AiKnowledgeDocumentUpdate', meta: { @@ -652,7 +653,19 @@ const remainingRouter: AppRouteRecordRaw[] = [ icon: 'ep:edit', noCache: true, hidden: true, - activeMenu: '/ai/console/knowledge/document' + activeMenu: '/ai/knowledge' + } + }, + { + path: 'knowledge/retrieval', + component: () => import('@/views/ai/knowledge/knowledge/retrieval/index.vue'), + name: 'AiKnowledgeRetrieval', + meta: { + title: '文档召回测试', + icon: 'ep:search', + noCache: true, + hidden: true, + activeMenu: '/ai/knowledge' } } ] diff --git a/src/views/ai/knowledge/document/form/SplitStep.vue b/src/views/ai/knowledge/document/form/SplitStep.vue index 13ae4dc9..5b28ce31 100644 --- a/src/views/ai/knowledge/document/form/SplitStep.vue +++ b/src/views/ai/knowledge/document/form/SplitStep.vue @@ -145,7 +145,6 @@ const splitContent = async (file: any) => { ) } catch (error) { console.error('获取分段内容失败:', file, error) - message.error('获取分段内容失败') } finally { splitLoading.value = false } @@ -214,7 +213,6 @@ const handleSave = async () => { } } catch (error: any) { console.error('保存失败:', modelData.value, error) - message.error(error.message) } finally { // 关闭按钮加载状态 submitLoading.value = false diff --git a/src/views/ai/knowledge/knowledge/index.vue b/src/views/ai/knowledge/knowledge/index.vue index 060539d2..11eb1559 100644 --- a/src/views/ai/knowledge/knowledge/index.vue +++ b/src/views/ai/knowledge/knowledge/index.vue @@ -95,6 +95,14 @@ > 文档 + + 召回测试 + { const router = useRouter() const handleDocument = (id: number) => { router.push({ - path: '/ai/console/knowledge/document', + name: 'AiKnowledgeDocument', query: { knowledgeId: id } }) } +/** 跳转到文档召回测试页面 */ +const handleRetrieval = (id: number) => { + router.push({ + name: 'AiKnowledgeRetrieval', + query: { id } + }) +} + /** 初始化 **/ onMounted(() => { getList() diff --git a/src/views/ai/knowledge/knowledge/retrieval/index.vue b/src/views/ai/knowledge/knowledge/retrieval/index.vue new file mode 100644 index 00000000..aca521a3 --- /dev/null +++ b/src/views/ai/knowledge/knowledge/retrieval/index.vue @@ -0,0 +1,163 @@ + + +