构建LLM应用#
欢迎来到《理解LlamaIndex》。这是一系列简短、易于消化的教程,涵盖构建智能体LLM应用的每个阶段,帮助您在深入探索更高级和精妙的策略之前,熟悉如何使用LlamaIndex。如果您是经验丰富的程序员但对LlamaIndex尚不熟悉,这里就是您的起点。
构建智能体LLM应用的关键步骤#
提示
如果对这些术语不熟悉,您可能需要阅读我们的高级概念。
本教程包含三个主要部分:构建RAG管道、构建智能体和构建工作流,前后还有一些较小的章节。以下是您将学习的内容:
-
使用LLMs: 快速入门并开始使用LLMs。我们将向您展示如何使用我们支持的数十种LLMs中的任何一种,无论是通过远程API调用还是在本地机器上运行。
-
构建智能体: 智能体是由LLM驱动的知识工作者,能够通过一组工具与世界互动。这些工具可以检索信息(如RAG,见下文)或执行操作。本教程包含:
-
构建单个智能体: 我们将向您展示如何构建一个简单的智能体,该智能体可以通过一组工具与世界互动。
-
使用现有工具: LlamaIndex在LlamaHub上提供了预构建的智能体工具注册表,您可以将这些工具集成到您的智能体中。
-
Maintaining state: 智能体可以维持状态,这对于构建更复杂的应用程序非常重要。
-
Streaming output and events: 向用户提供可见性和反馈非常重要,流式输出功能可以帮助实现这一点。
-
Human in the loop: 获取人类对智能体的反馈至关重要。
-
Multi-agent systems with AgentWorkflow: 通过组合多个智能体进行协作是构建更复杂系统的强大技术;本节将向您展示如何实现这一点。
-
-
Workflows: 工作流是一种用于构建智能体应用程序的低层级、事件驱动的抽象概念。它们是您应该用于构建任何高级智能体应用程序的基础层。您可以使用上面学到的预构建抽象,或者完全从头开始构建智能体。本教程涵盖以下内容:
-
构建一个简单的工作流: 一个简单的工作流示例,展示如何使用
Workflow类来构建基础的智能体应用。 -
可视化工作流: 工作流可以以图形方式展示,帮助您理解应用程序中的控制流程。
-
循环与分支: 这些核心控制流模式是构建更复杂工作流的基础模块。
-
Concurrent execution: 您可以并行运行步骤来高效地拆分工作。
-
Streaming events: 您的智能体可以像上面构建的智能体一样发出面向用户的事件。
-
Multi-agent systems from scratch: 你可以使用上面学到的技术从头开始构建多智能体系统。
-
-
为智能体添加RAG功能: 检索增强生成(RAG)是将您的数据传递给大型语言模型的关键技术,也是构建更复杂智能体系统的重要组成部分。我们将向您展示如何通过功能完整的RAG流程来增强您的智能体,使其能够回答关于您数据的问题。这包括:
-
加载与数据摄取: 将您的数据从其存储位置(无论是非结构化文本、PDF、数据库还是其他应用程序的API)导入系统。LlamaIndex在LlamaHub上提供了数百种连接器,可对接各类数据源。
-
索引与嵌入: 获取数据后,有无数种方式来组织数据访问结构,以确保您的应用程序始终处理最相关的数据。LlamaIndex内置了大量此类策略,可帮助您选择最佳方案。
-
存储: 您可能会发现以索引形式存储数据更为高效,或者使用LLM提供的预处理摘要,通常存储在称为
Vector Store的专用数据库中(见下文)。您还可以存储索引、元数据等内容。 -
查询: 每种索引策略都有对应的查询策略,并且有多种方法可以提高检索结果的相关性、速度和准确性,以及LLM在处理这些结果后返回给您的方式,包括将其转换为结构化响应(如API)。
-
-
整合所有环节:无论您是在构建问答系统、聊天机器人、API还是自主智能体,我们都将展示如何将您的应用投入生产环境。
-
Tracing and debugging: 也称为可观测性,对于LLM应用来说特别重要,能够深入了解内部运行机制,帮助您调试问题并发现改进空间。
-
评估: 每种策略都有优缺点,构建、发布和演进应用程序的关键部分在于评估您的变更是否在准确性、性能、清晰度、成本等方面改进了应用程序。可靠地评估变更效果是LLM应用开发的关键环节。
让我们开始吧!#
准备好开始了吗?前往使用LLMs。