探索 AI 代理驱动的汽车保险索赔 RAG 管道。

news2024/11/24 18:35:16

这篇文章中,我探讨了最近的一项实验,旨在创建一个针对保险行业量身定制的 RAG 管道,专门用于处理汽车保险索赔,目的是尽可能减少处理时间。

我还展示了 Autogen AI Agents 的实施,通过代理交互和对样本汽车保险索赔文件、问答用例的函数调用来增强搜索检索,以及此工作流程如何大幅减少索赔处理所需的时间。

我认为 RAG 工作流代表了一种新颖的数据堆栈,不同于传统的 ETL 流程。虽然它们包含与数据工程中的传统 ETL 类似的数据提取和处理,但它们引入了额外的管道阶段,例如分块、嵌入和将数据加载到矢量数据库中,这与标准的 Lakehouse 或数据仓库管道不同。

RAG 申请流程的每个阶段都对下游 LLM 申请的准确性和针对性至关重要。其中一个阶段是分块方法,对于这个概念验证,我选择测试一种基于页面的分块技术,该技术利用文档的布局而不依赖第三方软件包。

 

主要服务和特点:

通过利用 Azure AI 服务的企业级功能,我可以通过私有端点安全地集成 Azure AI 文档智能、Azure AI 搜索和 Azure OpenAI。这种集成可确保解决方案符合最佳实践的网络安全标准。此外,它还提供安全的网络隔离以及与虚拟网络和相关 Azure 服务的私有连接。

 

其中一些服务是:

 

博客文章的缩略图 1,标题为“探索 AI 代理驱动的汽车保险索赔 RAG 管道”。

 

  1. Azure AI 文档智能和预建布局模型。
  2. 配置了HNSW 搜索算法的Azure AI 搜索索引和向量数据库。
  3. Azure OpenAI GPT-4-o 模型。
  4. 基于页面的分块技术。
  5. Autogen AI 代理。
  6. Azure Open AI 嵌入模型:text-ada-003。
  7. Azure 密钥保管库。
  8. 所有服务的私有端点集成。
  9. Azure Blob 存储。
  10. Azure Function App。(此无服务器计算平台可以用Microsoft Fabric或Azure Databricks替换)

文档提取和分块:

这些模板包括表格,其中包含详细说明事故地点、描述、相关方的车辆信息以及任何受伤情况的数据。感谢LlamaIndex的工作人员提供索赔文件样本。以下是表格模板的示例。

 

缩略图 2 标题 索赔样本表格

索赔样本表

 

索赔文件是存储在 Azure Blob 存储中的 PDF 文件。数据提取从 Blob 存储的容器 URL 开始,使用 Azure AI 文档智能 Python SDK。

这种基于页面的分块方法的实现利用了 Azure AI 文档智能 SDK 的 markdown 输出。该 SDK 设置了预构建的布局提取模型,可将页面内容(包括表单和文本)提取为 markdown 格式,同时保留文档的特定结构(例如段落和章节)及其上下文。

SDK 通过文档的 pages 集合,方便逐页提取文档,从而可以按顺序组织 markdown 输出数据。每页都作为页面列表中的元素保存,从而简化了高效提取每个段页码的过程。有关文档智能服务和布局模型的更多详细信息,请参阅此链接。

下面的代码片段说明了基于页面的提取、页面元素的预处理以及将它们分配给 Python 列表的过程:

 

缩略图 3 标题页提取

页面提取

 

每个页面内容将与向量索引中的其他元数据字段一起用作向量数据库索引中的内容字段的值。每个页面内容都是其自己的块,将在加载到向量数据库之前嵌入。以下代码片段演示了此操作:

 

博客文章的缩略图 4,标题为“探索 AI 代理驱动的汽车保险索赔 RAG 管道”。

 

定义 Autogen AI 代理和代理工具/功能:

AI 代理的概念模仿了人类的推理和问答过程。代理由大型语言模型(其大脑)驱动,该模型可帮助确定是否需要更多信息来回答问题,或者是否需要执行工具来完成任务。

相比之下,非代理 RAG 管道包含精心设计的提示,这些提示在向 LLM 发起响应请求之前集成了来自向量存储的上下文信息(通常通过提示中的上下文变量)。AI 代理拥有自主权,可以确定完成任务或提供答案的“最佳”方法。这个实验展示了一个简单的代理 RAG 工作流程。在即将发布的文章中,我将深入研究更复杂的代理驱动的 RAG 解决方案。有关 Autogen Agents 的更多详细信息,请点击此处。

我设置了两个 Autogen 代理实例,旨在模拟或参与它们之间的问答聊天对话,以根据输入消息执行搜索任务。为了促进代理通过函数调用从 Azure AI Search 向量存储中搜索和获取查询结果的能力,我编写了一个将与这些代理关联的 Python 函数。配置为调用该函数的 AssistantAgent 和负责执行该函数的 UserProxyAgent 都是 Autogen Conversable Agent 类的示例。

