跳转到内容

Question-Answering (RAG)

大型语言模型最常见的应用场景之一是基于一组数据回答问题。这些数据通常以非结构化文档(如PDF、HTML)的形式存在,但也可能是半结构化或结构化的。

实现大型语言模型问答的主流框架是检索增强生成(RAG)。LlamaIndex提供从基础到高级的RAG技术,用于处理不同体量和数据类型下的简单到复杂问题。您可以选择使用我们预构建的RAG抽象组件(例如查询引擎),或构建自定义RAG工作流(示例指南)。

LlamaIndex 能够提取非结构化文本、PDF、Notion和Slack文档等内容,并对其中的数据进行索引。

最简单的查询涉及语义搜索或摘要生成。

  • 语义搜索: 在文档中查询与搜索词和/或语义意图匹配的特定信息。这通常通过简单的向量检索(top-k)来执行。语义搜索示例
  • 摘要生成: 将大量数据压缩成与您当前问题相关的简短摘要。摘要生成示例

如果你的数据已存在于SQL数据库、CSV文件或其他结构化格式中,LlamaIndex可以查询这些来源中的数据。这包括文本转SQL(自然语言转SQL操作)以及文本转Pandas(自然语言转Pandas操作)。

随着您扩展到更复杂的问题/更多数据,LlamaIndex中有许多技术可以帮助您实现更好的查询理解、检索和数据源集成。

  • 查询复杂文档: 通常您的文档表示形式很复杂 - 您的PDF可能包含文本、表格、图表、图像、页眉/页脚等。LlamaIndex提供与我们的专有文档解析器LlamaParse集成的高级索引/检索功能。完整教程手册请见此处
  • Combine multiple sources: is some of your data in Slack, some in PDFs, some in unstructured text? LlamaIndex can combine queries across an arbitrary number of sources and combine them.
  • Route across multiple sources: given multiple data sources, your application can first pick the best source and then “route” the question to that source.
  • Multi-document queries: some questions have partial answers in multiple data sources which need to be questioned separately before they can be combined

LlamaIndex 拥有大量关于问答/检索增强生成(RAG)的资源。以下是一些可供参考的核心资源指南。

我是RAG初学者,想学习基础知识:请查看我们的“学习”系列指南

我已经构建了RAG,现在想要优化它:请查看我们的“进阶主题”指南

我水平更高,想要构建自定义的RAG工作流:使用LlamaIndex 工作流来组合高级的智能体式RAG管道,例如这个校正型RAG工作流。

我想全面了解某个特定模块:以下是核心模块指南,帮助构建从简单到高级的问答/检索增强生成系统:

如需查看更多问答用例示例,请参阅我们的综合应用中的问答部分