超越 RAG 基础:AI 应用的高级策略

作者:来自  Elastic Elastic Platform Team

我们最近与 Cohere 举办的虚拟活动深入探讨了检索增强生成 (retrieval augmented generation - RAG) 的世界,重点讨论了在概念验证阶段之后构建 RAG 应用程序的关键注意事项。我们的演讲者是 Elastic 的首席解决方案架构师 Lily Adler 和 Cohere 的高级产品经理 Maxime Voisin,他们就这一不断发展的自然语言处理 (natural language processing - NLP) 领域的挑战、解决方案和最佳实践分享了宝贵的见解。

为什么要构建一堆解决方案来补充大型语言模型?

大型语言模型 (Large language models - LLM) 功能强大,但远非完美。它们经常会犯一些荒谬的错误,例如建议在披萨上涂胶水或吃石头 —— 这些错误源于它们的训练数据,没有内在的逻辑层。这就是 RAG 的作用所在,它增加了一个关键的控制层和上下文,以帮助从 LLM 中得出响应。RAG 的全部目的是将相关信息检索系统与 LLMs 集成,以增强文本生成。通过将 LLMs 置于上下文相关数据中,RAG 不仅可以提高响应准确性,而且在降低成本和总体控制方面也具有显著优势。它有助于利用外部知识来源,使 AI 输出更加可靠和相关。

你的 RAG 的好坏取决于你的检索引擎。没有灵丹妙药可以让它变得完美。但有一些最佳实践。

- Maxime Voisin,Cohere 高级产品经理 (RAG)

了解 RAG 架构

基本的 RAG 架构从用户问题开始,使用向量数据库检索相关数据,例如文档、图像和音频。然后,这些数据为 LLM 生成更准确的响应提供了必要的背景信息。

但是,高级 RAG 设置涉及多个层,每个层都发挥着关键作用:

  • 数据层:确定信息的类型(结构化或非结构化)和存储。有效的数据管理对于高质量的信息检索至关重要。
  • 模型层:结合基础 LLM 和嵌入模型。微调这些模型对于处理特定任务和提高文本生成的性能至关重要。
  • 应用层:管理检索、提示和应用程序逻辑,确保将相关文档无缝集成到工作流中。
  • 分析和部署层:确保解决方案适合用途并高效部署。持续分析有助于改进模型性能并适应新数据。

战略数据层管理

有效的 RAG 解决方案始于对数据格局的彻底了解。在处理图像或文档等非结构化数据或数据库等结构化数据时,强大的分块策略必不可少:

  • 大块与小块:平衡上下文丰富性和精确性。大块提供更多上下文,但可能会降低精确度,而小块更精确,但可能缺乏完整的信息。
  • 标记重叠:确保各个块之间的上下文连续,这有助于维持检索到的信息的一致性。
  • 折叠相关块:保持精确度,同时始终引用来源进行验证,确保所提供信息的可靠性。

安全和法律考虑也至关重要。必须谨慎管理访问控制机制(LDAP、Active Directory)和隐私问题,例如使用命名实体识别编辑敏感信息,以确保合规性和用户信任。这些措施对于防止数据泄露和未经授权访问敏感信息至关重要。

评估模型层

使用人工标记的数据集和适当的指标选择(召回率与精确度)是有效信息检索的基础。此外,成本和速度也是关键因素,需要在以下要素之间进行权衡:

  • 召回率:确保检索到所有相关文档。高召回率在法律或合规场景中至关重要,因为缺少相关信息可能会产生严重后果。
  • 精确度:确保检索到的文档与查询高度相关。高精度在消费者应用中很重要,可以避免用户沮丧。

有效微调 LLMs 对于优化这些指标和提高 RAG 系统的整体性能至关重要。

解决生成模型中的挑战

为了提高生成模型的可验证性并减少幻觉,请使用提供引用的模型,选择幻觉率较低的模型,并提高上下文窗口利用率。这将增强生成文本的连贯性。此外,专门针对 RAG 应用训练的模型可以显著降低不准确的可能性并提高系统的整体可靠性。