用户代理通过询问搜索文档的问题来与助理代理开始对话,助理代理根据系统消息提示指令和从向量库中获取的上下文数据,收集并合成响应。

以下代码片段提供了 Autogen 代理的定义以及代理之间的聊天对话。完整的笔记本实现可在链接的 GitHub存储库中找到。

 

博客文章的缩略图 5,标题为“探索 AI 代理驱动的汽车保险索赔 RAG 管道”。

 

博客文章的缩略图 6,标题为“探索 AI 代理驱动的汽车保险索赔 RAG 管道”。

 

最后的想法:

助理代理正确回答了所有六个问题,这与我对文件信息和基本事实的评估一致。此概念验证展示了将相关服务集成到 RAG 工作流程中以开发 LLM 应用程序,旨在大幅缩短汽车保险行业场景中处理索赔的时间。

如前所述,RAG 工作流程的每个阶段都对响应质量至关重要。助理代理的系统消息提示需要精确制作,因为它可以根据设定的指令改变响应结果。同样,自定义检索功能的逻辑在代理定位和合成消息响应的能力中起着重要作用。

答案的准确性已通过人工评估。理想情况下,该流程应实现自动化。

在即将发布的文章中,我打算探讨 RAG 工作流程的自动评估。可以使用哪些方法来准确评估并随后改进 RAG 流程?

RAG 过程的检索和生成阶段都需要彻底的评估。

我们可以使用哪些工具来准确评估 RAG 工作流的端到端阶段,包括提取、处理和分块策略?我们如何比较各种分块方法,例如本文中描述的基于页面的分块与递归字符文本拆分分块选项?

我们如何比较 HNSW 向量搜索算法和 KNN 穷举算法的检索结果?

有哪些可用的评估工具以及可以为基于代理的系统捕获哪些指标?

是否有一个万能的工具可以管理这些问题?我们将找到这些问题的答案。

 

此外,我还想研究和评估如何审查这个和其他 RAG 和生成性人工智能工作流程,以确保符合公平性、可靠性和安全性、隐私性和安全性、包容性、透明度和问责制的标准,如构建和开发这些系统的负责任的人工智能道德框架中所定义。

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

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

相关文章

李宏毅结构化学习 01

文章目录 一、结构化学校介绍二、线性模型 一、结构化学校介绍 训练时,F(x,y)是评估X与Y有多匹配,越匹配,R的值就越大。 测试时,确定F(x,y)后,给定一个x后,穷举所有y,使得F最大的那个就是 y ~ \…

k8s的配置

k8s的配置 拉取镜像,创建pod:从阿里云拉取 [rootk8s-master ~]# kubectl run nginx --imagenginx:latest [rootk8s-master ~]# kubectl get po -Aowide|grep nginx default nginx 0/1 ImagePullBackO…

【Linux取经之路】用户权限管理

目录 shell命令以及运行原理 Linux权限的概念 1、用户的概念 2、切换用户 Linux权限管理 1、文件访问者的分类 2、文件类型和访问权限 3、文件访问权限的修改 4、文件所有权的修改 5、设置权限掩码 6、用户提权 7、目录的权限 8、粘滞位 shell命令以及运行原理 Linu…

D - 88888888

设N有K位 则&#xff1a; p998244353&#xff0c;是质数&#xff0c;vn%p只需要求一下分母的逆元即可。 分母于p互质&#xff0c;满足飞马小定理&#xff0c;故可以用其求逆元。 再用一下这个结论就OK了 #include<bits/stdc.h> using namespace std; #define int long…

《JavaEE进阶》----16.<Mybatis简介、操作步骤、相关配置>

本篇博客讲记录&#xff1a; 1.回顾MySQL的JDBC操作 2..Mybatis简介、Mybatis操作数据库的步骤 3.Mybatis 相关日志的配置&#xff08;日志的配置、驼峰自动转换的配置&#xff09; 前言 之前学习应用分层时我们知道Web应用程序一般分为三层&#xff0c;Controller、Service、D…

使用Python从头开始创建PowerPoint演示文稿

目录 一、环境搭建与基础知识 1.1 环境搭建 1.2 基础知识 二、创建演示文稿对象 三、添加幻灯片 3.1 选择幻灯片布局 3.2 设置幻灯片内容 3.2.1 设置标题和副标题 3.2.2 添加文本内容 3.2.3 插入图片 3.2.4 插入图表 四、高级应用&#xff1a;批量生成演示文稿 4.…

太惨了!许家印前妻每个月只能花18万

文&#xff5c;琥珀食酒社 作者 | 积溪 许家印前妻被判了 我跟你说啊她真是太惨了 一个月只能取18万啊 你说这日子怎么过啊 买个包包都不够啊&#xff01; 大家都知道许皮带爆雷&#xff08;BL&#xff09;后 丁玉梅虽然和许皮带战略性离婚&#xff0c;逃到了英国 还把…

