核心概念#
本文是构建LLM应用时常见高级概念的快速指南。
大语言模型(LLMs)#
LLMs是推动LlamaIndex发展的基础创新技术。这是一种能够理解、生成和处理自然语言的人工智能(AI)计算机系统,可根据训练数据或查询时提供的数据回答问题。您可进一步了解LLM的使用。
智能体应用#
当LLM被集成到应用程序中时,通常用于决策制定、执行动作和/或与环境交互。这正是智能体应用的核心定义。
虽然智能体应用的定义宽泛,但具有以下关键特征:
- LLM增强:通过工具(即代码中的可调用函数)、记忆系统和/或动态提示增强LLM能力
- 提示链:多个LLM调用形成级联,前一个调用的输出作为下一个调用的输入
- 路由决策:LLM用于决定应用的下一步执行路径或状态转换
- 并行处理:应用可并行执行多个步骤或动作
- 流程编排:采用分层结构的LLM来协调底层动作和LLM调用
- 反思验证:LLM对先前步骤或调用的输出进行反思验证,用于指导后续操作
在LlamaIndex中,您可以使用Workflow类构建智能体应用来编排步骤序列和LLM调用。了解更多工作流详情。
智能体#
我们将智能体定义为"智能体应用"的具体实例。这是一种通过结合LLM与其他工具及记忆系统,在决策循环中半自主执行任务的软件,可动态决定下一步使用的工具(如有需要)。
实际运作流程如下: - 智能体接收用户消息 - 利用LLM结合聊天历史、工具集和最新消息决定后续动作 - 可能调用一个或多个工具协助处理请求 - 若使用工具,将解析工具输出以指导下一步行动 - 当停止执行动作时,向用户返回最终结果
检索增强生成(RAG)#
检索增强生成(RAG)是构建数据驱动型LLM应用的核心技术。它允许LLM通过查询时提供私有数据(而非训练数据)来回答问题。为避免每次向LLM发送全部数据,RAG会建立数据索引并选择性发送与查询相关的部分。RAG详细说明。
应用场景#
数据驱动型LLM应用场景极为丰富,主要可分为四类:
智能体: 智能体是由LLM驱动的自动决策系统,通过工具集与环境交互。它能采取任意数量的步骤完成任务,动态决定最优路径而非遵循预设流程,从而具备处理复杂任务的灵活性。
工作流: LlamaIndex中的工作流是特定的事件驱动抽象层,用于编排步骤序列和LLM调用。工作流可实现任何智能体应用,是LlamaIndex的核心组件。
结构化数据抽取: Pydantic抽取器允许指定精确的数据结构,并通过LLM以类型安全的方式填充缺失内容。这对从PDF、网页等非结构化源提取数据至关重要,是实现工作流自动化的关键。
查询引擎: 查询引擎是端到端流程,支持对数据提问。接收自然语言查询后,返回响应及传递给LLM的参考上下文。
对话引擎: 对话引擎支持与数据进行多轮对话(而非单次问答)的端到端流程。
Tip
- 了解如何自定义配置
- 继续学习LlamaIndex理解指南
- 准备深入探索?查看组件指南