跳转到内容

构建一个LLM应用

欢迎来到《理解LlamaIndex》系列。这是一系列简短易学的教程,涵盖构建智能体LLM应用的每个阶段,帮助您在深入学习更高级和精妙策略之前,熟悉如何使用LlamaIndex。如果您是经验丰富的程序员但刚接触LlamaIndex,这里是最佳起点。

本教程包含三个主要部分:构建RAG管道构建智能体构建工作流,前后还包含一些较小的章节。以下是内容概览:

  • 使用大型语言模型:快速入门并开始使用大型语言模型。我们将向您展示如何使用我们数十种支持的LLM中的任何一种,无论是通过远程API调用还是在本地机器上运行。

  • 构建智能体: 智能体是由大语言模型驱动的知识工作者,能够通过一组工具与世界互动。这些工具可以检索信息(例如RAG,见下文)或执行操作。本教程包含:

    • 构建单个智能体:我们将向您展示如何构建一个简单的智能体,该智能体可以通过一组工具与世界互动。

    • 使用现有工具: LlamaIndex 在 LlamaHub 上提供了一个预构建智能体工具注册表,您可以将这些工具集成到您的智能体中。

    • 维护状态:智能体可以维护状态,这对于构建更复杂的应用程序非常重要。

    • 流式输出与事件:向用户提供可见性与反馈至关重要,流式传输功能使您能够实现这一点。

    • 人在回路: 获取人类对您智能体的反馈可能至关重要。

    • 使用AgentWorkflow的多智能体系统:将多个智能体组合协作是构建更复杂系统的强大技术;本节将向您展示如何实现。

  • 工作流: 工作流是一种较低层级、事件驱动的抽象,用于构建智能体应用。它们是构建任何高级智能体应用时应使用的基础层。您可以使用之前学习的预构建抽象,或完全从零开始构建智能体。本教程涵盖:

    • 构建简单工作流:一个简单的工作流,向您展示如何使用 Workflow 类构建基础的智能体应用。

    • 循环与分支:这些核心控制流模式是构建更复杂工作流程的基础模块。

    • 并发执行:您可以并行运行步骤以高效地拆分工作。

    • 流式事件:您的智能体可以发出面向用户的事件,就像您上面构建的智能体一样。

    • 有状态工作流:工作流可以维持状态,这对于构建更复杂的应用程序非常重要。

    • 可观测性: 工作流可通过多种集成进行追踪和调试,例如Arize Pheonix、OpenTelemetry等。

  • 为你的智能体添加RAG功能:检索增强生成(RAG)是将你的数据传递给大型语言模型的关键技术,也是更复杂智能体系统的组成部分。我们将向你展示如何通过功能完整的RAG流程来增强你的智能体,使其能够回答关于你数据的问题。这包括:

    • 加载与数据摄取:将您的数据从其存储位置提取出来,无论是非结构化文本、PDF文档、数据库还是其他应用程序的API接口。LlamaIndex在LlamaHub上提供了数百种连接器,可对接各类数据源。

    • 索引与嵌入:获取数据后,存在无数种方式来构建数据访问结构,以确保您的应用程序始终处理最相关的数据。LlamaIndex内置了大量此类策略,并能帮助您选择最佳方案。

    • 存储: 您可能会发现以索引形式存储数据,或通过LLM提供的预处理摘要存储更为高效,通常存储在称为Vector Store(见下文)的专用数据库中。您还可以存储索引、元数据等。

    • 查询:每种索引策略都有对应的查询策略,存在多种方法可以提升检索结果的相关性、速度和准确性,以及大语言模型在将结果返回给您之前对其进行处理的方式,包括将其转换为结构化响应,例如API。

  • 整合所有内容:无论您是在构建问答系统、聊天机器人、API还是自主智能体,我们都将向您展示如何将应用程序投入生产环境。

  • 追踪与调试:也称为可观测性,对于LLM应用而言,能够深入观察内部运行机制以帮助调试问题并发现改进点尤为重要。

  • 评估: 每种策略都有优缺点,构建、部署和演进应用程序的关键部分是评估您的更改是否在准确性、性能、清晰度、成本等方面改进了应用程序。可靠地评估您的更改是LLM应用程序开发的关键部分。

准备好深入了解了吗?前往使用LLMs