4.3 知识库质量与 RAG 调优

约 25 分钟L2L3T2T1

课程来源

[来源] 腾讯云培训认证《腾讯云 ADP 前沿部署工程师(FDE)认证课程》第 4 章 ·〈4.3 知识库质量与 RAG 调优〉

原文:https://cloud.tencent.com/edu/learning/course-4742-84527-84531(腾讯云在线学习中心)

[收录说明] 企业内部培训用途蒸馏收录:保留原课章节结构与要点,截图以图注转写、互动组件转写为要点清单;概念与事实以原课为准。

本课目录(18 节)

4.3 知识库质量与 RAG 调优

当知识问答效果不稳定时,先判断问题出在知识、切分、检索,还是生成。

智能体知识问答的效果,不只取决于模型回复能力,更取决于知识是否准备得清楚、是否被正确切分、是否能被检索到、是否能被稳定传入模型上下文。学完本节,当知识库里明明有资料,智能体却没答对、答不全、引用不准或命中了旧内容时,你将能够从 ADP 的知识库设置和调试结果出发,判断如何从知识质量、切分方式、检索召回、问答 和引用配置中定位原因。

4.3.1 先判断:是不是知识与检索问题

RAG 的完整含义是“检索增强生成”。在知识问答场景中,模型并不是自动阅读整个知识库后回答,而是先根据用户问题从知识库中检索出相关片段,再把这些片段作为上下文交给模型生成答案。因此,知识库里“有答案”和智能体“能答对”之间,还隔着检索、切分、重排、上下文拼接和生成约束等多个环节。

一个典型的 RAG 链路可以理解为:用户问题进入应用后,系统先理解问题并可能结合上下文改写;随后在知识库中召回相关文档、问答或数据库内容;再通过匹配度、重排等机制筛选更相关的片段;最后把片段、提示词和用户问题一起传给模型生成答案。如果任何一环出现问题,最终回答都会受影响。

链路环节作用常见问题
用户问题表达真实意图,可能包含口语化、上下文省略或模糊指代。问法和文档表达差异大,导致检索不到。
知识准备提供可解析、可检索、可信的知识来源。文档过期、重复、标题混乱、表格不规范。
文档切分把文档拆成可被检索和召回的 Chunk。切片过大混入噪声,切片过小丢失上下文。
检索召回通过语义检索、混合检索等方式找到候选片段。召回数量太少、匹配度过高或知识范围错误。
重排筛选对候选片段做二次相关性排序。正确片段召回了但排在后面,未进入最终上下文。
增强生成把片段和提示词拼接后生成答案。命中正确但回答不按依据,引用缺失或引用错误。

知识问答效果不好时,最容易走偏的做法是直接改 Prompt 或换模型。实际上,很多问题的根因并不在生成,而在前面的知识准备和检索环节。你可以先用三个问题做快速判断。

判断问题怎么看优先处理
知识库里有没有可靠答案?查看正式文档、问答 或数据库中是否有明确、最新、可引用的答案。没有答案时先补知识,不要让模型猜。
有没有命中正确片段?在调试结果中查看命中文档、Chunk、问答 或数据库结果。没命中时先看切分、检索范围、召回数量和匹配度。
命中后有没有按依据回答?对比命中片段和最终回复,看是否扩展、遗漏或误读。命中了但答错,再调整 Prompt、引用要求或模型配置。

排查顺序

先确认有没有知识,再确认有没有命中,最后再看有没有正确生成。这个顺序能避免把知识缺失、切分错误或检索范围错误误判为 Prompt 问题。

常见现象

现象更可能的问题不要先做什么
知识库有答案但没命中问法和文档表达差异大、Chunk 不合适、匹配度过高、检索范围不对。不要只加长 Prompt。
命中了旧制度版本管理、到期时间、标签或分类没有维护。不要只调召回数量。
命中了正确文档但答不全Chunk 太短,条件、例外和结论被拆开。不要直接降低匹配度。
答案正确但没有引用参考来源或回复策略未配置,或 Prompt 未要求引用。不要把它当成检索失败。

最后把 RAG 最常见的四类问题现象与优先排查项整理成一张对照表。排障时先定位现象,再按顺序逐项排查:

