From 71c12a61d4c25a5a29e8597d57e2e2030ebeddc2 Mon Sep 17 00:00:00 2001 From: BBIT-Kai <2911862937@qq.com> Date: Thu, 18 Sep 2025 17:09:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8A=A5=E8=A1=A8=E3=80=81?= =?UTF-8?q?=E5=AE=A2=E6=9C=8D=E5=8A=9F=E8=83=BD=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vue/apps/web-antd/src/api/llm/report-bot.ts | 26 + vue/apps/web-antd/src/api/llm/report-data.ts | 44 ++ .../web-antd/src/api/llm/service-knowledge.ts | 44 ++ vue/apps/web-antd/src/api/llm/service.ts | 29 + .../src/views/llm/report/report-bot/index.vue | 282 ++++++++++ .../views/llm/report/report-chat/index.vue | 510 ++++++++++++++++++ .../views/llm/report/report-data/index.vue | 246 +++++++++ .../llm/report/report-knowledge/index.vue | 211 ++++++++ .../views/llm/service/service-bot/index.vue | 285 ++++++++++ .../views/llm/service/service-chat/index.vue | 309 +++++++++++ .../llm/service/service-knowledge/index.vue | 211 ++++++++ .../views/llm/service/service-mem/index.vue | 5 + 12 files changed, 2202 insertions(+) create mode 100644 vue/apps/web-antd/src/api/llm/report-bot.ts create mode 100644 vue/apps/web-antd/src/api/llm/report-data.ts create mode 100644 vue/apps/web-antd/src/api/llm/service-knowledge.ts create mode 100644 vue/apps/web-antd/src/api/llm/service.ts create mode 100644 vue/apps/web-antd/src/views/llm/report/report-bot/index.vue create mode 100644 vue/apps/web-antd/src/views/llm/report/report-chat/index.vue create mode 100644 vue/apps/web-antd/src/views/llm/report/report-data/index.vue create mode 100644 vue/apps/web-antd/src/views/llm/report/report-knowledge/index.vue create mode 100644 vue/apps/web-antd/src/views/llm/service/service-bot/index.vue create mode 100644 vue/apps/web-antd/src/views/llm/service/service-chat/index.vue create mode 100644 vue/apps/web-antd/src/views/llm/service/service-knowledge/index.vue create mode 100644 vue/apps/web-antd/src/views/llm/service/service-mem/index.vue diff --git a/vue/apps/web-antd/src/api/llm/report-bot.ts b/vue/apps/web-antd/src/api/llm/report-bot.ts new file mode 100644 index 0000000..3f1c5ba --- /dev/null +++ b/vue/apps/web-antd/src/api/llm/report-bot.ts @@ -0,0 +1,26 @@ +import { pyRequestClient } from '#/api/request'; + +/** + * 保存智能体name: str + available_report_tables:list[str] + description: str + role: str + service: str + welcome_words: str + title: str + */ +export async function saveBot(data: { + available_kn_bases: string[]; + available_module: string; + available_report_tables: string[]; + description: string; + id?: string; + name: string; + report_id: string; + role: string; + service: string; + title: string; + welcome_words: string; +}) { + return pyRequestClient.post('/llm/saveBot', data); +} diff --git a/vue/apps/web-antd/src/api/llm/report-data.ts b/vue/apps/web-antd/src/api/llm/report-data.ts new file mode 100644 index 0000000..d84700c --- /dev/null +++ b/vue/apps/web-antd/src/api/llm/report-data.ts @@ -0,0 +1,44 @@ +import { pyRequestClient } from '#/api/request'; +/** + * 获取表列表 + */ +export async function refreshTableList() { + return pyRequestClient.get('/llm/tableList'); +} + +/** + * 获取字段列表 + */ +export async function refreshFieldList(tableId: string) { + return pyRequestClient.get('/llm/fieldList', { + params: { + tableId, + }, + }); +} + +/** + * 新增表 + */ +export async function addTable(data: { description: string; name: string }) { + return pyRequestClient.post('/llm/addTable', data); +} + +/** + * 新增字段 + */ +export async function addField(data: { + description?: string; + is_active?: boolean; + name: string; + table_id: string; + type: string; +}) { + return pyRequestClient.post('/llm/addField', { + name: data.name, + type: data.type, + description: data.description ?? '', // 如果没填就传空字符串 + is_active: data.is_active ?? false, // 如果没勾选就传 false + table_id: data.table_id, + }); +} diff --git a/vue/apps/web-antd/src/api/llm/service-knowledge.ts b/vue/apps/web-antd/src/api/llm/service-knowledge.ts new file mode 100644 index 0000000..49900ff --- /dev/null +++ b/vue/apps/web-antd/src/api/llm/service-knowledge.ts @@ -0,0 +1,44 @@ +import { pyRequestClient } from '#/api/request'; + +/** + * 获取知识库列表 + */ +export async function refreshKnowledgeBaseListForService() { + return pyRequestClient.get('/llm/knowledgeBaseListForService'); +} + +/** + * 获取知识列表 + */ +export async function refreshKnowledgeList(knowledgeBaseId: string) { + return pyRequestClient.get('/llm/knowledgeList', { + params: { + knowledgeBaseId, + }, + }); +} + +/** + * 新增知识库 + */ +export async function addKnowledgeBase(data: { + description: string; + name: string; +}) { + return pyRequestClient.post('/llm/addKnowledgeBase', data); +} + +/** + * 新增知识 + */ +export async function addKnowledge(data: { + is_active?: boolean; + knowledge_base_id: string; + text: string; +}) { + return pyRequestClient.post('/llm/addKnowledge', { + text: data.text, + is_active: data.is_active ?? false, // 默认 false + knowledge_base_id: data.knowledge_base_id, + }); +} diff --git a/vue/apps/web-antd/src/api/llm/service.ts b/vue/apps/web-antd/src/api/llm/service.ts new file mode 100644 index 0000000..f373558 --- /dev/null +++ b/vue/apps/web-antd/src/api/llm/service.ts @@ -0,0 +1,29 @@ +import { pyRequestClient } from '#/api/request'; +/** + * 获取AI列表 + */ +export async function getAIBotListForService() { + return pyRequestClient.get('/llm/aiListForService'); +} + +/** + * 获取对话列表 + */ +export async function getSessionsForService() { + return pyRequestClient.get('/llm/sessionsForService'); +} + +/** + * 聊天 + */ +export async function chatWithService( + aiId: string, + sessionId: null | string, + userInput: string, +) { + return pyRequestClient.post('/llm/chatForService', { + aiId, + sessionId, + userInput, + }); +} diff --git a/vue/apps/web-antd/src/views/llm/report/report-bot/index.vue b/vue/apps/web-antd/src/views/llm/report/report-bot/index.vue new file mode 100644 index 0000000..48bbd13 --- /dev/null +++ b/vue/apps/web-antd/src/views/llm/report/report-bot/index.vue @@ -0,0 +1,282 @@ + + + diff --git a/vue/apps/web-antd/src/views/llm/report/report-chat/index.vue b/vue/apps/web-antd/src/views/llm/report/report-chat/index.vue new file mode 100644 index 0000000..9f6d153 --- /dev/null +++ b/vue/apps/web-antd/src/views/llm/report/report-chat/index.vue @@ -0,0 +1,510 @@ + + + + + diff --git a/vue/apps/web-antd/src/views/llm/report/report-data/index.vue b/vue/apps/web-antd/src/views/llm/report/report-data/index.vue new file mode 100644 index 0000000..cd47113 --- /dev/null +++ b/vue/apps/web-antd/src/views/llm/report/report-data/index.vue @@ -0,0 +1,246 @@ + + + diff --git a/vue/apps/web-antd/src/views/llm/report/report-knowledge/index.vue b/vue/apps/web-antd/src/views/llm/report/report-knowledge/index.vue new file mode 100644 index 0000000..03811be --- /dev/null +++ b/vue/apps/web-antd/src/views/llm/report/report-knowledge/index.vue @@ -0,0 +1,211 @@ + + + diff --git a/vue/apps/web-antd/src/views/llm/service/service-bot/index.vue b/vue/apps/web-antd/src/views/llm/service/service-bot/index.vue new file mode 100644 index 0000000..1559091 --- /dev/null +++ b/vue/apps/web-antd/src/views/llm/service/service-bot/index.vue @@ -0,0 +1,285 @@ + + + diff --git a/vue/apps/web-antd/src/views/llm/service/service-chat/index.vue b/vue/apps/web-antd/src/views/llm/service/service-chat/index.vue new file mode 100644 index 0000000..f1a8f0c --- /dev/null +++ b/vue/apps/web-antd/src/views/llm/service/service-chat/index.vue @@ -0,0 +1,309 @@ + + + + + diff --git a/vue/apps/web-antd/src/views/llm/service/service-knowledge/index.vue b/vue/apps/web-antd/src/views/llm/service/service-knowledge/index.vue new file mode 100644 index 0000000..891a536 --- /dev/null +++ b/vue/apps/web-antd/src/views/llm/service/service-knowledge/index.vue @@ -0,0 +1,211 @@ + + + diff --git a/vue/apps/web-antd/src/views/llm/service/service-mem/index.vue b/vue/apps/web-antd/src/views/llm/service/service-mem/index.vue new file mode 100644 index 0000000..6f13bf1 --- /dev/null +++ b/vue/apps/web-antd/src/views/llm/service/service-mem/index.vue @@ -0,0 +1,5 @@ +