【计算机组成原理】浮点数的表示及IEEE 754规格化

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

软件工程测试

1. 软件测试概述 通俗地说&#xff0c;软件测试是为了发现错误而执行程序的过程。 软件测试&#xff1a;根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例&#xff08;即输入数据及其预期的输出结果&#xff09;&#xff0c;并利用这些测试用例去运行程序…

深度学习:基础知识

深度学习是机器学习的一个领域 神经网络构造 一个神经元有n个输入&#xff0c;每一个输入对应一个权值w&#xff0c;神经元内会对输入与权重做乘法后求和。 感知器 由两层神经元组成的神经网络--“感知器”&#xff08;Perceptron&#xff09;,感知器只能线性划分数据。 公式…

Netty笔记03-组件Channel

文章目录 Channel概述Channel 的概念Channel 的主要功能Channel 的生命周期Channel 的状态Channel 的类型channel 的主要方法 ChannelFutureCloseFuture&#x1f4a1; netty异步提升的是什么要点总结 Channel概述 Channel 的概念 在 Netty 中&#xff0c;Channel 是一个非常重…

c++题目_洛谷 / 题目详情 P1012 [NOIP1998 提高组] 拼数

# [NOIP1998 提高组] 拼数 ## 题目描述 设有 $n$ 个正整数 $a_1 \dots a_n$&#xff0c;将它们联接成一排&#xff0c;相邻数字首尾相接&#xff0c;组成一个最大的整数。 ## 输入格式 第一行有一个整数&#xff0c;表示数字个数 $n$。 第二行有 $n$ 个整数&#xff0c;表…

Linux学习笔记(黑马程序员,前四章节)

第一章 快照 虚拟机快照&#xff1a; 通俗来说&#xff0c;在学习阶段我们无法避免的可能损坏Linux操作系统&#xff0c;如果损坏的话&#xff0c;重新安装一个Linux操作系统就会十分麻烦。VMware虚拟机支持为虚拟机制作快照。通过快照将当前虚拟机的状态保存下来&#xff0c;…

Leetcode 移动零

要求将数组中的所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。下面是该题的 C 解决方案&#xff1a; class Solution { public:void moveZeroes(vector<int>& nums) {int nonZeroPos 0; // 记录非零元素应该放置的位置// 遍历数组&#xff0c;…

镭速如何高效使用SQLite数据库高速传输结构化数据文件传输

SQLite数据库因其小巧、跨平台和无需配置的特性&#xff0c;在众多关系型数据库中独树一帜。与传统的服务器/客户端架构数据库&#xff0c;例如MySQL不同&#xff0c;SQLite通常被嵌入到应用程序中作为一个库。它不仅支持创建索引&#xff0c;还严格遵循ACID原则&#xff0c;非…

先攒一波硬件,过几年再给电脑升级,靠谱吗?想啥呢?

前言 最近有小伙伴发来消息&#xff1a;我可以今年先买电脑的部分硬件&#xff0c;明年再买电脑的另一部分硬件&#xff0c;再组装起来不就是一台电脑了吗&#xff1f; 这确实是一个很好的办法。 我还记得大学有个室友&#xff0c;从大一每个月省吃俭用&#xff0c;攒下的钱…

全球AI应用市场洞察:市场快速崛起,“陪伴式AI”、“图像AI”应用爆款频出!

自2023年 GPT4 的问世以来&#xff0c;得益于这股新的技术变量&#xff0c;各类 AI 应用在市场上遍地开花。在这轮热潮之下&#xff0c;不同市场和细分赛道有何机遇和挑战&#xff1f;以下根据 Sensor Tower 最新报告分析&#xff0c;帮助移动开发者、广告主洞察全球AI应用市场…

Linux系统:chgrp命令

1、命令详解&#xff1a; chgrp命令是Linux操作系统中用于修改文件或目录的所属组的命令。chgrp命令还可以修改链接文件的所属组&#xff0c;而不是链接所指向的文件的所属组。默认情况下&#xff0c;只有文件的所有者和超级用户才能修改文件的所属组&#xff0c;但如果用户是一…

JavaWeb【day08】--(MySQL-Mybatis入门)

数据库开发-MySQL 1. 多表查询 1.1 概述 1.1.1 数据准备 SQL脚本&#xff1a; #建议&#xff1a;创建新的数据库 create database db04; use db04; ​ -- 部门表 create table tb_dept (id int unsigned primary key auto_increment comment 主键ID,name v…

Win32编程:创建属于你的第一个窗口

目录 一、Win32程序的运行过程 二、创建Windows窗口 1、分析 2、完整代码 一、Win32程序的运行过程 Win32编程&#xff0c;也称为Windows编程。运行步骤主要包含&#xff1a;加载程序&#xff08;操作系统加载程序的可执行文件&#xff08;exe格式&#xff09;到内存中,创建…