问题现象优先排查项
没命中确认目标文档是否已上传、解析成功并处于可用状态 检查问题关键词、召回范围和权限过滤 查看切片是否包含可独立理解的答案信息 用测试问题逐项验证召回结果
命中旧文档核对文档版本、更新时间和生效状态 下线或删除过期知识并重新索引 检查同名文档与重复切片 建立版本与发布管理流程
答案不完整检查切片是否过短或割裂上下文 调整切片重叠、召回数量和相关性阈值 确认问题是否需要多段信息组合 优化 Prompt,要求覆盖关键字段
引用错误对照回答与实际召回片段 检查引用字段、文档元数据和节点变量映射 避免模型生成未召回的来源 用标准问题集回归验证引用准确率

4.3.2 知识库质量:把资料整理成可用知识

知识库质量决定了后续调优的上限。文档本身如果过期、重复、标题混乱、表格不规范,即使检索参数调得再细,也容易出现命中错误或回答不稳定。

这里的重点不是“上传更多资料”,而是让资料更适合被检索、被引用、被维护。建议先把知识按业务主题整理成清单,再决定哪些放文档、哪些做 问答、哪些适合数据库。

调优对象检查重点配置与维护动作
文档命名名称是否能体现主题、版本、适用范围。上传前统一命名;在文档列表中按分类管理。
文档结构标题、段落、表格、步骤是否清晰。上传前整理源文件;导入后检查解析结果。
版本管理是否存在旧制度、重复文档、冲突说明。删除旧文档,或设置到期时间、分类和标签。
表格资料是否有空行、空列、合并单元格、重复表头。清理表格后导入;必要时使用按行切分或数据库。
权限范围不同身份、部门、地区是否应看到不同知识。用标签和检索范围限制知识可见范围。

(1)三类知识的准备规范

文档、问答和数据库都可以作为知识来源,但它们适合解决的问题不同,准备规范也不同。调优时不要把所有资料都当作文档上传,而要先判断知识的形态。例如,制度、手册、SOP 更适合文档;高频标准问题更适合问答;需要按字段查询、聚合或筛选的数据更适合数据库。

知识类型适合场景准备规范
文档制度、手册、SOP、产品说明、政策条款。设置生效范围、文档标签、到期时间、展示参考来源和文档分类;导入后关注解析状态,必要时做解析切分干预。
问答高频问题、标准客服口径、容易误解或需要固定答案的问题。支持批量导入、手动录入、从文档生成;批量导入文件 5MB 以内,单个问题和答案不超过 2000 字符,单次最多 10000 条,分类标题不超过 10 个字符。
数据库商品、门店、订单、库存、指标等结构化数据查询。数据库名称 50 字符以内,描述 100 字符以内;数据表要补充中文名、表描述、列中文名称、列描述和单位信息,帮助模型理解字段含义。
  • 文档类知识要重点关注“ 可解析 ”和“ 可追溯 ”。如果文档到期后仍被检索,可能导致过期答案;如果没有打开参考来源,学员在测试时可能无法判断答案来自哪里。

  • 问答类知识要重点关注“ 可校验 ”和“ 无冲突 ”。从文档生成的问答必须经过人工校验后再采纳,冲突问答需要合并处理。

  • 数据库类知识要重点关注“ 字段可理解 ”。表名、列名、单位和描述写得越清楚,模型越容易判断应该查询哪张表、哪个字段。

(2)不要直接上传的典型资料

  • 只适合人看的活动海报、复杂宣传页、截图合集。

  • 大量设计元素混在一起的 PPT 页面。

  • 拍照模糊、倾斜、遮挡或表格线不清晰的扫描件。

  • 多人反复修改后没有版本标识的制度汇总。

调优建议

如果资料本身适合人读但不适合机器检索,先提取关键信息再入库。例如活动海报可以整理成“活动名称、适用时间、参与条件、优惠规则、限制条件、咨询入口”。

4.3.3 Chunk 切分:让片段既能命中,也能看懂

Chunk 是知识检索时被命中的基本片段。切分调优的目标不是追求越细越好,而是让每个片段都围绕一个相对完整的问题:既容易被用户问题命中,又能提供足够上下文让模型回答。

判断切分是否合适,可以看命中片段本身是否“能独立支撑回答”。如果片段只命中了结论,却没有条件;只命中了表格数据,却没有表头;只命中了流程步骤,却缺少前置条件,说明切分还需要调整。

