Start AI knowledge base v2 workspace
This commit is contained in:
359
ai_knowledge_base_v2/extracted/05-AI知识库系统_AI-RAG技术方案设计_V10_1.md
Normal file
359
ai_knowledge_base_v2/extracted/05-AI知识库系统_AI-RAG技术方案设计_V10_1.md
Normal file
@@ -0,0 +1,359 @@
|
||||
# 05-AI知识库系统_AI-RAG技术方案设计_V1.0 (1).docx
|
||||
|
||||
《05-AI 知识库系统 AI/RAG 技术方案设计》
|
||||
|
||||
## 第一章 技术架构
|
||||
|
||||
### 1.1 总体架构
|
||||
|
||||
## 第二章 技术选型
|
||||
|
||||
## 第三章 RAG 流程
|
||||
|
||||
### 3.1 总体流程
|
||||
|
||||
## 第四章 权限过滤
|
||||
|
||||
### 4.1 核心原则
|
||||
|
||||
AI 只能访问用户拥有权限的知识库。
|
||||
|
||||
例如:
|
||||
|
||||
用户A:
|
||||
|
||||
直播运营
|
||||
|
||||
客服SOP
|
||||
|
||||
提问:
|
||||
|
||||
如何搭建直播间?
|
||||
|
||||
系统:
|
||||
|
||||
仅检索:
|
||||
|
||||
直播运营
|
||||
|
||||
客服SOP
|
||||
|
||||
不会访问:
|
||||
|
||||
销售知识库
|
||||
|
||||
人事知识库
|
||||
|
||||
财务知识库
|
||||
|
||||
### 4.2 权限流程
|
||||
|
||||
## 第五章 飞书知识库接入
|
||||
|
||||
### 5.1 接入原则
|
||||
|
||||
根据已确认需求:
|
||||
|
||||
飞书知识库作为唯一知识源
|
||||
|
||||
不建立本地知识副本
|
||||
|
||||
不做手动同步
|
||||
|
||||
每次提问实时检索
|
||||
|
||||
### 5.2 更新机制
|
||||
|
||||
无需后台点击同步。
|
||||
|
||||
### 5.3 异常处理
|
||||
|
||||
默认:
|
||||
|
||||
自动重试 2 次(后台可配置 0~3 次)
|
||||
|
||||
全部失败:
|
||||
|
||||
返回:
|
||||
|
||||
当前知识库服务暂时不可用,请稍后再试。
|
||||
|
||||
后台记录:
|
||||
|
||||
请求参数
|
||||
|
||||
错误原因
|
||||
|
||||
响应时间
|
||||
|
||||
用户信息
|
||||
|
||||
## 第六章 Prompt 组装
|
||||
|
||||
### 6.1 Prompt 组成
|
||||
|
||||
最终 Prompt 由四部分组成:
|
||||
|
||||
### 6.2 系统 Prompt
|
||||
|
||||
来源:
|
||||
|
||||
后台 Prompt 管理。
|
||||
|
||||
保存后立即生效。
|
||||
|
||||
### 6.3 知识片段
|
||||
|
||||
来源:
|
||||
|
||||
飞书实时检索结果。
|
||||
|
||||
不做修改。
|
||||
|
||||
### 6.4 上下文
|
||||
|
||||
后台配置:
|
||||
|
||||
Token 模式(推荐)
|
||||
|
||||
最近 N 轮模式
|
||||
|
||||
超出限制:
|
||||
|
||||
自动截断最早内容。
|
||||
|
||||
## 第七章 AI 回复策略
|
||||
|
||||
### 7.1 有知识命中
|
||||
|
||||
流程:
|
||||
|
||||
### 7.2 无知识命中
|
||||
|
||||
返回:
|
||||
|
||||
当前知识库中未检索到相关内容,请联系管理员补充相关知识。
|
||||
|
||||
禁止:
|
||||
|
||||
自行编造答案
|
||||
|
||||
使用模型已有知识补充
|
||||
|
||||
### 7.3 多知识库冲突
|
||||
|
||||
例如:
|
||||
|
||||
知识库A:
|
||||
|
||||
建议直播2小时。
|
||||
|
||||
知识库B:
|
||||
|
||||
建议直播4小时。
|
||||
|
||||
返回:
|
||||
|
||||
AI 不进行裁决。
|
||||
|
||||
## 第八章 Streaming 输出
|
||||
|
||||
### 8.1 输出方式
|
||||
|
||||
采用 Server-Sent Events(SSE)。
|
||||
|
||||
流程:
|
||||
|
||||
### 8.2 停止生成
|
||||
|
||||
用户点击:
|
||||
|
||||
停止生成
|
||||
|
||||
系统:
|
||||
|
||||
取消模型请求
|
||||
|
||||
保留已生成内容
|
||||
|
||||
消息状态更新为 STOPPED
|
||||
|
||||
## 第九章 超时与异常
|
||||
|
||||
### 9.1 AI 超时
|
||||
|
||||
后台配置:
|
||||
|
||||
默认:
|
||||
|
||||
30 秒
|
||||
|
||||
超时:
|
||||
|
||||
终止请求
|
||||
|
||||
返回统一提示
|
||||
|
||||
写入 AI 请求日志
|
||||
|
||||
### 9.2 飞书异常
|
||||
|
||||
重试结束仍失败:
|
||||
|
||||
知识库服务暂时不可用,请稍后再试。
|
||||
|
||||
### 9.3 模型异常
|
||||
|
||||
返回:
|
||||
|
||||
AI 服务暂时不可用,请稍后重试。
|
||||
|
||||
## 第十章 日志记录
|
||||
|
||||
每次 AI 调用记录:
|
||||
|
||||
用户ID
|
||||
|
||||
会话ID
|
||||
|
||||
模型名称
|
||||
|
||||
Prompt(建议生产环境可配置是否完整保存)
|
||||
|
||||
检索知识库
|
||||
|
||||
Token 消耗
|
||||
|
||||
请求耗时
|
||||
|
||||
调用状态
|
||||
|
||||
错误信息(如有)
|
||||
|
||||
## 第十一章 性能建议
|
||||
|
||||
并发
|
||||
|
||||
建议:
|
||||
|
||||
API 无状态部署
|
||||
|
||||
Redis 保存验证码、登录态缓存等(按实际架构)
|
||||
|
||||
AI 服务独立部署
|
||||
|
||||
数据库
|
||||
|
||||
建议索引:
|
||||
|
||||
user_id
|
||||
|
||||
session_id
|
||||
|
||||
knowledge_id
|
||||
|
||||
created_at
|
||||
|
||||
超时
|
||||
|
||||
飞书接口:建议 10 秒以内
|
||||
|
||||
AI 请求:默认 30 秒,可后台配置
|
||||
|
||||
## 第十二章 V2 扩展规划(预留)
|
||||
|
||||
在不影响 V1 架构的前提下,可扩展:
|
||||
|
||||
向量数据库(Milvus / pgvector 等)
|
||||
|
||||
文档上传(PDF、Word、Excel)
|
||||
|
||||
图片 OCR
|
||||
|
||||
多 Prompt 模板
|
||||
|
||||
多模型路由
|
||||
|
||||
多租户
|
||||
|
||||
联网搜索
|
||||
|
||||
知识召回优化
|
||||
|
||||
AI 回复质量评估
|
||||
|
||||
在线设备管理
|
||||
|
||||
《AI/RAG 技术方案》第一版完成
|
||||
|
||||
本技术方案与前面的 PRD、SRS、数据库设计、API 文档保持一致,覆盖了:
|
||||
|
||||
总体架构
|
||||
|
||||
RAG 工作流
|
||||
|
||||
飞书知识库实时检索
|
||||
|
||||
权限过滤
|
||||
|
||||
Prompt 组装
|
||||
|
||||
AI 回复策略
|
||||
|
||||
SSE 流式输出
|
||||
|
||||
超时与异常处理
|
||||
|
||||
日志记录
|
||||
|
||||
后续扩展规划
|
||||
|
||||
## Table 1
|
||||
| 版本 | V1.0 |
|
||||
| --- | --- |
|
||||
| 架构模式 | RAG(Retrieval-Augmented Generation) |
|
||||
| 适用范围 | V1.0 |
|
||||
|
||||
## Table 2
|
||||
| 用户(Web/H5) │ 手机号 + 短信验证码登录 │ API Gateway / Backend │ ┌───────────┼───────────┐ │ │ │ 用户服务 AI服务(RAG) 后台管理 │ │ │ │ ▼ │ │ 权限校验模块 │ │ │ │ │ Prompt组装模块 │ │ │ │ │ 飞书知识检索 │ │ │ │ │ 大模型调用 │ │ │ │ └───────────▼───────────┘ MySQL 数据库 |
|
||||
| --- |
|
||||
|
||||
## Table 3
|
||||
| 模块 | 建议方案 |
|
||||
| --- | --- |
|
||||
| 前端 | Vue3 + TypeScript + Element Plus(后台)、H5 用户端 |
|
||||
| 后端 | Java Spring Boot 3.x(或 NestJS,二选一) |
|
||||
| 数据库 | MySQL 8.x |
|
||||
| 缓存 | Redis |
|
||||
| AI 模型 | 后台可切换(一期仅启用一个) |
|
||||
| 知识源 | 飞书知识库 |
|
||||
| 通信 | REST + SSE(Streaming) |
|
||||
| 身份认证 | JWT |
|
||||
|
||||
## Table 4
|
||||
| 用户提问 │ ▼ 登录校验 │ ▼ 账号状态校验 │ ▼ 聊天次数校验 │ ▼ 获取用户知识库权限 │ ▼ 过滤无权限知识库 │ ▼ 实时访问飞书知识库 │ ▼ 获取知识片段 │ ▼ 组装 Prompt │ ▼ 调用 AI 模型 │ ▼ Streaming 输出 │ ▼ 保存聊天记录 |
|
||||
| --- |
|
||||
|
||||
## Table 5
|
||||
| UserID │ ▼ 查询用户知识库权限 │ ▼ 过滤已过期权限 │ ▼ 过滤禁用知识库 │ ▼ 得到最终检索范围 |
|
||||
| --- |
|
||||
|
||||
## Table 6
|
||||
| 飞书修改文档 │ ▼ 用户下一次提问 │ ▼ 实时读取最新内容 |
|
||||
| --- |
|
||||
|
||||
## Table 7
|
||||
| ① 系统 Prompt + ② 检索到的知识片段 + ③ 当前会话上下文 + ④ 用户当前问题 |
|
||||
| --- |
|
||||
|
||||
## Table 8
|
||||
| 知识命中 ↓ 引用知识 ↓ 生成答案 |
|
||||
| --- |
|
||||
|
||||
## Table 9
|
||||
| 知识库A: …… 知识库B: …… 当前知识库存在不同观点, 以上内容分别来源于不同知识库, 请结合实际业务判断。 |
|
||||
| --- |
|
||||
|
||||
## Table 10
|
||||
| AI生成 Token │ ▼ 实时发送 │ ▼ 前端逐步渲染 |
|
||||
| --- |
|
||||
Reference in New Issue
Block a user