RAG架构的数据准备流程

虽然现成的大型语言模型 (LLM) 功能强大,但企业发现,根据其专有数据定制 LLM 可以释放更大的潜力。检索增强生成 (RAG) 已成为这种定制的主要方法之一。RAG 模型将大型语言模型强大的语言理解能力与检索组件相结合,使其能够从外部数据源收集相关信息。这使模型能够“读取”和利用企业数据来生成输出,从而产生更准确、更符合上下文的答案,并使用最新信息进行更新。

有许多工具可以帮助企业构建 RAG 架构;但是,构建高性能 RAG 系统需要对架构的每个步骤进行优化。本文将重点介绍在企业范围内构建有效 RAG 架构的数据准备流程和注意事项。

AI 模型的好坏取决于其数据。实施 RAG 需要精心准备模型将从中学习和检索上下文的数据源。清理、构建和优化大型知识库以将其提取到矢量数据库中可能具有挑战性,因为数据源通常包含结构化和非结构化数据。

数据源整理过流程

  • 数据源:用于构建 RAG 架构知识库的数据源是基础。它们必须是全面、高质量的来源,能够准确涵盖系统将要查询的领域和主题。此过程通常涉及选择符合您的用例要求的企业结构化和非结构化数据存储库的相关子集,并听取专家的意见。
  • 数据清理:原始数据通常很嘈杂,包含不相关的内容、过时的信息和重复数据。这给 RAG 实施带来了挑战,因为模型无法从其知识库中检索相关且准确的信息,从而对生成产生负面影响。例如,Jira 或 Confluence 中的企业知识通常包含用户评论和版本更改历史记录,这些内容与存储在知识库中无关。在将数据输入矢量存储之前,有效的数据清理技术(例如过滤和重复数据删除)至关重要。
  • 隐私/PII:企业数据集通常包含敏感和私人信息。作为数据准备过程的一部分,企业需要根据其用例和潜在最终用户定义如何处理这些数据。在内部用例中,LLM 可以合并有关个人的信息,例如查询“谁是沃尔玛账户的销售代表?”但是,对于外部用例,泄露有关个人的信息可能会导致隐私侵犯。即使设置了防护措施,对抗性攻击也可能导致训练数据意外泄露。确保适当处理 PII 元素,并在适当的情况下检测、过滤、编辑和用合成数据替换,可以保护隐私,同时保持数据实用性并防止潜在的合规性问题。
  • 文本提取:  企业数据有多种格式,包括 PDF、PowerPoint 演示文稿和图像。从这些非结构化和半结构化来源中提取干净、可用的文本对于构建全面的知识库至关重要。文本提取的方法可能因文档的结构、形式和复杂性而异。简单的情况可能使用标准文本提取工具来解决,而更复杂的文档可能需要结合使用自动化工具和人工注释。
  • 文本规范化:来自多个来源的数据通常在拼写、缩写、数字格式和引用样式等方面缺乏一致性。这可能会导致相同的概念被视为不同的实体,并且模型匹配度较低。应用规范化规则来标准化拼写、语法、测量和一般命名法对于最大限度地利用文本数据至关重要。
  • 分块策略:按照上述步骤,需要将文档拆分成较短的“块”或段落,以便检索组件将其与查询匹配并传递给语言模型。目标是将文档拆分成可检索的单元,以保持关键信息的完整、相关上下文。常用方法包括固定大小分块、基于文档的分块和语义分块。一般来说,人类对数据是否应放在现有块中或形成新块的评估仍然被认为是黄金标准,一种称为“代理分块”的新兴、更先进的方法试图模仿这种人类行为。理想的块大小在具有足够的上下文和效率之间取得平衡,而总结或分层分块等方法也适用于长文档。
  • 实体识别和标记:虽然从知识库中派生出的区块构成了向量存储的核心,但使用元数据(如源详细信息、主题和数据中的关键实体)丰富这些区块可以显著提高 RAG 模型的准确性。针对人员、组织、产品、概念和实体链接的命名实体识别 (NER) 可以帮助模型连接段落并增强检索相关性。这可以使用具有自动化技术和人机验证的数据注释平台系统地完成,以确保注释的准确性和一致性,并在必要时包括领域专家。

