Start AI knowledge base v2 workspace

This commit is contained in:
2026-07-06 16:55:03 +08:00
parent 708e0a424e
commit 4eac7351a9
30 changed files with 7720 additions and 0 deletions

View 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 次(后台可配置 03 次)
全部失败:
返回:
当前知识库服务暂时不可用,请稍后再试。
后台记录:
请求参数
错误原因
响应时间
用户信息
## 第六章 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 EventsSSE
流程:
### 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 |
| --- | --- |
| 架构模式 | RAGRetrieval-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 + SSEStreaming |
| 身份认证 | JWT |
## Table 4
| 用户提问 │ ▼ 登录校验 │ ▼ 账号状态校验 │ ▼ 聊天次数校验 │ ▼ 获取用户知识库权限 │ ▼ 过滤无权限知识库 │ ▼ 实时访问飞书知识库 │ ▼ 获取知识片段 │ ▼ 组装 Prompt │ ▼ 调用 AI 模型 │ ▼ Streaming 输出 │ ▼ 保存聊天记录 |
| --- |
## Table 5
| UserID │ ▼ 查询用户知识库权限 │ ▼ 过滤已过期权限 │ ▼ 过滤禁用知识库 │ ▼ 得到最终检索范围 |
| --- |
## Table 6
| 飞书修改文档 │ ▼ 用户下一次提问 │ ▼ 实时读取最新内容 |
| --- |
## Table 7
| ① 系统 Prompt + ② 检索到的知识片段 + ③ 当前会话上下文 + ④ 用户当前问题 |
| --- |
## Table 8
| 知识命中 ↓ 引用知识 ↓ 生成答案 |
| --- |
## Table 9
| 知识库A …… 知识库B …… 当前知识库存在不同观点, 以上内容分别来源于不同知识库, 请结合实际业务判断。 |
| --- |
## Table 10
| AI生成 Token │ ▼ 实时发送 │ ▼ 前端逐步渲染 |
| --- |