# 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       │       ▼ 实时发送       │       ▼ 前端逐步渲染 |
| --- |