查询流程

  • 段落排名:检索组件显示与查询匹配的候选段落后,在将它们传递给语言模型之前,按相关性对其进行排名和筛选至关重要。这可以避免从相关性较低的段落生成响应。排名可以利用相似度得分、上下文推理、元数据属性和查询段落对齐。
  • 提示工程与设计: RAG 模型的有效性很大程度上取决于通过在内容(查询 + 上下文)中添加相关检索数据来增强用户输入。这些提示必须经过精心设计,才能有效获取和利用检索到的上下文,同时与输出响应所需的风格和语气保持一致。

持续评估和优化

上述数据考虑因素对于 RAG 的成功都至关重要。然而,由于存在许多变动因素,因此在整个训练过程中,可能很难了解其有效性和影响。

持续的测试、评估和优化对于有效识别和监控性能差距至关重要。组件评估对于解决特定问题非常有用,例如,评估检索是否来自向量存储中的最佳来源。端到端评估可用于根据目标用例评估整个系统的质量,最终目标是生成对人类最终用户有价值的响应。

利用 Appen 的专业知识

用于训练 RAG 模型的数据可能很复杂,对于希望部署 LLM 的企业来说仍然是一个挑战。Appen 的 AI 数据注释平台可让您无缝增强和集成专有数据,帮助提高以数据为核心的 RAG 实施的成功率。

立即联系 Appen,了解我们的专业知识和先进平台如何帮助您加速 RAG 之旅。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[Redis]String类型

基本命令 set命令 将 string 类型的 value 设置到 key 中。如果 key 之前存在,则覆盖,无论原来的数据类型是什么。之前关于此 key 的 TTL 也全部失效。 set key value [expiration EX seconds|PX milliseconds] [NX|XX] 选项[EX|PX] EX seconds⸺使用…

官宣!马斯克的xAI获60亿美元融资,估值240亿美元

5月27日晚,马斯克旗下的大模型平台xAI在官网宣布获得60亿美元B轮融资,估值240亿美元。本次主要投资者包括Valor Equity Partners、红杉资本、国王控股、沙特王子-Bin Talal、Vy Capital等。 这也是大模型赛道史上最高单笔融资之一,超过Anthr…

安全基础二