切分问题学员怎么判断优化方向
切片过大命中片段很长,包含多个主题,答案容易混入无关内容。按标题、条款、问题或业务单元重新切。
切片过小命中片段只有结论,没有条件、适用范围或例外。增加切片长度或重叠,必要时用父子级切分。
表格被切坏表头和数据分离,字段含义丢失。表格按行切分,并保留表头范围。
问答被拆散问题和答案不在同一个片段里。按一问一答整理,或使用问答知识。

ADP 中常用切分方式

方式适合场景使用提示
默认切分普通制度、说明文、手册类文档。适合先快速验证,不适合所有特殊文档。不支持用户干预。
通用标识符切分文档已有清晰章节、符号或固定分隔。可设置标识符、切片最大长度、切片重叠长度。
父子级标识符切分检索需要精确,回答需要完整上下文。子级用于检索,父级用于召回给模型。
按行切分每行或每几行是独立知识的表格。适合 SKU、规则清单、门店表等。

参数边界

通用标识符切分可设置切片最大长度和切片重叠长度,切片最大长度不超过 4800 字符;重叠长度建议为切片最大长度的 10%,最高为 25%。 父子级切分中,子级切片最大长度不能超过父级最大长度,且最大可设置 1500 字符。表格按行切分时,表头范围最大支持 5 行。

🖼 图:4.3-01 知识库质量与RAG调优

4.3.4 检索召回:让合适的内容排到前面

切分解决**“知识怎么存”,检索召回解决“用户问的时候怎么找”**。调优时不要只盯着一个参数,而要看召回数量、匹配度、检索策略、重排、检索范围是否共同影响了结果。

检索参数的调整要围绕测试样本进行,而不是围绕单条问题反复试。召回数量调大,可能让某条问题命中,但也会带入更多噪声;匹配度调低,可能提高覆盖率,但也可能让弱相关片段进入上下文。更稳妥的做法是固定一组样本,看整体命中率、引用准确性和最终答案质量是否改善。

(1)先看召回结果,再调参数

如果调试时没有看到正确片段,优先检查检索范围和召回设置;如果正确片段出现了但排序靠后,再考虑重排;如果召回结果很多但都不相关,说明匹配度、知识质量或文档表达需要调整。

配置项影响什么调优提醒
向量模型影响语义匹配能力。当知识库中已经上传文档或关联数据库后,将不可变更该知识库的向量模型。如知识库内容清空,方可继续更改向量模型。 可在应用内“知识管理-更多-知识处理模型”里更改向量模型。
召回数量返回多少个候选片段。太少会漏,太多会带入噪声。 可在应用内“应用设置-知识-知识库检索设置-检索召回”里更改文档和问答的召回数量。
检索匹配度控制片段达到什么相关度才被召回。阈值高更精准但可能漏召回;阈值低覆盖广但噪声增加。 可在应用内“应用设置-知识-知识库检索设置-检索召回”里更改文档和问答的检索匹配度。
检索策略结合语义和关键词匹配。适合既有自然语言问题,又有编号、产品名、专有名词的场景。 可在应用内“应用设置-知识-知识库检索设置-检索召回”里更改检索策略。
重排对候选片段二次排序。适合“正确片段召回了但不靠前”的问题。 可在应用内“应用配置-知识-检索召回设置”里更改重排序模型,选择用于优化检索召回结果排序的模型,对召回阶段候选结果进行更精细化的重新排序。
检索范围控制哪些标签、分类或知识可被检索。可在应用内“应用设置-知识-知识库检索设置-检索范围”里更改检索范围。

**(2)**典型调参判断

现象优先动作
一条都没命中检查知识范围、匹配度是否过高、问法是否需要 配置问答或同义词。
命中太多无关内容提高匹配度,清理低质量文档,优化文档标题和结构。
正确片段在结果里但靠后开启或调整重排,减少无关召回。
表格查询不稳定清理表格结构,评估按行切分、Excel 检索增强或数据库。

4.3.5 问答、引用与 Badcase 回归

(1)用问答稳住高频问题

问答适合解决用户真实问法和正式文档表达不一致的问题。高频问题、口语化问题、风险问题、需要固定话术的问题,都可以优先沉淀为问答。

设计问答时,不要只把制度标题改成问题。好的问答应该来自真实用户问法,并且答案要和正式文档保持一致。比如用户不会问“市内交通费报销规则是什么”,更可能问“打车票怎么报”“网约车发票能不能报”。这些问法都可以映射到同一条标准答案。

