赞
踩
作者:来自 Elastic Tim Brophy
检索增强生成 (RAG) 为组织提供了一个采用大型语言模型 (LLM) 的机会,即通过将生成式人工智能 (GenAI) 功能应用于其自己的专有数据。使用 RAG 可以降低固有风险,因为我们依赖受控数据集作为模型答案的基础,而不是依赖可能不可靠、与我们的用例无关或完全不正确的训练数据。但是,你必须不断管理 RAG 管道,以确保答案有根据且准确。本博客将探讨在生产中部署 RAG 功能的关键注意事项,并展示 Elastic Search AI 平台如何为你提供所需的洞察力,让你安心运行 RAG 管道。
典型的 RAG 实现包括将用户提供的问题连同附带的上下文一起发送到 LLM。上下文需要提供相关信息,以告知 LLM 的答案。上下文由搜索结果生成,搜索结果是通过对用户问题与向量存储的内容进行评估而返回的,以确保结果在语义上与问题相匹配。在 Elastic Search AI 平台的情况下,上下文也可以是混合搜索的结果,其中包括词汇搜索、文档过滤和访问控制规则。通过一次谨慎的动作执行混合搜索操作的能力,开发人员可以通过结合语义轴和词汇搜索轴的结果,为 LLM 构建尽可能相关的上下文。此外,过滤器和访问控制规则限制了将要搜索的数据语料库,以符合 RBAC 规则,既提高了性能,又维护了数据安全。
LLM 接收问题,解释上下文,然后给出答案,该答案通常是上下文的摘要或来自上下文的相关陈述的综合。问题和上下文的组合被称为提示(prompt),提示还为 LLM 提供了有关其角色的说明和定义其应如何回答的护栏。开发人员创建了一个称为提示模板的工件,该工件以逻辑方式将所有这些值组合在一起,可以重复使用和微调以确保正确的结果。
因此,RAG 实现可以看作是由以下元素组成的管道:
在实施 RAG 管道时,需要考虑许多操作和性能注意事项,以确保提供的体验符合最终用户和在其应用程序中构建 LLM 功能的团队的期望。
那么,究竟如何实现这一点?将 RAG 管道投入生产时需要考虑哪些模式和实践?可以理解,这是一个非常广泛的主题,但我们将从高层次介绍这些考虑因素,以鼓励进一步阅读和探索。
在构建 RAG 管道时,确定适合你用例的正确提示技术至关重要,因为它可能是真实而有价值的答案与误导性和令人沮丧的答案之间的区别。因此,快速开发需要对基础数据和基准测试框架有充分的了解,该框架可以客观地衡量 LLM 答案并严格根据事实对其进行测试。选择基准测试框架不仅依赖于了解哪些指标很重要,而且还依赖于了解这些指标需要如何衡量。一旦投入生产,记录所有 LLM 交互就成为 RAG 管道的强制性方面,以确保管理和控制数据点,例如成本、延迟和响应质量。
我们从基准测试和评估开始,因为这必须在交付生产之前进行,以减轻服务质量差或破坏性的风险。有许多基准测试框架可用,所有这些框架通常都围绕来自底层知识体系的问题和基本答案数据集进行调整,这些知识体系将用于 RAG 上下文。选择正确的框架归结为几个关键因素:
这些问题/答案对代表对数据和用例的基本理解,并将用于评估整个管道的性能。重要的是,问题集应包含用户最有可能提出的相关问题,或者至少是用户最有可能提出的问题类型。答案不应是简单地从文档中剪切和粘贴,而应是一个或多个事实的总结,这些事实足以回答问题,因为这正是 LLM 可能在回答问题时生成的。
基准问题将通过 RAG 管道传递,并生成两个输出以告知任何评估指标:LLM 响应和上下文。在大多数情况下,除了测量答案的语义相似性之外,框架还会根据基准数据集中的答案评估 LLM 响应的准确性或正确性。还可以将答案与上下文进行比较,以确保其包含的任何陈述都可以基于问题得出的搜索结果。可以通过考虑基准、上下文和问题来计算答案的相关性,从而应用进一步的指标。
尽管 RAG 基准旨在出于功能原因衡量答案的质量,但实施预生产阶段可以显著降低幻觉、偏见甚至训练数据中毒的风险,因为基准数据集代表绝对真实并将突出显示 LLM 输出中的不规则之处。
LLM 可能确实不会生成有关其如何生成内容的日志文件,但这并不意味着无法记录与 LLM 交互的宝贵细节。决定需要记录什么取决于对你的业务而言什么是重要的,但至少应该捕获以下数据:
此外,你可能会发现以下字段很有用:
即使在你的 RAG 管道达到生产状态之前,记录运营数据也至关重要,以消除任何潜在的盲点,充分管理成本和客户满意度,并验证基准测试中观察到的结果是否在现实世界中得到复制。
新兴技术中最常见的模式之一是针对每个细微需求使用多种工具。单点解决方案往往能满足系统的一项需求,但需要系统所有者或架构师为其余需求寻找解决方案。这本身并不坏,因为试图满足太多不同的目标可能会导致无法完全满足其中任何一个目标。然而,当你考虑到数据是任何系统中最有价值的资产时,将数据集中到一个统一的平台确实会让你的最宝贵资产更易于使用和管理。当使用来自大型系统其他部分的数据提供的上下文来分析数据时,就会出现新的见解和意义。
Elastic 可以作为基础数据层,在单一平台上解决 RAG 管道的所有数据输入和输出问题,包括性能和监控框架生成的数据。下面是一个功能架构,代表了 Elastic 如何促进 RAG 管道的每个步骤。
Elastic Search AI 平台的独特之处在于,它能够通过利用以下功能满足管道的功能需求:
由于所有数据都记录在 Elastic 中,因此可视化、仪表板和警报的配置都简单且快捷,为你的团队提供了顺利且主动地运行管道所需的可视性。
经过深思熟虑和深思熟虑地实施 RAG 可以获得很多好处,但如果不考虑 RAG 管道的持续管理生命周期,许多好处都可能被抵消。Elastic Search AI 平台简化了强大且安全的 RAG 管道的部署,支持 GenAI 的采用,同时最大限度地降低与这些早期技术相关的风险。请务必立即注册 Elastic Cloud 的免费试用版,以使用 Elastic Search AI 平台将你的 GenAI 想法尽快、轻松地投入生产。
准备好自己尝试了吗?开始免费试用。
希望将 RAG 构建到你的应用程序中?想要尝试使用向量数据库的不同 LLMs?
查看我们在 Github 上针对 LangChain、Cohere 等的示例笔记本,并立即加入 Elasticsearch Relevance Engine 培训。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。