LLMs 会犯错,人类也会犯错,不过 LLM 会犯一些更愚蠢的错误,因为 LLM 没有那层逻辑。

- Lily Alder,Elastic 首席解决方案架构师

观看网络研讨会

高级 RAG 技术

  • 并行查询:使用并行搜索查询处理多部分问题可显著提高 RAG 系统的响应准确性,使其能够熟练处理复杂的用户请求。此技术使系统能够同时分解和处理查询的不同部分,从而确保全面准确的响应。
  • 带工具的 RAG:通过集成工具来处理复杂数据类型(例如电子表格和 SaaS 应用程序)来扩展 RAG 功能,为工作场所助手等 AI 应用程序开辟了新的可能性。这种整合使 RAG 系统能够与外部知识源交互,提供更全面的答案。例如,查询数据库或电子表格以提供数据驱动的响应可以增强系统在业务和生产力应用程序中的实用性。
  • Agentic RAG:为 RAG 系统配备 Agentic 功能可实现顺序推理和动态规划,使其能够应对更复杂的查询。 Agentic RAG 系统可以利用多种工具并根据收集的结果调整计划。这种灵活性允许更复杂的问题解决能力,并可以处理需要多个步骤和逻辑推理的复杂任务。

大规模部署检索增强生成

扩展 RAG 解决方案涉及解决三个主要领域:

  1. 成本管理:选择高效模型并优化向量搜索数据库以有效控制成本。成本分析和定期监控有助于确定需要优化的领域,确保解决方案保持成本效益。
  2. 安全性和可靠性:实施灾难恢复、服务级别目标,并采用站点可靠性工程 (SRE) 方法以确保强大的基础设施。这些措施有助于保持正常运行时间和可靠性,这对于生产环境至关重要。
  3. 持续分析:利用可观察性工具来监控和评估 LLM 响应,适应变化并确保一致的性能。持续评估有助于保持信息检索的质量并适应任何不断变化的需求。

实用的实施策略

LangChain、LlamaIndex、Autogen 和 Cohere 的 API 等多种工具和框架提供了开箱即用的解决方案,可有效实施高级 RAG 系统。利用这些工具可以帮助你避免从头开始,加快部署速度并减少开销。它们为信息检索和自然语言处理任务提供了预构建的组件,从而实现了更快、更可靠的实施。

例如,LangChain 可以通过链接不同的流程来帮助构建复杂的工作流程,而 LlamaIndex 则提供了高效的索引解决方案以实现快速检索。另一方面,Autogen 通过提供一系列预配置的设置和模板来简化响应的生成。

协作和资源

Elastic 和 Cohere 一直处于信息检索和 RAG 研究与开发的前沿。以下是深入了解 RAG 的方法:

  • 观看完整的网络研讨会:超越 RAG 基础知识:实施 RAG 的策略和最佳实践。
  • 使用 AI Playground 测试最新的 AI 搜索功能,这是一个免费的动手实验室,涵盖如何构建 RAG 系统。
  • 如需进一步阅读和动手研讨会,请访问 Elastic Search Labs。此资源提供与各种 RAG 用例相关的宝贵信息、教程和代码示例,包括将 Elastic 与 Cohere 结合使用的教程。
  • 开始免费试用,开始使用搜索 AI 构建应用程序。

通过了解 RAG 的复杂性并实施自然语言处理的最佳实践,你可以构建强大的 AI 应用程序,利用外部知识源获得更准确、更可靠的响应。无论你专注于简单的 RAG 系统还是更高级的实现,目标都是创建可扩展、经济高效并通过精确的信息检索和文本生成提供价值的解决方案。

Elastic AI 生态系统

Cohere 是 Elastic AI 生态系统中的重要合作伙伴,它为开发人员提供来自业界领先 AI 公司可信网络的预构建 Elasticsearch 向量数据库集成,从而实现对跨 AI 模型、云基础设施、MLOps 框架、数据准备和提取平台以及 AI 安全和运营的 GenAI 应用程序关键组件的无缝访问。