一、插件漏洞 统计使用了哪些插件这些插件有版本更新嘛检测这些插件是否存在已知漏洞 二、权限提升和持久化 SSRF(Server-Side Request Forgery,服务器端请求伪造) 想象一下,你是一个公司的内部员工(服务器&#x…

主副坐标轴作图(即双坐标轴)

主副坐标轴显示: import numpy as np from matplotlib import pyplot as plt plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False xnp.arange(0.1,10,0.01) data1np.exp(x) data2np.log(x) fig,ax1plt.subplots() #subplots一定要带s…

linux安装mysql后,配置mysql,并连接navicate软件

Xshell连接登陆服务器 输入全局命令 mysql -u root -p 回车后,输入密码,不显示输入的密码 注意mysql服务状态,是否运行等 修改配置文件my.cnf,这里没找到就找my.ini,指定有一个是对的 find / -name my.cnf 接下…

6岁开始学习打字,10岁学懂文字编程

​你们有没有想过打字速度会影响Coding 编程能力? 疫情期间,全国中小学均不定期停止面授课程,改为网上教学。顷刻之间,电脑、智能手机等即时通讯软件成为每日学习的「良师益友」,常伴左右。 同时,学生也由…

【管理咨询宝藏116】某大型国有集团公司战略落地保障方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏116】某大型国有集团公司战略落地保障方案 【格式】PDF版本 【关键词】战略落地、大型国企、战略报告 【核心观点】 - 资产规模以提高资产质量、…

C++入门 ros自定义msg话题通信

一、 开发环境 ubuntu20.04 ros版本noetic 参考视频 https://www.bilibili.com/video/BV1Ci4y1L7ZZ/?p52&spm_id_from333.1007.top_right_bar_window_history.content.click&vd_source4cd1b6f268e2a29a11bea5d2568836ee 二、 编写msg文件 在功能包下面创建msg文件夹…

UI卡片设计入门:一步步教你成功逆袭

UI卡片设计是目前流行的UI设计风格。UI卡片设计是对网页中的卡进行分析和重构的设计,那么在设计UI卡片时应该注意什么呢?目前流行哪种UI卡片设计?收集这个UI卡片设计避坑指南,菜鸟也可以反击成UI设计老板~ UI卡片是什么&#xff…

Unity射击游戏开发教程:(28)敌人被摧毁时掉落的能量提升

在这篇文章中,我将介绍如何在敌人被摧毁时产生能量提升。 首先,有一个生成管理器,负责生成敌人和能量提升。我正在对其进行转换,以便当敌人被摧毁时,有可能会掉落能量。本文将仅介绍当敌人被摧毁时掉落的能量道具。我将介绍为电源添加一个平衡的生成系统。 Spawn Manager…

降压芯片SL3036耐压100V 电机驱动板应用48-85V降压12V 1A以内

降压芯片SL3036以其卓越的耐压特性,能够在高达100V的电压环境下稳定运行,为电机驱动板等应用提供了强大的电源支持。这款芯片在电机驱动板中发挥着至关重要的作用,特别是在那些需要48-85V宽范围输入电压并降压至稳定12V输出的场景中&#xff…

【MySQL数据库】:MySQL内置函数

目录 日期函数 current_date 函数 current_time 函数 current_timestamp 函数 now 函数 date 函数 date_add 函数 date_sub 函数 datediff 函数 字符串函数 charset 函数 concat 函数 instr 函数 ucase 函数 lcase 函数 left 函数 length 函数 replace…

作为一名前端工程师,该如何控制高并发请求呢?「如果有更好的方案,欢迎讨论」

假如现在有几十、上百个请求,我们该如何去控制这么高的并发呢? 给你一分钟时间,稍作思考 ~ 🤔 此场景有很多,比如 图片或文件批量下载、RSSHub高速抓取内容。。。 第一想法是不是请求池!&…

代码随想录-算法训练营day46【动态规划08:单词拆分、多重背包!背包问题总结篇!】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第九章 动态规划part08● 139.单词拆分 ● 关于多重背包,你该了解这些! ● 背包问题总结篇! 详细布置 关于 多重背包,力扣上没有相关的题目,所以今天大家的…

unity回到低版本报错解决

用高版本2022打开过后的再回到2020就报了一个错。 报错如下: Library\PackageCache\com.unity.ai.navigation1.1.5\Runtime\NavMeshSurface.cs 看了一下是Library,然后我删除了整个Library文件夹,重启启动生成Library,然后还是…

调试面对面翻译小程序

调试面对面翻译小程序 文章目录 调试面对面翻译小程序预览1.拉取项目2.在微信开发者工具打开使用 微信版本要求微信同声传译插件支持功能 此demo用于学习 预览 1.拉取项目 git clone https://github.com/Tencent/Face2FaceTranslator或者(加速镜像) git …

环境土壤物理模型HYDRUS1D/2D/3D建模方法与案例教程

原文链接:环境土壤物理模型HYDRUS1D/2D/3D建模方法与案例教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247605540&idx6&sn22a128de401e146d21c9f2487d589a3b&chksmfa821cc3cdf595d54e46be8247a67eda290349039c85b8e8542aaf34509dae0bb…

2024年zoom会议受主持人账户限制影响,无法加入会议。(错误代码13215)

问题一、老师,你好!我的zoom账户,刚开始注册后可以登录,但是现在登录不了了。代码1044。其次,我如果通过网页版设置会议号,别人也加入不了。代码13215。 这两个问题一般会同时出现。登录失败。(错误代码:1044)一般是创…

一键秒删TXT文本符号,释放工作效率新高度,轻松应对海量文本处理挑战!

在这个信息爆炸的时代,我们每天都会面对海量的文本信息。而在处理这些文本时,你是否曾经因为各种符号的干扰而头疼不已?现在,我们为你带来了一款高效批量处理工具,它能够一键删除TXT文本中的符号,让你的工作…

Oracle dblink 发现Network 等待事件的分析 enq: KO - fast object checkpoint

所有的sql 通过dblink 查询全部等待中, 同一个SQL 20多个session 在跑,等待事件network,可能怀疑是不是网络断开了,导致没有返回 执行sql 如下: BEGIN Xdblink ; END; 去到dblink 所在的db,发现20多个sql在…