LlamaIndex 是一个完整的工具包,用于使用索引和工作流在您的数据之上创建 LLM 驱动的智能体 。我们将重点关注 LlamaIndex 中构建智能体的三个主要部分:组件 、智能体和工具 以及工作流(Components , Agents and Tools and Workflows .)。
让我们看看 LlamaIndex 的这些关键部分以及它们如何帮助智能体
- 组件:是您在 LlamaIndex 中使用的基本构建块。这些包括提示、模型和数据库等。组件通常有助于将 LlamaIndex 与其他工具和库连接起来。
- 工具:工具是提供特定功能的组件,例如搜索、计算或访问外部服务。它们是使智能体能够执行任务的构建块。
- 智能体:智能体是可以使用工具并做出决策的自主组件。它们协调工具的使用以实现复杂目标。
- 工作流:是将逻辑一起处理的分步过程。工作流或智能体工作流是一种无需明确使用智能体即可构建智能体行为的方式。
LlamaIndex 有何特别之处?
虽然 LlamaIndex 与 smolagents 等其他框架有一些相似之处,但它有一些关键优势
- 清晰的工作流系统:工作流有助于使用事件驱动和异步优先的语法逐步分解智能体如何做出决策。这有助于您清晰地组合和组织逻辑。
- 使用 LlamaParse 进行高级文档解析:LlamaParse 专门为 LlamaIndex 制作,因此集成是无缝的,尽管它是付费功能。
- 许多即用型组件:LlamaIndex 已经存在一段时间,因此它可以与许多其他框架配合使用。这意味着它拥有许多经过测试且可靠的组件,例如 LLM、检索器、索引等。
- LlamaHub:是一个包含数百个这些组件、智能体和工具的注册表,您可以在 LlamaIndex 中使用它们。
LlamaIndex 中的组件是什么?
还记得 Alfred 吗?我们第一单元中乐于助人的管家代理。为了有效地帮助我们,Alfred 需要理解我们的请求并**准备、查找和使用相关信息来帮助完成任务。**这就是 LlamaIndex 组件的作用。
虽然 LlamaIndex 有许多组件,但**我们将特别关注 QueryEngine 组件。**为什么?因为它可以作为代理的检索增强生成 (RAG) 工具。
那么,什么是 RAG 呢?LLM 经过大量数据训练以学习通用知识。然而,它们可能没有经过相关和最新数据的训练。RAG 通过从您的数据中查找和检索相关信息并将其提供给 LLM 来解决此问题。

现在,想想 Alfred 是如何工作的
- 你让 Alfred 帮助计划一个晚宴
- Alfred 需要检查你的日历、饮食偏好和过去成功的菜单
QueryEngine帮助 Alfred 找到这些信息并用它来计划晚宴
这使得 QueryEngine 成为在 LlamaIndex 中构建代理 RAG 工作流的关键组件 。正如 Alfred 需要搜索你的家庭信息才能提供帮助一样,任何代理都需要一种方式来查找和理解相关数据。QueryEngine 正好提供了这种能力。