步骤 5(生成)。 如何调试生成质量

本页介绍了如何确定生成问题的根本原因。 当根本原因分析表明根本原因为 Improve Generation 时,请使用此页面。

即使进行了最佳检索,但如果 RAG 链的 LLM 组件不能有效地利用检索到的上下文来生成准确、连贯且相关的响应,则最终的输出质量也会受影响。 生成质量问题的可能出现方式包括误报、不一致或无法简明扼要地处理用户的查询。

说明

请按照以下步骤解决生成质量问题:

  1. 打开 B_quality_iteration/01_root_cause_quality_issues 笔记本
  2. 使用查询加载具有生成质量问题的记录的 MLflow 跟踪。
  3. 对于每条记录,手动检查生成的响应并将其与检索到的上下文和真实响应进行比较。
  4. 在生成质量较低的查询中查找模式或常见问题。 例如:
    • 生成检索到的上下文中不存在的信息。
    • 生成与检索到的上下文不一致的信息(产生误报)。
    • 无法根据所提供的检索到的上下文直接处理用户的查询。
    • 生成的响应过于冗长、难以理解或缺乏逻辑连贯性。
  5. 根据发现的问题,假设潜在的根本原因和相应的解决方法。 如需指导,请参阅生成质量差的常见原因
  6. 请按照实施和评估更改中的步骤实施和评估潜在的解决方法。 这可能涉及修改 RAG 链(例如,调整提示模板或尝试不同的 LLM)或数据管道(例如,调整分块策略以提供更多上下文)。
  7. 如果生成质量仍然不令人满意,请重复步骤 4 和 5 进行下一个最有希望的修复,直到达到所需的性能。
  8. 重新运行根本原因分析,以确定整个链中是否有任何其他需要解决的根本原因。

生成质量差的常见原因

下表列出了常见生成问题的调试步骤和可能的解决方法。 解决方法按组件分类:

  • 链配置
  • 链代码

该组件在实施和评估更改步骤中定义了你应遵循的步骤。

重要

Databricks 建议你使用提示工程来迭代应用输出的质量。 以下大部分步骤都使用提示工程。

生成问题 调试步骤 可能的修复方法
生成的信息不存在于检索到的上下文中(例如误报)。 - 将生成的响应与检索到的上下文进行比较以识别误报的信息。
- 评估某些类型的查询或检索到的上下文是否更容易产生误报。
- 链配置 更新提示模板,以强调对检索到的上下文的依赖。
- 链配置 使用功能更强大的 LLM。
- 链代码 实现生成后的事实检查或验证步骤。
未能直接处理用户的查询或提供的响应过于笼统 - 将生成的响应与用户查询进行比较以评估相关性和特异性。
- 检查某些类型的查询是否会导致虽检索到正确的上下文,但 LLM 产生的输出质量较低。
- 链配置 改进提示模板,以鼓励直接、具体的响应。
- 链配置 通过改进检索过程来检索更多目标上下文。
- 链代码 对检索结果重新排序以将最相关的区块放在顶部,并且仅提供给 LLM。
- 链配置 使用功能更强大的 LLM。
生成的响应难以理解或缺乏逻辑性 - 评估输出的逻辑性、语法正确性和可理解性。
- 分析是否会在执行某些类型的查询或检索某些类型的上下文时更频繁地出现不连贯性。
- 链配置 更改提示模板,以鼓励连贯、结构良好的响应。
- 链配置 通过检索额外的相关区块为 LLM 提供更多上下文。
- 链配置 使用功能更强大的 LLM。
生成的响应不符合所需的格式或样式 - 将输出与预期格式和样式指南进行比较。
- 评估某些类型的查询或检索到的上下文是否更有可能导致格式或样式偏差。
- 链配置 更新提示模板以指定所需的输出格式和样式。
- 链代码 实现后处理步骤,将生成的响应转换为所需的格式。
- 链代码 添加一个步骤来验证输出结构和样式,并根据需要输出回退答案。
- 链配置 使用经过微调的 LLM,从而以特定格式或样式提供输出。

下一步

如果还发现检索质量存在问题,请继续执行步骤 5(检索):如何调试检索质量

如果认为已解决所有已确定的问题,请 继续执行步骤 6。对 AI 代理进行质量修复和评估。

< 上一步:步骤 5.1。调试检索质量

下一步:步骤 6。迭代修复质量问题 >