适合做问答示例注意
高频咨询年假怎么休?报销多久到账?答案要短、准、可直接回复。
口语问法打车票怎么报?对应正式制度条款,避免凭经验写。
风险口径投诉赔付能不能承诺?明确不能承诺时的转人工或工单流程。
跨文档答案请假审批要找谁?把分散规则整理成标准答案。

问答维护提醒

增补问答前,先检查是否已有相似问题,避免同一问题出现不同答案。通过文档生成问答后,需要人工校验;未采纳或未校验的问题不应直接作为正式答案使用。

(2)引用是可信度的一部分

知识问答不是只要“答得像”就可以。对企业制度、售后政策、合规说明等场景,用户需要知道答案来自哪里。引用缺失会降低可信度,引用错误则说明检索、重排、文档版本或生成约束可能存在问题。

引用问题排查方向
没有引用检查参考来源展示设置,以及 Prompt 是否要求基于引用回答。
引用旧文档检查旧文档是否删除、到期或被正确打标签。
引用正确但答案扩展优化 Prompt,要求仅依据引用内容回答,资料不足时说明无法确认。

(3)常见Badcase

调试和评测过程中出现的 Badcase 不要只记录“答错了”,而要记录“错在哪里、优先怀疑哪一环、改了什么、改完是否真的变好”。建议至少保留四类信息:**问题现象、优先归因、调整动作、调整后效果。**这样后续再次做评测时,才能判断问题是否被真正修复,而不是只在某一次测试中偶然答对。

问题现象优先归因调整动作调整后效果
知识库有答案但没命中可能是检索范围设置不正确、匹配度阈值过高、召回数量过少,也可能是用户问法和文档表达差异较大,或缺少对应问答。先查看本轮调试的命中结果,确认是否检索到了正确知识库、分类、标签和文档; 如果知识存在但没有召回,可适当调整召回数量和匹配度;对于高频口语化问法,补充问答或同义问法。同类问题能够稳定命中正确文档、Chunk 或问答; 用户换一种常见问法时,也能召回相同或相近的知识依据。
命中了正确文档但答不全可能是 Chunk 不完整,关键条件、适用范围、例外说明或后续步骤被切到其他片段中,模型只拿到了一部分依据。查看命中的 Chunk 内容,确认是否包含完整的“条件—结论—例外—下一步”; 如果片段过短,可调整切分最大长度、切分重叠长度,或使用父子级切分,让检索保持精准,同时给模型召回更完整的父级上下文。答案能够覆盖关键条件、限制、例外和操作步骤; 同类问题不再只回答一半,引用内容也能支撑完整答案。
命中了错误文档可能是知识库中存在旧版本、重复文档、相似标题文档,或文档标签、分类、检索范围设置不准确,导致系统召回了不该使用的知识。检查被命中的文档是否为最新版本,清理或停用旧版资料;为不同版本、部门、地区、用户身份的文档设置分类、标签或到期时间; 必要时优化文档命名,让标题体现主题、版本和适用范围。同一问题优先命中最新、正确、适用范围匹配的文档; 旧版内容不再参与回答,引用来源与当前业务口径一致。
表格类问题答不准可能是表格结构不适合直接检索,例如存在合并单元格、空行空列、重复表头、字段含义不清;也可能是切分方式不适合,导致表头和数据分离。先清理表格结构,确保表头明确、字段不重复、无无效空行空列;如果每行是独立知识,可按行切分并保留表头范围; 如果问题需要按字段查询、筛选或统计,可考虑使用数据库,并补充表描述、列描述和单位信息。表格问题能够命中正确行、正确字段或正确数据表; 答案中的数值、字段含义和单位更稳定,减少因表头丢失导致的误答。
高频问题反复不稳定可能是正式文档表达和用户真实问法差异较大,模型每次命中的片段不一致;也可能是该问题需要固定口径,不适合只依赖长文档检索。将高频问题沉淀为问答,使用用户真实问法作为问题表达,答案与正式文档保持一致; 补充常见同义问法; 将该问题加入评测集,后续每次调整知识库、切分或检索配置后都做测试。高频问题能够稳定命中问答或固定知识依据; 不同用户问法下回答口径一致,后续版本调整后也能通过评测集验证。

