教程中心RAG 知识库
进阶

RAG 知识库搭建:让 AI 懂你的业务

2026.04.22· 50 分钟实战· 🌊 OpenClaw + 📄 KimiClaw

AI Agent 回答问题总是"一本正经地胡说"?RAG(检索增强生成)是解决幻觉的核心技术——让 Agent 先从你的文档中找答案,再组织语言回复。本教程带你从零搭建一个可用的企业知识库。

💡 本教程涉及向量数据库和 Embedding 概念。不会写代码也能跟着做——OpenClaw 和 KimiClaw 已经封装了底层能力。

理解 RAG:三步工作流

1 RAG 的核心流程
RAG 工作流:

用户提问
   ↓
① 检索:从知识库中找到相关文档片段
   ↓
② 增强:把检索结果作为上下文注入 Prompt
   ↓
③ 生成:大模型基于真实文档生成回答

vs. 纯大模型回答:
  用户提问 → 大模型"脑补" → 可能幻觉 ❌

vs. RAG 回答:
  用户提问 → 检索真实文档 → 基于事实回答 ✅
🔑 关键洞察:RAG 的效果 70% 取决于检索质量,30% 取决于生成质量。优化检索比优化 Prompt 收益更大。

步骤一:准备与清洗文档

2 文档预处理

把企业文档整理为 AI 可用的格式:

文档预处理清单:

1. 格式统一
   - PDF → 提取文本(用 KimiClaw 上传解析)
   - Word → 导出纯文本
   - 表格 → 转为 Markdown 表格
   - 图片中的文字 → OCR 提取

2. 质量清洗
   - 删除页眉页脚、水印
   - 修复断行和乱码
   - 统一术语(如"客户"/"用户"/"会员"选一个)
   - 补全缺失的上下文(表格需要标题行)

3. 结构化标注
   - 每个文档添加元数据:
     {来源, 版本, 更新日期, 分类标签}
   - 长文档按章节拆分,保留层级关系
📊 实测建议:100 页以内的文档,手动清洗约 1 小时。超过 500 页,建议写脚本批量处理。KimiClaw 支持批量上传和解析。

步骤二:文档切分策略

3 切分的艺术

文档切分直接影响检索效果。常见策略对比:

切分策略对比:

┌──────────────┬──────────┬──────────┬──────────┐
│ 策略         │ 切分粒度 │ 检索精度 │ 适用场景 │
├──────────────┼──────────┼──────────┼──────────┤
│ 固定长度     │ 粗       │ 中       │ 通用     │
│ 按段落       │ 中       │ 中高     │ 文档     │
│ 按语义       │ 细       │ 高       │ 专业知识 │
│ 按章节+段落  │ 灵活     │ 最高     │ 复杂文档 │
└──────────────┴──────────┴──────────┴──────────┘

推荐配置:
- 基础切分:500 tokens/块,重叠 50 tokens
- 进阶切分:按标题切分,每块不超过 800 tokens
- 关键参数:overlap(重叠)防止语义断裂

示例:
原文:"3.2 退款政策 | 自购买日起7天内可申请退款,
需提供订单号和退款原因。超过7天不支持退款。"

切分后(带元数据):
{
  content: "自购买日起7天内可申请退款...",
  metadata: {
    source: "用户手册v3.2",
    section: "3.2 退款政策",
    page: 15,
    updated: "2026-03-01"
  }
}

步骤三:向量化与存储

4 把文本变成向量

在 OpenClaw 中配置知识库:

OpenClaw 知识库配置:

1. 创建知识库
   名称:公司产品知识库
   描述:包含产品手册、FAQ、政策文档

2. 上传文档
   支持格式:PDF、DOCX、TXT、MD、CSV
   批量上传 → 自动切分 → 自动向量化

3. 选择 Embedding 模型
   推荐:
   - 中文为主:bge-large-zh-v1.5
   - 中英混合:m3e-base
   - 高精度:text-embedding-3-large

4. 配置向量数据库
   OpenClaw 内置 → 零配置
   自建部署 → 推荐 Milvus 或 Qdrant
⚡ 性能提示:Embedding 模型选对,检索准确率提升 20-30%。中文场景务必选中文优化的模型,不要用英文模型凑合。

步骤四:检索优化

5 让检索又快又准

默认检索往往不够精准,需要调优:

检索优化三板斧:

1️⃣ 混合检索(推荐)
   向量检索(语义相似)+ 关键词检索(精确匹配)
   权重:向量 0.7 + 关键词 0.3
   → 兼顾"意思相近"和"字面匹配"

2️⃣ 重排序
   初步检索 Top 20 → 用 Cross-Encoder 重排 → 取 Top 5
   → 精度提升 15-25%

3️⃣ 查询改写
   用户原始问题 → AI 扩展为多个检索词 → 合并结果
   
   示例:
   用户问:"退款要多久"
   改写为:["退款处理时间", "退款到账周期", "退款流程时长"]
6 配置 Agent 的 RAG Prompt

在 Agent 系统提示中明确 RAG 行为规则:

你是一个基于知识库的客服助手。回答规则:

1. 优先使用检索到的知识库内容回答
2. 如果知识库中有明确答案,直接引用并标注来源
3. 如果知识库内容不足以回答,明确告知用户
   "根据现有资料,我无法确认这一点,建议咨询___"
4. 绝不编造知识库中没有的信息
5. 引用格式:【来源:{文档名} - {章节名}】

回答模板:
📝 回答:___
📚 依据:【来源:___】
🔄 相关问题:___

步骤五:评估与迭代

7 建立评估体系

用 50 个真实问题测试知识库效果:

评估指标:

1. 检索召回率:相关问题是否被检索到?
   目标:≥ 90%
   测试:50 个问题中,至少 45 个检索到正确文档

2. 回答准确率:生成的回答是否正确?
   目标:≥ 85%
   测试:人工评判 50 个回答的正确性

3. 引用准确率:标注的来源是否真实存在?
   目标:100%
   测试:每个引用都能追溯到原文

4. 拒答率:不确定时是否正确拒答?
   目标:该拒的都拒,不该拒的不拒

常见问题与修复:
- 召回率低 → 调整切分策略或增加 overlap
- 准确率低 → 优化 Prompt 或增加重排序
- 幻觉仍存在 → 加强"必须引用来源"的规则
- 拒答过多 → 扩充知识库覆盖面
📈 迭代节奏:每周分析 20 条用户提问日志,补充知识库缺口。1 个月后准确率通常可从 70% 提升到 90%+。

进阶:多知识库协同

8 按业务线拆分知识库
企业级知识库架构:

📦 产品知识库 → 产品参数、使用指南、常见问题
📦 政策知识库 → 退款政策、隐私条款、合规要求
📦 运营知识库 → 活动规则、促销方案、价格体系
📦 技术知识库 → API 文档、故障排查、部署指南

路由策略:
1. 用户提问 → 意图识别
2. 路由到对应知识库检索
3. 跨库问题 → 多库并行检索 → 合并排序

优势:
- 每个库独立更新,互不影响
- 检索范围更精准,噪声更少
- 权限可控,不同角色访问不同库