企业 AI 知识库怎么搭建:从资料治理到 RAG 评测

知识库效果不好,问题往往不只在模型,而在资料质量、检索相关性、权限和维护机制。

先说结论

企业 AI 知识库通常用 RAG 把内部资料检索结果提供给大模型,再基于这些资料回答。落地重点是资料权威性、权限、切分与检索、引用和持续评测,而不是只把文件上传到平台。

读完你会得到

  • 理解 RAG 知识库的完整链路。
  • 用资料、检索、生成三层定位错误。
  • 获得上线和维护检查清单。

同样上传一份制度文件,为什么有人能找到依据,有人却拿到旧答案?本文从一份可核对的资料台账开始,演示如何区分版本、检索和权限问题,再给出能本地运行的微型检索实验。技术原理参考 Google Cloud 等公开文档;教学数据全部虚构,不是客户制度或模型效果报告。

配套练习与模板

无需留联系方式即可下载。先用示例熟悉方法,再填入脱敏后的业务资料;示例不是客户成果或效果承诺。

RAG 知识库不是“训练一个懂公司资料的模型”

  1. 资料进入

    采集文档、网页、表格或业务记录,并保留来源与权限。

  2. 解析与切分

    把内容转成可检索片段,同时保留标题、版本和上下文。

  3. 检索与排序

    根据用户问题找到并排序相关事实。

  4. 基于证据生成

    把检索结果交给模型,要求在证据范围内回答。

  5. 引用与反馈

    展示来源,让用户核对并反馈缺失或错误。

本节依据: [1] Google Cloud

先治理资料:权威、版本、权限、维护人

资料进入知识库前的检查
问题合格状态风险
谁是权威来源有明确发布部门或系统多个文档互相冲突
哪个版本有效保留生效时间和状态旧制度与新制度混用
谁可以看权限随用户身份过滤先检索后隐藏造成泄露
谁负责更新每类资料有维护人和周期上传后无人管理
是否适合回答说明可引用范围和限制把草稿或个人意见当政策

本节依据: [2] NIST [3] OWASP Foundation

回答错误时,分三层定位原因

知识库错误诊断
典型问题修复方向
资料层原文缺失、过期、冲突补资料、版本治理、确定权威来源
检索层没找到、找错、上下文不足调整切分、查询、混合检索与排序
生成层证据正确但回答遗漏或发挥收紧指令、结构化输出、引用与拒答

本节依据: [1] Google Cloud

先做一张资料卡,避免新旧制度混在一起

从一个资料负责人能确认的范围开始,例如内部销售使用的产品规格,或员工可见的常见制度。先问“谁有权确认这段内容仍然有效”,再问“需要哪个向量数据库”。无法确定权威版本的文件先放待整理区,不要默认全部可用。

资料卡示例(虚构制度,仅演示字段)
字段示例为什么需要
doc_id / versiontravel-v2 / v2回答、检索记录和原文能对应到同一版本
标题 / 状态差旅报销规则 / active旧版 travel-v1 标记 retired,不进入默认现行查询
原文片段虚构现行标准 300 元;旧版为 200 元必须一起保留适用对象和限制,不能只截金额
访问角色employee、admin身份由业务系统提供;不能接受用户在提问中自称管理员
资料维护人 / 生效与复核时间由真实项目填写没有维护责任和有效时间时进入待确认状态
引用位置文档路径+章节或页码用户要能核对;不要只展示无法定位的文件名

本节依据: [1] Google Cloud

动手复现:不用大模型,也能看见三种检索错误

  1. 下载脚本

    在本页配套资料下载 knowledge-base-lab.mjs。它将全部虚构文档和测试题放在同一文件,便于逐项核对。

    产出:一个可读的 .mjs 文本文件
  2. 在本地执行

    安装 Node.js 18 或以上版本后,在文件所在目录运行 node knowledge-base-lab.mjs。无需安装包、填写密钥或连接网络。

    产出:逐题对比表和断言结果
  3. 比较两种规则

    基线只按关键词返回第一条命中的文档;规则版先按 active 状态和角色过滤,再将“出差”映射为“报销”,最后匹配关键词。

    产出:版本、权限、同义表达各自影响的证据
  4. 改一道没见过的题

    例如把“出差能报多少”换成“外地参会住宿限额”。脚本未实现语义理解或澄清,可能找不到。把新失败保留下来,而不是只把题改成容易命中的关键词。

    产出:暴露规则局限的新增测试