如果同一个 Badcase 多次复发,说明它不只是单条问题,而是某一类知识组织、切分或检索策略存在系统性问题,应把它升级为专项优化项。

4.3.6 ADP的知识库与RAG调优流程总结

在 ADP 中,建议按照“知识准备—导入配置—单次调试—批量评测—回归沉淀”的顺序推进知识库与RAG的调优。

步骤在 ADP 中做什么产出
1. 梳理知识确定知识类型:文档、问答、数据库、网页;清理旧版本和重复内容。知识目录、文档清单、FAQ 清单。
2. 设置知识处理模型在知识库设置中确认向量模型、文档解析模型、问答对生成模型、Schema 生成模型等稳定的知识处理配置。
3. 设置文档切分上传文档时或解析切分干预中选择默认切分、自定义切分、父子级切分或按行切分。可检索、语义完整的 Chunk。
4. 调整检索召回在应用设置的知识库设置中调整检索策略、召回数量、匹配度、重排和检索范围。更稳定的命中结果。
5. 配置引用与回复设置参考来源展示方式,结合 Prompt 要求基于引用回答。可信、可追溯的答案。
6. 建立评测集收集真实问题和典型问题,覆盖高频、口语化、边界、表格和版本问题。可回归的评测样本。
7. 沉淀 Badcase集把线上问题归类为知识、切分、检索、生成或引用问题,并回写优化动作。持续优化闭环。

4.3 练习:优化员工制度问答助手

某企业搭建员工制度问答助手,上传了考勤、报销、请假和福利制度。测试时出现以下问题,请判断优先优化方向。

测试问题现象优先优化方向
年假怎么休?回答很泛,没有说明适用条件。检查 Chunk 是否包含条件;必要时补 问答。
打车票怎么报?没有命中交通费报销规则。补充口语化 问答,检查报销文档标题和切分。
病假工资怎么算?命中了旧版制度。清理旧文档,设置到期时间,修正版本标签。
请假要找谁审批?命中流程但缺少岗位差异。调整切分,确保岗位条件和审批规则在同一上下文。
福利补贴有没有上限?回答正确但没有引用。检查参考来源展示设置和回答 Prompt。

参考调优路径

这个练习的关键不是一次性把所有参数都改掉,而是先把问题归类,再按归因逐项优化。文档旧、切分断、问答缺失、引用缺失,分别对应不同的处理动作。

  1. 整理制度版本,删除或到期旧版文档,统一命名规则。

  2. 检查关键问题对应 Chunk,确认条件、结论、例外没有被拆断。

  3. 为高频口语问法补充问答,例如“打车票怎么报”。

  4. 检查应用中的知识库检索设置:召回数量、匹配度、重排和检索范围。

  5. 配置参考来源展示,并要求答案基于引用内容生成。

  6. 把修复后的问题加入评测集,每次调整后做回归。

提示

**运维 Tips|知识变更必须可审核、可回归:**新增制度文件前先核验版本、生效时间、重复内容和与旧资料的冲突;记录知识库版本及变更清单,完成审核后再发布。每次大批量新增、删除或调整切分/检索配置,都要用关键问题回归测试,确认旧问题没有反弹、部门权限没有串库,再逐步扩大使用范围。

4.3 小结

  1. 知识库质量与 RAG 调优的关键,是先定位问题发生在知识、切分、检索、引用还是生成。

  2. 文档调优重点是结构清晰、版本准确、表格规范、标签和范围可控。

  3. Chunk 调优重点是让片段既容易命中,又包含足够上下文。

  4. 检索调优要结合召回数量、匹配度、重排和检索范围,不要只为单条问题调参。

  5. 问答 适合沉淀高频、口语化、风险口径和跨文档答案。

  6. 每个 Badcase 都应记录现象、归因、调整动作和复测结果,沉淀为后续回归样本。

提示

进 入 下 一 节 下一节 4.4「Workflow优化」会继续讲:当问题不是知识召回本身,而是工作流的配置问题导致效果不稳定时,应该如何优化执行链路。

随堂测

逐题作答,即时反馈

0 / 3 已作答
  1. 1. 当出现“知识库有答案但没命中”的现象时,本课提醒的正确做法是?

  2. 2. 本课建议的 RAG 问题快速判断顺序是?

  3. 3. 关于 ADP 文档切分的参数边界,下列说法与课文一致的是?