您的位置:首页 > 健康 > 养生 > 构建 LLM 应用程序时经常遇到的高级概念的快速指南

构建 LLM 应用程序时经常遇到的高级概念的快速指南

2024/12/23 9:55:12 来源:https://blog.csdn.net/weixin_40986713/article/details/142339972  浏览:    关键词:构建 LLM 应用程序时经常遇到的高级概念的快速指南

使用案例

数据支持的 LLM 应用程序有无数的用例,但大致可以分为四类:

结构化数据提取 Pydantic 提取器允许您指定要从数据中提取的精确数据结构,并使用 LLM 以类型安全的方式填充缺失的部分。这对于从 PDF、网站等非结构化来源中提取结构化数据非常有用,并且是自动化工作流程的关键。

查询引擎:查询引擎是一种端到端流程,可让您针对数据提出问题。它接收自然语言查询,并返回响应,以及检索并传递给 LLM 的参考上下文。

聊天引擎:聊天引擎是一种与您的数据进行对话的端到端流程(多次来回对话而不是单个问答)。

代理:代理是一个由 LLM 驱动的自动决策者,它通过一组工具与世界互动。代理可以采取任意数量的步骤来完成给定的任务,动态地决定最佳行动方案,而不是遵循预先确定的步骤。这使其具有额外的灵活性来处理更复杂的任务。

检索增强生成 (RAG)

提示

如果您还没有,请在阅读本文之前安装 LlamaIndex并完成入门教程。这将有助于您在经验中巩固这些步骤。

LLM 是在大量数据上进行训练的,但它们并不是在您的数据上进行训练的。检索增强生成 (RAG) 通过将您的数据添加到 LLM 已经可以访问的数据中来解决此问题。您将在本文档中经常看到对 RAG 的引用。查询引擎、聊天引擎和代理经常使用 RAG 来完成其任务。

RAG 中,您的数据会被加载并准备用于查询或“索引”。用户查询将根据索引进行,索引会将您的数据过滤到最相关的上下文。然后,此上下文和您的查询将连同提示一起发送到 LLMLLM 会提供答复。

即使您正在构建的是聊天机器人或代理,您也需要了解将数据传入应用程序的 RAG 技术。

在这里插入图片描述

RAG 内的阶段

RAG 中有五个关键阶段,它们将成为您构建的大多数大型应用程序的一部分。它们是:

  • 加载:这指的是将数据从其所在位置(无论是文本文件、PDF、其他网站、数据库还是 API)加载到您的工作流程中。LlamaHub提供了数百种连接器可供选择。

  • 索引:这意味着创建一个允许查询数据的数据结构。对于 LLM,这几乎总是意味着创建vector embeddings数据含义的数值表示,以及许多其他元数据策略,以便于准确找到上下文相关的数据。

  • 存储:一旦您的数据被索引,您几乎总是希望存储您的索引以及其他元数据,以避免重新索引它。

  • 查询:对于任何给定的索引策略,您可以通过多种方式利用 LLM 和 LlamaIndex 数据结构进行查询,包括子查询、多步骤查询和混合策略。

  • 评估:任何流程中的关键步骤是检查它相对于其他策略的有效性,或检查您进行更改时的效果。评估提供了客观的衡量标准,可以衡量您对查询的响应有多准确、多忠实、多快速。

在这里插入图片描述

RAG 中的重要概念

您还会遇到一些涉及每个阶段内的步骤的术语。

加载阶段

  • 节点和文档:ADocument是任何数据源的容器 - 例如,PDF、API 输出或从数据库检索数据。ANode是 LlamaIndex 中数据的原子单位,代表源的“块”Document。节点具有将它们与所在文档和其他节点相关联的元数据。

  • 连接器:数据连接器(通常称为Reader)将来自不同数据源和数据格式的数据导入Documents和Nodes。

索引阶段

  • 索引:一旦您提取了数据,LlamaIndex 将帮助您将数据索引为易于检索的结构。这通常涉及生成存储vector embeddings在称为 的专用数据库中的数据vector store。索引还可以存储有关数据的各种元数据。

  • 嵌入:LLM 生成称为 的数据的数值表示embeddings。在筛选数据以查找相关性时,LlamaIndex 会将查询转换为嵌入,并且您的向量存储将找到与查询的嵌入在数值上相似的数据。

查询阶段

  • 检索器:检索器定义在给定查询时如何有效地从索引中检索相关上下文。检索策略是检索数据的相关性和检索效率的关键。

  • 路由器:路由器确定使用哪个检索器从知识库中检索相关上下文。更具体地说,该类RouterRetriever 负责选择一个或多个候选检索器来执行查询。它们使用选择器根据每个候选的元数据和查询选择最佳选项。

  • 节点后处理器:节点后处理器接收一组检索到的节点并对其应用转换、过滤或重新排序逻辑。

  • 响应合成器:响应合成器使用用户查询和一组给定的检索到的文本块从 LLM 生成响应。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com