核心概念#
这是一份快速指南,介绍了在构建LLM应用时您将频繁遇到的高级概念。
大型语言模型(LLMs)#
大语言模型(LLMs)是推动LlamaIndex发展的基础性创新。它们是一种人工智能(AI)计算机系统,能够理解、生成和处理自然语言,包括根据其训练数据或在查询时提供的数据来回答问题。您可以了解更多关于使用LLMs的信息。
智能体应用#
当LLM在应用程序中使用时,它通常用于做出决策、采取行动和/或与世界互动。这就是智能体应用的核心定义。
虽然智能体应用的定义很广泛,但有几个关键特征定义了智能体应用:
- LLM增强: LLM通过工具(即代码中的任意可调用函数)、内存和/或动态提示进行增强。
- 提示链: 使用多个相互构建的LLM调用,将一个LLM调用的输出作为下一个调用的输入。
- 路由: LLM用于将应用程序路由到下一个适当的步骤或状态。
- 并行处理: 该应用能够并行执行多个步骤或操作。
- 编排: 使用LLM的层次结构来编排底层动作和LLM。
- 反思: LLM用于反思和验证之前步骤或LLM调用的输出结果,这可以用来引导应用程序进入下一个合适的步骤或状态。
在LlamaIndex中,您可以通过使用Workflow
类来编排一系列步骤和LLM,从而构建智能体应用。您可以了解更多关于工作流的信息。
智能体#
我们将智能体定义为"智能体应用"的一个具体实例。智能体是一种软件,通过将LLM与其他工具和记忆相结合,半自主地执行任务,并由一个决定下一步使用哪个工具(如果有的话)的推理循环进行协调。
在实际操作中,这意味着类似以下流程: - 智能体接收用户消息 - 智能体利用LLM(基于先前的聊天记录、工具和最新用户消息)决定下一步应采取的行动 - 智能体可能调用一个或多个工具来协助处理用户请求 - 如果使用了工具,智能体会解析工具输出结果,并据此决定下一步行动 - 当智能体停止采取行动时,会将最终结果返回给用户
你可以了解更多关于智能体的信息。
检索增强生成 (RAG)#
检索增强生成(RAG)是利用LlamaIndex构建数据驱动型LLM应用的核心技术。它通过查询时向LLM提供私有数据(而非训练LLM使用这些数据),使LLM能够回答关于您私有数据的问题。为避免每次查询都向LLM发送全部数据,RAG会对数据进行索引,并选择性地仅发送与查询相关的部分数据。您可以了解更多关于RAG的信息。
使用案例#
基于数据的LLM应用有无数种用例,但大致可以分为四类:
智能体: 智能体是由大型语言模型驱动的自动化决策系统,通过一组工具与世界互动。智能体可以采取任意数量的步骤来完成给定任务,动态决定最佳行动方案,而不是遵循预先确定的步骤。这使其具备额外的灵活性来处理更复杂的任务。
工作流: LlamaIndex中的工作流是一种特定的事件驱动抽象,允许您编排一系列步骤和LLM调用。工作流可用于实现任何智能体应用,是LlamaIndex的核心组件。
结构化数据提取 Pydantic提取器允许您指定一个精确的数据结构来从数据中提取,并使用LLM以类型安全的方式填充缺失的部分。这对于从PDF、网站等非结构化来源提取结构化数据非常有用,是实现工作流自动化的关键。
查询引擎: 查询引擎是一个端到端的流程,允许您对数据提出问题。它接收自然语言查询,并返回响应以及检索到的参考上下文,这些上下文会被传递给LLM。
聊天引擎: 聊天引擎是与您的数据进行对话的端到端流程(支持多轮对话而不仅是单次问答)。
提示
- 告诉我如何自定义设置
- 继续学习我们的理解LlamaIndex指南
- 准备好深入探索了吗?查看组件指南