主题
这是一份快速指南,介绍你在构建 LLM 应用时会经常遇到的高层概念。
大语言模型(LLMs)
LLM 是催生 LlamaIndex 的基础性创新。它们是一类人工智能(AI)计算机系统,能够理解、生成并操纵自然语言,包括基于其训练数据、或查询时提供给它的数据来回答问题。你可以了解更多关于使用 LLM 的内容。
智能体式应用
当 LLM 被用在应用之中时,它通常要做出决策、采取行动、或与外部世界交互。这就是 智能体式应用(agentic application) 的核心定义。
虽然智能体式应用的定义很宽泛,但有几个关键特征可以用来界定它:
- LLM 增强:为 LLM 配备工具(即代码中任意可调用的函数)、记忆和/或动态提示词。
- 提示词链:串联多次 LLM 调用,前一次调用的输出作为后一次的输入。
- 路由:由 LLM 决定把应用导向下一步合适的环节或状态。
- 并行:应用可以并行执行多个步骤或动作。
- 编排:用层级化的 LLM 结构来编排底层的动作与 LLM。
- 反思:让 LLM 回顾并校验前面步骤或 LLM 调用的输出,据此把应用引导到下一步合适的环节或状态。
在 LlamaIndex 中,你可以使用 Workflow 类来编排一系列步骤与 LLM 调用,从而构建智能体式应用。你可以进一步了解工作流。
智能体
我们把 agent 定义为“智能体式应用”的一个具体实例。Agent 是一种软件,它把 LLM 与工具、记忆结合起来,并在一个推理循环中决定下一步该用哪个工具(如果需要用),从而半自主地完成任务。
落到实践中,它的运作大致是这样:
- Agent 接收一条用户消息
- Agent 借助 LLM,结合历史对话、工具以及最新的用户消息,决定下一步该采取什么动作
- Agent 可能会调用一个或多个工具来协助完成用户的请求
- 如果调用了工具,Agent 会接着解读工具的输出,并以此决定下一步动作
- 当 Agent 不再采取动作后,它把最终结果返回给用户
你可以进一步了解 agent。
检索增强生成(RAG)
检索增强生成(RAG)是用 LlamaIndex 构建「数据支撑」的 LLM 应用的核心技术。它让 LLM 能够回答关于你私有数据的问题——方式是在查询时把数据提供给 LLM,而不是用你的数据去训练 LLM。为了避免每次都把全部数据发给 LLM,RAG 会先为你的数据建立索引,只把与查询相关的部分挑选出来一并发送。你可以进一步了解 RAG。
使用场景
数据支撑的 LLM 应用有数不清的用例,但大致可以归为五类:
Agents:Agent 是由 LLM 驱动的自动决策者,通过一组工具与世界交互。Agent 可以为完成某个任务执行任意数量的步骤,动态决定最佳行动路径,而不是按预先设定的步骤走。这给了它额外的灵活性,用以处理更复杂的任务。
Workflows:LlamaIndex 中的 Workflow 是一个特定的事件驱动抽象,让你能编排一系列步骤与 LLM 调用。Workflows 可以用来实现任意智能体式应用,也是 LlamaIndex 的核心组成部分。
结构化数据抽取 Pydantic 抽取器允许你指定一个精确的数据结构,从数据中把它抽取出来,并让 LLM 以类型安全的方式补全缺失的部分。当你需要从 PDF、网页等非结构化来源抽取结构化数据时,这非常有用,也是自动化工作流的关键一环。
查询引擎:查询引擎是一条端到端的流程,让你可以对自己的数据提问。它接收一个自然语言查询,返回一个回答,同时给出被检索出来并传给 LLM 的参考上下文。
对话引擎:对话引擎是一条端到端的流程,用于围绕你的数据展开对话(多轮来回往返,而不是一次性的问答)。
提示
- 告诉我如何自定义各项配置 * 继续学习我们的理解 LlamaIndex 指南 * 想深入挖掘?看看组件指南