当前位置: 首页 > news >正文

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

这篇文章中,我探讨了最近的一项实验,旨在创建一个针对保险行业量身定制的 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 和生成性人工智能工作流程,以确保符合公平性、可靠性和安全性、隐私性和安全性、包容性、透明度和问责制的标准,如构建和开发这些系统的负责任的人工智能道德框架中所定义。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 第二期: 第四节, 裸机编程 LED 汇编代码。
  • Java企业面试题2
  • HTML5( HTML5 、CSS3) 第一天
  • KV260 进阶开发(PYNQ驱动开发+Pixel Pack)
  • 数据库的操作:SQL语言的介绍
  • 5个AI绘画免费,支持Midjourney【亲测有效】
  • 大二上学期详细学习计划
  • AI电商,如何提高设计效率?
  • Redis 多线程模型详解
  • Linux cut命令详解使用:掌握高效文本切割
  • jackson 中常用注解说明
  • Leetcode 3282. Reach End of Array With Max Score
  • JVM源码解析
  • 第一篇 第3章 不确定型分析 第4章 设备更新分析 第5章价值工程
  • 多个vue项目部署到nginx服务器
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • css系列之关于字体的事
  • Fundebug计费标准解释:事件数是如何定义的?
  • java中的hashCode
  • Linux中的硬链接与软链接
  • MobX
  • mysql innodb 索引使用指南
  • php ci框架整合银盛支付
  • storm drpc实例
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 深度解析利用ES6进行Promise封装总结
  • 深入浅出webpack学习(1)--核心概念
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 用Canvas画一棵二叉树
  • 【云吞铺子】性能抖动剖析(二)
  • ​第20课 在Android Native开发中加入新的C++类
  • #php的pecl工具#
  • $().each和$.each的区别
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (13)DroneCAN 适配器节点(一)
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (zt)最盛行的警世狂言(爆笑)
  • (二十四)Flask之flask-session组件
  • (附源码)ssm高校实验室 毕业设计 800008
  • (回溯) LeetCode 46. 全排列
  • (十七)Flink 容错机制
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (一)SvelteKit教程:hello world
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (自用)gtest单元测试
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .Net 应用中使用dot trace进行性能诊断
  • .Net7 环境安装配置
  • .NET的微型Web框架 Nancy
  • .NET开源项目介绍及资源推荐:数据持久层