Files
QuestionProject/ai_knowledge_base_v2/extracted/05-AI知识库系统_AI-RAG技术方案设计_V10_1.md

6.2 KiB
Raw Blame History

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