1.构建一个具备自主能力的LLM应用 #
💡 提示: 您可能想阅读我们的高层次概念如果这些术语不熟悉的话。
本教程包含三个主要部分:构建一个RAG管道、构建一个代理,和构建工作流,前后会穿插一些较小的部分。以下是您将看到的内容:
2. 🚀 学习路径概览 #
2.1. 使用LLMs #
快速上手并开始使用LLMs。我们将向您展示如何使用我们的任何数十种支持的LLM,无论是通过远程API调用还是在你本地机器上运行。
2.2. 构建智能体 #
代理(agents)是由大语言模型驱动的知识工作者,能够通过一系列工具与世界互动。这些工具可以检索信息(例如RAG,见下文)或执行操作。本教程包含:
- 构建单个代理 - 我们将向你展示如何构建一个能通过一组工具与世界互动的简单agent
- 利用现有工具 - LlamaIndex在LlamaHub提供了一系列预构建的agent工具注册表,你可以将其整合到你的agents中
- 维护状态 - 代理可以维持状态,这对于构建更复杂的应用程序至关重要
- 流式输出与事件 - 向用户提供可见性和反馈很重要,而流式传输能让你实现这一点
- 人在回路 - 获取人类对你agent的反馈可能至关重要
- 采用AgentWorkflow的多智能体系统 - 将多个agent组合协作是构建更复杂系统的强大技术;本节将展示如何实现这一目标
2.3. 工作流程 #
工作流是一种较低层级、事件驱动的抽象概念,用于构建智能代理应用。它是构建任何高级智能代理应用时应使用的基础层。你可以使用之前学到的预构建抽象,或者完全从零开始构建代理。本教程涵盖以下内容:
- 构建一个简单的工作流程 - 一个简单的工作流程,展示如何使用
Workflowclass用于构建基础agentic应用程序 - 循环与分支 - 这些核心控制流模式是构建更复杂工作流的基础模块
- 并发执行 - 你可以并行运行步骤来高效地拆分工作
- 流式事件 - 您的代理可以像上面构建的代理一样,发出面向用户的事件
- 有状态工作流 - 工作流可以维持状态,这对于构建更复杂的应用程序非常重要
- 可观测性 - 工作流可以通过多种集成工具进行追踪和调试,例如Arize Pheonix、OpenTelemetry等
2.4. 为你的agents添加RAG功能 #
检索增强生成(RAG)是将数据输入LLM的关键技术,也是构建更复杂智能代理系统的重要组成部分。我们将展示如何通过功能完备的RAG流程增强您的代理能力,使其能够解答关于您数据的各类问题。具体内容包括:
- 加载与摄取 - 从任何数据源获取您的数据,无论是非结构化文本、PDF、数据库还是其他应用程序的API。LlamaIndex拥有数百种连接器,可对接各类数据源。LlamaHub
- 索引与嵌入 - 一旦获取数据后,有无数种方式可以构建数据访问结构,以确保您的应用程序始终处理最相关的数据。LlamaIndex内置了大量此类策略,并能帮助您选择最佳方案
- 存储 - 向量数据库。
Vector Store(见下文)。您还可以存储您的索引、元数据等 - 查询 - 每种索引策略都有对应的查询策略,且存在多种方式可提升检索结果的相关性、速度和准确性,以及LLM在处理这些信息并返回给您之前的优化手段,包括将其转化为结构化响应(如API)
2.5. 将所有内容整合起来 #
无论您是在构建问答系统、聊天机器人、API还是自主代理,我们都将展示如何将您的应用程序投入生产环境。
2.6. 跟踪与调试 #
也称为可观测性,对于LLM应用而言,能够深入观察内部运行机制尤为重要,这能帮助你调试问题并发现改进空间。
2.7. 评估 #
每种策略都有其优缺点,而构建、发布和演进应用程序的关键在于评估你的改动是否在准确性、性能、清晰度、成本等方面提升了应用。可靠地评估这些变更,是LLM应用开发中至关重要的一环。