这些集成可帮助开发人员:

  • 通过 RAG 提供更相关的体验
  • 准备和提取来自多个来源的数据
  • 试验和评估 AI 模型
  • 利用 GenAI 开发框架
  • 观察并安全部署 AI 应用程序

在这篇博文中,我们可能使用或提及了第三方生成式 AI 工具,这些工具由其各自的所有者拥有和运营。Elastic 对第三方工具没有任何控制权,我们对其内容、操作或使用不承担任何责任,也不对吧使用此类工具可能产生的任何损失或损害承担任何责任。在使用 AI 工具处理个人、敏感或机密信息时,请谨慎行事。你提交的任何数据都可能用于 AI 培训或其他目的。我们无法保证你提供的信息将得到安全或保密。在使用任何生成式 AI 工具之前,你应该熟悉其隐私惯例和使用条款。

Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 和相关标志是 Elasticsearch N.V. 在美国和其他国家/地区的商标、徽标或注册商标。所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。

原文:Beyond RAG Basics: Advanced strategies for AI applications | Elastic Blog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/890044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音频开发中常见的知识体系

在 Linux 系统中,/dev/snd 目录包含与声音设备相关的文件。每个文件代表系统中的一部分音频硬件或音频控制接口。以下是你列出的文件及其含义: 一.基本术语 样本长度(sample):样本是记录音频数据最基本的单位,计算机对每个通道采…

贪心算法 part01

