知识库问答机器人是大模型最常见的落地形态之一:员工可以问它公司制度,客户可以问它产品使用方法,开发者可以问它技术文档。它的核心技术是检索增强生成(RAG):先从文档中找到相关内容,再让大模型基于这些内容回答。 本文按照实际搭建的顺序,介绍每个环节需要做的关键决策,帮助你从零搭建一个可用的知识库机器人。

整体架构

一个知识库问答系统包括两条流程:

  • 离线入库流程:收集文档 → 解析 → 切分 → 向量化 → 存入索引;
  • 在线问答流程:用户提问 → 改写查询 → 检索 → 重排序 → 组装提示词 → 大模型生成回答 → 返回带引用的答案。

第一步:准备数据

确定范围

从一个明确的范围开始,例如某个产品的帮助文档或某个部门的制度文件,而不是一开始就导入所有文档。

清理内容

删除过时的文档,合并重复的内容,确认每份文档都是最新的有效版本。数据质量是整个系统效果的上限,治理思路参见企业知识库问答落地。

收集测试问题

同时收集几十个真实用户会问的问题,并标注答案在哪份文档的哪个位置。这将用于后续的评测。

第二步:解析与切分

解析

把各种格式的文档转换为干净的文本,保留标题层级等结构信息。PDF、扫描件和表格需要特别处理,参见 PDF 与表格解析的坑。

切分

把文档切成适合检索的片段,优先按照文档的标题结构切分,为每个片段附上文档标题和章节路径,详见 RAG 文档切分策略。

第三步:向量化与索引

选择 Embedding 模型

中文场景选择对中文支持良好的模型。用测试问题对比几个候选模型的检索命中率,参见文本向量入门。

选择存储方案

原型阶段可以使用嵌入式向量库或现有数据库的向量扩展,规模扩大后再考虑专用方案,参见向量数据库怎么选。

保存元数据

为每个片段保存来源文档、章节、页码、更新时间、访问权限等元数据,用于过滤和引用。

第四步:检索与重排序

混合检索

同时使用向量检索和关键词检索,兼顾语义理解和精确匹配,参见混合检索实战。

重排序

对初步检索得到的几十个候选片段进行重排序,选出最相关的几个送给大模型,参见重排序模型指南。

查询改写

多轮对话中,用户的问题可能依赖上下文,例如“那它的保修期呢”。需要先结合对话历史把问题改写为完整独立的查询,再进行检索。

权限过滤

在检索阶段按照用户的权限过滤文档,确保用户只能看到有权访问的内容。

第五步:提示词与生成

系统提示词中应包括:

  • 只依据提供的参考资料回答;
  • 资料中没有相关信息时,明确说明并引导用户到其他渠道;
  • 在回答中标注引用的资料编号;
  • 回答的语气、长度和格式要求。

把检索到的片段编号后放入提示词,每个片段附上来源信息。生成后,用程序检查引用编号是否有效,并在界面上把编号转换为可点击的来源链接,参见让用户信任 AI。

第六步:评测

用第一步收集的测试问题进行评测,分两个层面:

  • 检索评测:正确的片段是否出现在检索结果的前几名;
  • 回答评测:回答是否正确、是否忠实于资料、引用是否准确、没有答案时是否如实说明。

根据评测结果定位问题:是解析丢了信息、切分不合理、检索没找到,还是模型没有用好资料。评测方法参见如何构建评测集。

第七步:上线与迭代

  • 小范围试用:先邀请一小部分用户试用,收集反馈;
  • 反馈入口:每个回答提供“有用/无用”按钮和问题反馈入口;
  • 分析未解决问题:定期查看用户提问中答不上来或答错的问题,补充文档或优化检索;
  • 监控:记录检索结果、引用和用户反馈,持续跟踪质量。

原型阶段的最小可行架构

如果你想快速验证想法,可以采用最简化的方案:

  1. 用 AI 应用编排平台或开源框架,选择内置的文档解析和切分功能;
  2. 使用一个中文效果较好的 Embedding 模型和嵌入式向量库;
  3. 先只用向量检索,选择检索前几名的片段;
  4. 编写包含引用要求的系统提示词;
  5. 用二三十个测试问题验证效果。

在验证价值后,再逐步加入混合检索、重排序、权限控制等能力。相关工具的使用思路可参考用 AI 自动化工作流。

小结

搭建知识库问答机器人,关键在于每个环节的质量:干净的数据、合理的解析与切分、合适的检索策略、严格要求引用的提示词,以及基于真实问题的评测。从小范围、最小架构起步,用评测和用户反馈驱动迭代,是让知识库机器人真正好用的路径。