本地执行结果:6 道固定教学题
问题 / 身份预期基线实际规则版实际
报销标准 / employeetravel-v2travel-v1(旧版)travel-v2
出差能报多少 / employeetravel-v2无结果travel-v2
运维轮换流程 / employee无结果(无权限)ops-admin(越权)无结果
运维轮换流程 / adminops-adminops-adminops-admin
宠物托管规则 / employee无结果(资料缺失)无结果无结果
餐补怎么申请 / employeemeal-v1meal-v1meal-v1

本次固定题集中,基线有 3/6 项与预期一致,规则版有 6/6 项一致。这只是脚本回归结果,不是统计意义上的准确率提升。它说明:在这组数据里,改版本过滤、角色过滤和一个同义映射就改变了检索结果,问题不需要先归咎于模型。

脚本的“无结果”把资料缺失和无权限都表示为 null;真实系统应在内部日志区分原因,但不能向无权限用户泄露受限文档是否存在。脚本也不覆盖多租户、缓存隔离、提示注入、身份伪造和全文生成,不能直接当作生产权限实现。

接上大模型以后,如何把测试扩展成上线验收?

同一问题分层记分,不只看最后一段话
检查层记录什么失败之后先做什么
问题与身份问题原文、真实角色、查询时点、预期来源身份或时间不明确时先澄清
检索返回 doc_id、版本、排名和片段;正确依据是否进入上下文修资料、过滤、切分或检索,不先改文风
回答结论、适用条件、引用是否真的支持结论证据够但回答错,再调整生成与校验
拒答与恢复缺依据、冲突或越权时是否停止并给合理下一步补充拒答与人工转接测试,不能强迫每题都有答案
成本与速度端到端时间、调用成本、人工复核与维护投入与原流程同口径比较,不只量模型响应时间

从获授权的真实问法中收集题目,并让资料负责人先给预期依据。将一部分问题留作未参与调试的保留集;同时覆盖无答案、同义问法、跨段条件、旧版冲突和权限差异。测试报告应展示逐题失败及样本范围,而不是只展示一个平均分。

更新资料后先核对新版本是否入库、旧版本是否退出默认检索、引用能否打开,再运行受影响的问题集。删除或撤权还要检查缓存和历史副本;只在网页隐藏旧来源,不能证明后端不再使用旧数据。

本节依据: [4] OpenAI Developers [3] OWASP Foundation

用真实问题评测,不用几道演示题

  • 正确答案题

    业务专家给出预期答案与权威来源。

  • 找不到答案题

    系统应说明缺少依据,而不是补全想象。

  • 权限题

    不同身份只能检索和引用允许内容。

  • 冲突版本题

    优先有效版本,并能显示来源。

  • 模糊与追问题

    信息不足时先澄清,而不是武断回答。

  • 对抗题

    外部文档或用户输入不能改变系统边界。

本节依据: [4] OpenAI Developers [3] OWASP Foundation

常见问题

企业知识库一定要用向量数据库吗?

不一定。数据量、查询方式和平台能力不同,关键词检索、语义检索、混合检索或长上下文都可能适用。应以真实问题的检索质量、权限和成本评测决定。

上传的文档越多,知识库效果越好吗?

不是。重复、过期、冲突和无权限标记的资料会降低可用性并增加风险。优先建设小而权威、可维护、可评测的资料集。

资料来源与核对说明

文章中的行业定义与技术方法尽量引用官方或标准组织资料;表格、清单和决策框架是基于这些资料形成的编辑性整理,不代表来源机构对本站服务的背书。

  1. What is Retrieval-Augmented Generation (RAG)?Google Cloud

    用于解释 RAG 的检索、预处理、基于检索事实生成,以及知识库质量对结果的影响。

  2. Generative Artificial Intelligence ProfileNIST

    用于识别生成式 AI 全生命周期的特有风险,并把风险管理纳入设计与运营。

  3. OWASP Top 10 for Large Language Model ApplicationsOWASP Foundation

    用于核对提示注入、输出处理、敏感信息泄露和过度代理等常见安全风险。

  4. Evaluation best practicesOpenAI Developers

    用于建立任务级评测:定义目标、收集数据、设置指标、运行比较并持续评估。

把文章方法用于你的真实业务

带上流程、样例和目标,添加企业微信沟通。首次沟通先判断是否值得做,不承诺没有数据依据的结果。

查看企业 AI 咨询服务 →