class Solution { public:int maxSubArray(vector<int>& nums) {int result INT32_MIN;int count 0;for (int i 0; i < nums.size(); i) {count nums[i];if (count > result) { // 取区间累计的最大值&#xff08;相当于不断确定最大子序终止位置&#xff…

Ubuntu 安装texstudio sty与texlive

手动安装需要的包 访问CTAN网站&#xff08;Comprehensive TeX Archive Network&#xff09;并下载enumitem宏包&#xff1a; enumitem CTAN页面下载后&#xff0c;将宏包解压到/usr/share/texmf/tex/latex/下。 可打开texstudio/帮助/宏包帮助下载。 如果不想手动安装一个个…

Moretl安全日志采集工具

永久免费: 至Gitee下载 使用教程: Moretl使用说明 使用咨询: 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架…

CAN配置---波特率中断引脚等---autochips-AC7811-ARM-M3内核

1、配置工具 虽然不怎么好用&#xff0c;但比没有强多了。具体看图&#xff1a; 时钟选着 NVIC配置 GPIO配置 2、生成的具体配置信息 NXP的配置工具里面&#xff0c;具体的波特率可以直接显示&#xff0c;这个工具没有&#xff0c;怎么办&#xff1f; 它放到了生成的代码里面…

【ETCD】ETCD 架构揭秘:内部各组件概览

ETCD 的主要组件及它们之间的关联关系如下&#xff1a; 目录 1. Client&#xff08;客户端&#xff09;2. gRPC 接口3. Etcd Server Main Loop&#xff08;ETCD 主循环&#xff09;4. Raft&#xff08;共识模块&#xff09;5. Peer Etcd Nodes&#xff08;ETCD 集群节点&#x…

乐凡信息智能安全管控方案:助力油气田行业安全管控多方位升级

我国油田地域广阔&#xff0c;分布着大量各种油井&#xff0c;油井开采设备的连续稳定运行是保证石油开采的首要条件。然而&#xff0c;由于油田多位于特殊地理环境中&#xff0c;因而实现油井之间的通信首要问题就是要克服地理环境所带来的限制&#xff0c;传统通信系统的建设…

windows 使用python共享网络给另外一个网卡

# -*- coding: utf-8 -*- import subprocessdef open_share(to_shared_adapter, from_shared_adapter):"""打开以太网的网络共享:return: None"""powershell_script f"""# Register the HNetCfg library (once)# regsvr32 hnetc…

深度学习实战智能交通计数

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对车辆目标数据集进行训练和优化&#xff0c;该数据集包含丰富的车辆目标图像样本…

rebase ‘A‘ onto ‘master‘ 和 merge ‘master‘ into ‘A‘有什么区别

在Git版本控制系统中&#xff0c;rebase 和 merge 是两种不同的操作&#xff0c;用于合并分支。rebase A onto master 和 merge master into A 虽然最终目的都是将两个分支的更改合并在一起&#xff0c;但它们在处理方式和结果上有所不同。 rebase ‘A’ onto ‘master’ 含义…

MySQL Explain 分析SQL语句性能

一、EXPLAIN简介 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句&#xff0c;从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 &#xff08;1&#xff09; 通过EXPLAIN&#xff0c;我们可以分析出以下结果&#xff1a; 表的读取顺序数据读取…

关于SAP Router连接不稳定的改良

这个也是网上看来的&#xff0c;之前在用的时候也在想是不是建立一个长连接&#xff0c;就不至于断线。今天正好看到。 关于SAP Router连接不稳定的改良 我们在使用SAPRouter时经常会碰到断线&#xff0c;其发生原因有很多&#xff0c;如&#xff1a;网络不稳定、操作间隔时间…

游泳溺水识别数据集,对9984张原始图片进行YOLO,COCO JSON, VOC XML 格式的标注,平均识别率在91.7%以上

游泳溺水识别数据集&#xff1a; 对9984张原始图片进行YOLO&#xff0c;COCO JSON, VOC XML 格式的标注&#xff0c;平均识别率在91.7&#xff05;以上 &#xff0c;可识别泳池或者水库中是否有人溺水。 数据集分割 训练组98&#xff05; 9818图片 有效集&#xff05;…

Docker的容器编排

目录 1. 什么是容器编排&#xff08;Docker Compose&#xff09;2. 容器编排的功能3. 容器编排文件&#xff08;docker-compose.yml&#xff09;的介绍3.1 文件语法版本3.2 文件基本结构及常见指令 4. Docker Compose命令详解4.1 Docker Compose命令清单4.2 命令格式和常见选项…

Type 类型 总结

GetType、Typeof Type 官网资料 IsAssignableFrom IsAssignableTo 在C#中&#xff0c;Type.IsAssignableFrom方法用于判断一个类型是否可以从另一个类型赋值。它检查源类型是否是目标类型的基类或接口。 isAssignableFrom(Class<?> c) 标识 “当前Class 是否是给定…

温度传感器DS18B20详解

前面我们学习 DHT11 的时候提到了 DS18B20&#xff0c;它有很宽的测温范围&#xff0c;-55C ~ 125C。那么本次我们就来详细介绍一下 DS18B20。 DS18B20 是一种单总线数字温度传感器&#xff0c;它被广泛应用于各种领域&#xff0c;例如气象监测、室内温度控制、工业自动化等。…

基于MNE的EEGNet 神经网络的脑电信号分类实战(附完整源码)

利用MNE中的EEG数据&#xff0c;进行EEGNet神经网络的脑电信号分类实现&#xff1a; 代码&#xff1a; 代码主要包括一下几个步骤&#xff1a; 1&#xff09;从MNE中加载脑电信号&#xff0c;并进行相应的预处理操作&#xff0c;得到训练集、验证集以及测试集&#xff0c;每个…

LM芯片学习

1、LM7805稳压器 https://zhuanlan.zhihu.com/p/626577102?utm_campaignshareopn&utm_mediumsocial&utm_psn1852815231102873600&utm_sourcewechat_sessionhttps://zhuanlan.zhihu.com/p/626577102?utm_campaignshareopn&utm_mediumsocial&utm_psn18528…

2025山东科技大学考研专业课复习资料一览

[冲刺]2025年山东科技大学020200应用经济学《814经济学之西方经济学[宏观部分]》考研学霸狂刷870题[简答论述计算题]1小时前[强化]2025年山东科技大学085600材料与化工《817物理化学》考研强化检测5套卷22小时前[冲刺]2025年山东科技大学030100法学《704综合一[法理学、国际法学…

vue自定义颜色选择器(重置版)

实现效果 相较于上次发布的颜色选择器&#xff0c;这次加入了圆形的选择器&#xff0c;并且优化了代码。 <SquareColor ref"squareColor" :color"color" change"changeColor1" />setColor1() {// this.color rgba(255, 82, 111, 0.5)thi…