LlamaIndex 通过使用技术来处理查询扩展,这些技术可以细化或拓宽用户的原始查询,从而提高检索增强生成 (RAG) 系统中的检索准确性。查询扩展的工作原理是生成输入查询的变体、添加上下文或将复杂问题分解为更小的部分。这有助于系统检索更相关的文档或数据块,特别是当原始查询含糊不清、过于具体或缺少必要关键词时。LlamaIndex 通过内置模块以及与语言模型 (LLM) 的集成来实现这一点,以自动化查询转换。
例如,一种方法是假设答案生成,其中系统使用 LLM 为原始查询创建假设性响应。然后将此生成的文本用作扩展查询来搜索相关数据。另一种方法是子问题分解,它将一个复杂查询分解为更简单、更集中的子问题。每个子问题独立处理,组合结果提供全面的答案。此外,还可以使用回溯提示来提出与原始查询相关的更广泛概念性问题,为搜索添加上下文层。这些方法是可配置的,允许开发者根据其用例选择最佳策略。
LlamaIndex 中查询扩展的好处包括更好地处理语义变体和提高文档检索的召回率。例如,用户询问“如何修复 Python ValueError?”时,可能会收到包含“异常处理”、“try-except 块”或常见错误场景等术语的扩展查询。这确保系统检索到与意图匹配的文档、教程或代码示例,即使没有出现确切的术语“ValueError”。开发者可以通过调整提示模板、选择 LLM 或结合多种扩展技术来定制这些步骤。这种灵活性使 LlamaIndex 适用于技术支持、研究或需要精确检索的企业知识库等场景。