44e77dcb0e
**重构前**(旧编号 02-11): - docs/02-产品需求/ → 00 产品规划/PRD - docs/03-技术架构/ → 01-05 子目录散落 - docs/04-原型设计/ → 01-02 产品设计(HTML 原型) - docs/05-原型设计/ → screens/ - docs/06-测试素材/ → 02-E2E / 03-功能 / 04-版本测试 - docs/07-项目管理/ → 任务说明书/日报/计划 - docs/08-安全审计/ → 审计报告 - docs/09-堡垒运维/ → toolbox / deploy - docs/10-项目管理/ → 任务说明书(重复) - docs/11-历史归档/ → deploy-nas-archived **重构后**(新编号 00-07,语义化): - docs/00-产品开发流程与文档管理规范.md - docs/00-版本迭代总览.md - docs/01-产品文档/ (PRD/原型/认证/会话/AI 服务/坐席/集成) - docs/02-技术文档/ (技术方案/架构图/重构记录/前端改造/实现配置) - docs/03-测试文档/ (E2E/功能用例/版本报告/缺陷单) - docs/04-运维文档/ (部署运维/运维指南) - docs/05-运营文档/ (品牌推广/用户手册) - docs/06-安全审计/ (审计报告) - docs/07-项目管理/ (任务说明书/日报/计划/看板) **净收益**: - 目录编号与产品文档管理规范对齐(按文档阶段 01-07 编号) - 消除 02-产品需求 与 10-项目管理 的编号重叠 - 子目录按文档类型分组(如 01-产品文档/00-产品规划、01-产品文档/01-认证与登录) - 把运维/安全/项目管理从 0X 散落改为 04/06/07 合计 494 文件 + 78495 行 / - 14076 行
232 lines
6.5 KiB
Markdown
232 lines
6.5 KiB
Markdown
# PRD - 知识库闭环
|
||
|
||
> **REQ编号**: REQ-知识-001
|
||
> **版本**: v1.1
|
||
> **优先级**: P0
|
||
> **阶段**: 近期(1-2个月)
|
||
> **作者**: 宋献
|
||
> **日期**: 2026-07-19
|
||
> **状态**: 待开发
|
||
> **原型**: `原型-REQ-知识-001-知识库闭环-v1.0.html`
|
||
> **关联**: REQ-知识-002 已合并(训练师审批作为核心环节)
|
||
|
||
---
|
||
|
||
## 一、问题陈述
|
||
|
||
**用户问题**:
|
||
- 知识库 P2-01 标注"已完成",但实际是桩实现(stub),API 未挂载
|
||
- 员工提问时 AI 无法引用真实知识库内容
|
||
- 知识建议→训练师审批→入库→AI引用的全流程未打通
|
||
|
||
**业务目标**:
|
||
- 实现知识库全闭环:知识建议 → 审批 → 入库 → AI 引用
|
||
- 知识库回答准确率提升至 85% 以上
|
||
|
||
---
|
||
|
||
## 二、需求范围
|
||
|
||
### 2.1 核心功能
|
||
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 知识建议API挂载 | 将 P2-01 的知识建议接口从桩实现改为真实调用 |
|
||
| 知识入库 | 知识通过审批后写入 Neo4j 图数据库 |
|
||
| 知识引用 | AI 回答时从知识库检索相关内容并引用 |
|
||
| 审批流打通 | 训练师在坐席端可审批知识建议 |
|
||
|
||
### 2.2 非目标
|
||
|
||
- 不包含知识库的自动学习/自训练能力
|
||
- 不包含知识库的版本管理
|
||
- 不包含知识库的分类/标签管理(后续迭代)
|
||
|
||
---
|
||
|
||
## 三、用户故事
|
||
|
||
| 角色 | 用户故事 | 验收标准 |
|
||
|------|----------|---------|
|
||
| 员工 | 我提问后,AI 能引用知识库中的相关内容 | 知识库有答案的问题,AI 回答时显示引用来源 |
|
||
| 坐席 | 我可以提交知识建议供审批 | 提交后进入待审批列表 |
|
||
| 训练师 | 我可以审批知识建议 | 通过/拒绝后知识入库或打回 |
|
||
| 管理员 | 我可以查看知识库覆盖情况 | 管理后台能看到知识节点数量、更新日志 |
|
||
|
||
---
|
||
|
||
## 四、功能详情
|
||
|
||
### 4.1 知识建议 API 挂载
|
||
|
||
**现状**:`knowledge_iteration_router` 被注释,未挂载真实 API
|
||
|
||
**改造**:
|
||
1. 取消注释 `knowledge_iteration_router`
|
||
2. 挂载真实知识检索 API
|
||
3. 配置 Neo4j 图存储连接
|
||
|
||
### 4.2 知识入库流程
|
||
|
||
```
|
||
用户提问 → AI分析 → 知识建议 → 训练师审批 → 写入Neo4j → AI可引用
|
||
```
|
||
|
||
| 步骤 | 动作 | 责任人 |
|
||
|------|------|--------|
|
||
| 1 | 知识建议生成 | AI服务 |
|
||
| 2 | 入库申请提交 | 坐席/管理员 |
|
||
| 3 | 审批(通过/拒绝) | 训练师 |
|
||
| 4 | 写入Neo4j | 后端服务 |
|
||
| 5 | 索引更新 | 后端服务 |
|
||
|
||
### 4.3 审批界面
|
||
|
||
- 坐席端增加「知识审批」Tab
|
||
- 显示待审批列表:知识标题、摘要、申请人、提交时间
|
||
- 支持:通过、拒绝、修改后通过
|
||
|
||
---
|
||
|
||
## 五、指标设计
|
||
|
||
| 指标 | 目标 | 测量方式 |
|
||
|------|------|---------|
|
||
| 知识库引用率 | ≥ 60% | AI回答中引用知识库的比例 |
|
||
| 知识库准确率 | ≥ 85% | 知识库答案被标记为正确的比例 |
|
||
| 审批平均耗时 | ≤ 24h | 知识从提交到审批完成的平均时间 |
|
||
|
||
---
|
||
|
||
## 六、技术依赖
|
||
|
||
| 依赖项 | 说明 |
|
||
|--------|------|
|
||
| Neo4j 图数据库 | 知识存储 |
|
||
| Dify API | 知识检索 |
|
||
| RAGFlow | 知识向量化 |
|
||
|
||
---
|
||
|
||
## 七、API 接口设计
|
||
|
||
| 接口 | 方法 | 说明 |
|
||
|------|------|------|
|
||
| `/api/knowledge/suggest` | POST | 知识建议(AI分析对话后生成) |
|
||
| `/api/knowledge/submit` | POST | 提交知识入库申请 |
|
||
| `/api/knowledge/approve` | POST | 审批知识(通过/拒绝) |
|
||
| `/api/knowledge/approve/list` | GET | 待审批列表 |
|
||
| `/api/knowledge/search` | GET | 知识库检索 |
|
||
| `/api/knowledge/graph` | GET | 知识图谱可视化 |
|
||
|
||
### 7.1 POST /api/knowledge/submit
|
||
|
||
**请求体**:
|
||
```json
|
||
{
|
||
"title": "VPN连接失败排查步骤",
|
||
"content": "1. 检查VPN客户端版本...\n2. 检查网络环境...",
|
||
"category": "网络问题",
|
||
"tags": ["VPN", "网络", "连接"],
|
||
"source_conversation_id": "conv_xxx"
|
||
}
|
||
```
|
||
|
||
**响应**:
|
||
```json
|
||
{
|
||
"success": true,
|
||
"knowledge_id": "kn_001",
|
||
"status": "pending_approval"
|
||
}
|
||
```
|
||
|
||
### 7.2 POST /api/knowledge/approve
|
||
|
||
**请求体**:
|
||
```json
|
||
{
|
||
"knowledge_id": "kn_001",
|
||
"action": "approve", // "approve" | "reject" | "modify_approve"
|
||
"comment": "内容准确,可以入库",
|
||
"modified_content": null // 当 action 为 modify_approve 时使用
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 八、数据模型
|
||
|
||
### 8.1 Knowledge 表
|
||
|
||
```sql
|
||
CREATE TABLE knowledge_base (
|
||
id SERIAL PRIMARY KEY,
|
||
knowledge_id VARCHAR(64) UNIQUE NOT NULL,
|
||
title VARCHAR(255) NOT NULL,
|
||
content TEXT NOT NULL,
|
||
category VARCHAR(50),
|
||
tags JSONB DEFAULT '[]',
|
||
status VARCHAR(20) DEFAULT 'draft', -- draft / pending / approved / rejected
|
||
source_conversation_id VARCHAR(64),
|
||
created_by VARCHAR(64),
|
||
created_at TIMESTAMP DEFAULT NOW(),
|
||
approved_by VARCHAR(64),
|
||
approved_at TIMESTAMP,
|
||
neo4j_node_id VARCHAR(64) -- 写入Neo4j后的节点ID
|
||
);
|
||
```
|
||
|
||
### 8.2 Knowledge Approval History 表
|
||
|
||
```sql
|
||
CREATE TABLE knowledge_approval_history (
|
||
id SERIAL PRIMARY KEY,
|
||
knowledge_id VARCHAR(64) NOT NULL,
|
||
action VARCHAR(20) NOT NULL, -- submit / approve / reject / modify
|
||
comment TEXT,
|
||
operator_id VARCHAR(64) NOT NULL,
|
||
created_at TIMESTAMP DEFAULT NOW()
|
||
);
|
||
```
|
||
|
||
---
|
||
|
||
## 九、技术架构
|
||
|
||
### 9.1 知识流动
|
||
|
||
```
|
||
用户提问 → Dify分析 → 知识建议 → 坐席提交 → 训练师审批 → Neo4j入库 → AI检索引用
|
||
↓ ↓ ↓ ↓ ↓
|
||
AI回复 建议内容 待审批 审批记录 图数据库
|
||
```
|
||
|
||
### 9.2 核心改造点
|
||
|
||
1. **取消注释** `knowledge_iteration_router`,挂载真实 API
|
||
2. **Neo4j 集成**:配置图数据库连接,实现知识写入和检索
|
||
3. **审批工作流**:坐席端增加知识审批 Tab,训练师操作
|
||
4. **知识检索**:AI 回答时调用 RAGFlow/Dify 检索知识库
|
||
|
||
---
|
||
|
||
## 十、验收标准
|
||
|
||
| 场景 | 验收条件 |
|
||
|------|----------|
|
||
| 知识提交 | 坐席提交知识 → 进入待审批列表 → 训练师可见 |
|
||
| 知识审批-通过 | 训练师点击通过 → 状态变为已批准 → 写入Neo4j |
|
||
| 知识审批-拒绝 | 训练师点击拒绝 → 状态变为已拒绝 → 申请人收到通知 |
|
||
| AI引用 | 员工提问 → AI回答时显示「知识库引用」来源卡片 |
|
||
| 知识检索 | 管理后台可搜索知识库内容 |
|
||
| 审批历史 | 知识详情页显示完整审批操作历史 |
|
||
|
||
---
|
||
|
||
## 十一、关联文档
|
||
|
||
- 技术方案: `02-技术文档/技术架构/增量设计-知识库迭代与痛点缓解-20260711.md`
|
||
- 前置需求: REQ-AI-001 复杂场景与统一路由
|
||
- UI设计: `原型-REQ-知识-001-知识库闭环-v1.0.html`
|