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

RAG 在企业应用中落地的难点与创新分享

在2024稀土开发者大会-AI Agent与应用创新分会上,我有幸分享了我们团队在企业应用中实施RAG(检索增强生成)的难点与创新。希望通过这篇文章,与大家探讨我们在实践中遇到的问题和解决方案,为从事相关工作的朋友提供一些新的思路。

一、企业应用中实施的四大难点

1. 文件解析的挑战

在企业环境中,文件解析是实施RAG的第一步,也是关键的一步。如果文件解析做不好,后续的检索、向量化等工作都无从谈起。

老旧文件格式的解析:我们发现,在许多国企和特定行业中,仍然存在大量的老旧文件格式,如.doc(非.docx)等。市面上的许多解析工具并不支持这些格式,这需要我们投入额外的精力进行支持和兼容。

PDF表格解析:在金融、标准化工业等领域,PDF中的表格解析是一个刚需。复杂的表格结构、合并单元格、跨行跨列等情况增加了解析的难度。为此,我们基于Apache PDFBox进行了二次开发,成功实现了对复杂表格的准确解析。

OCR的触发时机:对于包含图文混排的文件,何时启动OCR是一个需要深思的问题。过早或过晚都会影响解析效率和准确性。

布局识别的复杂性:对于一些特殊的文件,如机票、票据等,需要进行布局识别,以理解不同区域所代表的信息。这超出了传统OCR的能力范围,需要更高级的技术支持。

2. 结构化数据的融合

在实际企业应用中,很少有场景是纯粹的非结构化数据处理。通常需要与企业现有的结构化数据库进行融合。

与关系型数据库的融合:大模型在处理结构化数据时,存在一定的局限性,尤其是在处理复杂逻辑和高精度查询时。为此,我们保留了原有的结构化数据结构,通过提取元数据和资源描述,结合Function Call,实现了自然语言与结构化数据的融合。

Text-to-SQL的现状与挑战:尽管Text-to-SQL被视为未来的解决方案,但目前在处理复杂逻辑和企业级应用时,仍存在许多挑战,需要更多的技术突破。

3. 索引建立过程中的处理

在资源有限的情况下,我们需要在有限的硬件条件下实现高效的索引和检索。

基于元数据的检索范围缩小:通过在文件上传时提取元数据(如文件名、属性、标题等),并在查询时使用命名实体识别(NER)模型,我们能够缩小检索范围,提高检索准确性。

使用NER模型提高准确性:NER模型能够帮助我们理解用户的查询意图,进而在大量的文档中快速定位相关内容。

4. 使用Rerank提升检索结果

为了提高检索结果的准确性,我们在检索后增加了Rerank(重排序)步骤。

使用密度函数优化得分:通过计算检索得分的密度函数,我们能够自动截断低相关性的结果,只保留最相关的文档。

在问答环节的应用:在问答系统中,我们使用Rerank确保返回的原文与大模型生成的答案高度匹配,避免了答案与原文不一致的问题。

二、应用中的创新案例

1. 金融研报的应用创新

在金融领域,研报的撰写需要耗费大量时间和精力。我们开发了一款工具,允许用户将数百份文件上传至系统,然后通过自然语言提问,如“这家公司最近3年的复合增长率是多少?”,系统会给出准确的答案并提供原文参考。

这大大缩短了研报撰写的时间,从原来的三周缩短到几个小时。同时,系统还能生成初步的研报草稿,供分析师进一步润色和完善。

2. 零售领域的创新应用

Touch-V哆啦A梦助力导购:在零售业,尤其是拥有大量SKU的商店,导购人员很难快速匹配客户的复杂需求。通过我们的系统,导购只需输入客户的需求,系统就能从数万个SKU中筛选出最合适的产品。

装修设计中的即时反馈:在装修设计领域,客户的需求变化频繁,传统的沟通方式效率低下。通过我们的应用,设计师可以在平板电脑上实时与客户互动,根据客户的反馈即时调整设计方案,显著提高了效率。

3. 规则预审的应用创新

合同预审的自动化:大型企业在合同审查上耗费大量人力。我们的系统能够根据预设的规则,对合同进行自动审查,标记出需要注意的条款,减少了法务人员的工作量,加快了合同审批流程。

项目评审中的规则应用:在项目评审中,我们的系统能够根据不同的评审规则,对项目文件进行自动化的审查和评估,提高了评审的客观性和效率。

三、总结与思考

在大模型应用落地的实践中,我们深刻体会到,要想做好AI在企业中的应用,需要具备以下三个特点:

  1. 功能小:专注于具体的、可量化的功能,解决实际问题,而非追求大而全。

  2. 质量高:确保应用的准确性和可靠性,在现有技术条件下,力求做到最好。

  3. 价值大:专注于为客户创造实际价值,解决他们最关心的问题。

在与客户合作的过程中,我们也认识到,沉淀大量的应用场景是企业服务的核心竞争力。这不仅能够帮助我们更好地理解客户需求,也使我们在技术迭代和模型升级中,始终保持领先。

展望未来,随着大模型技术的不断发展,我们期待能有更多的技术突破,如多模态识别、更加精准的Text-to-SQL等。这些进步将为企业应用带来更大的可能性,也为我们解决更多的实际问题提供了技术支持。

在这里插入图片描述

相关文章:

RAG 在企业应用中落地的难点与创新分享

在2024稀土开发者大会-AI Agent与应用创新分会上,我有幸分享了我们团队在企业应用中实施RAG(检索增强生成)的难点与创新。希望通过这篇文章,与大家探讨我们在实践中遇到的问题和解决方案,为从事相关工作的朋友提供一些…...

苹果CMS海洋CMS那个更容易被百度收录?苹果CMS站群

SEO优化和搜索引擎的友好性常常是网站管理员关注的重点。苹果CMS(maccmscn)和海洋CMS都是国内常见的CMS平台,但在搜索引擎优化(SEO)和百度收录方面,苹果CMS凭借其优秀的插件生态系统,特别是泛目…...

高教社杯数模竞赛特辑论文篇-2013年B题:碎纸复原模型与算法

目录 摘要 一、问题重述 二、问题分析 三、符号说明与模型假设 3.1 符号说明 3.2 模型假设 3.3 假设说明 四、模型的建立与求解 4.1 一维碎纸复原模型 4.1.1 图像的预处理 4.1.2 碎纸特征的提取 4.1.3 基于文字特征的识别序列 4.1.4 碎纸距离的定义 4.1.5 复原 TSP 问题 4.1.6 …...

多线程面试题-28问

1、查询Java有哪些线程? public class MultiThread {public static void main(String[] args) {// 获取 Java 线程管理 MXBeanThreadMXBean threadMXBean ManagementFactory.getThreadMXBean();// 不需要获取同步的 monitor 和 synchronizer 信息,仅获…...

golang学习笔记16——golang部署与运维全攻略

推荐学习文档 golang应用级os框架,欢迎star基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总golang学习笔记01——基本数据类型golang学习笔记02——gin框架及基本原理golang学习笔记03——gin框架的核心数据结构golang学…...

Unreal Fest 2024 虚幻引擎影视动画制作的普遍问题

———————————————————————————————————————— 本文为Unreal Fest Shanghai2024讲座内容笔记,非本人所著,原演讲人李文磊。 ————————————————————————————————————————…...

【机器学习-四-无监督学习unsupervise learning-聚类算法简介】

无监督学习unsupervise learning 聚类聚类的过程相似度度量方法聚类的方法划分式层次聚类基于密度的聚类 上一节讲的无监督学习,但是很多人可能会很疑惑,没有目标,那算法是怎么学会该怎样分类的呢?今天就简介一下其中的聚类算法。…...

IPv6路由基础

RIPng RIPng是一种较为简单的内部网关协议,是RIP在IPv6网络中的应用。RIPng主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。由于RIPng的实现较为简单,在配置和维护管理方面也远比OSPFv3和IS-IS for IPv6容易,因…...

uniapp开发微信小程序 嵌套(uniapp开发/其他)H5,H5点击跳转微信小程序页面(通信

环境: uniapp开发微信小程序,嵌套webview,H5页面也是用的uniapp框架开发,H5页面点击商品后,需要跳转到微信小程序的详情页面 做法的原因 在微信小程序中使用web-view元素,如果要实现 H5到小程序的通信&am…...

VM虚拟机器配置网络DHCP服务

1、VM虚拟机器网络配置,centos 精简版没有配合网卡,如何配置网络 一、查看网卡信息 使用ip addr或ifconfig -a命令查看系统中现有的网卡设备名称,通常可能是eth0、ens33等类似的名称。 二、编辑网络配置文件 网络配置文件通常位于/etc/syscon…...

使用 jd.item_get API打造可读性商品介绍

在数字化时代,电子商务的蓬勃发展使得商品信息的获取变得至关重要。对于电商平台而言,如何准确、快速地获取商品信息,并以吸引人的方式呈现给消费者,成为提高销售额和用户体验的关键。本文将介绍如何利用 jd.item_get API 获取商品…...

java 通过文件下载地址读取文件内容

需求&#xff1a;读取文件内容&#xff0c;已知文件下载地址 需要引入pdfbox依赖 <dependency> <groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.27</version> </dependency>Override pub…...

打造古风炫酷个人网页:用HTML和CSS3传递笔墨韵味

需要用到的背景大家可以自己找喜欢的风格!!! 当然俺把俺用的背景放到文章最后了哦&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 感谢关注和支持 长期更新哦~~~ 1. 简洁的页面布局&#xff1a;保持优雅和对称 在古风设计中&#xff0c;布局的对称性非常重要…...

vue 项目自适应 配置 px转rem 的插件postcss-pxtorem

1、安装 npm i postcss-plugin-px2rem --save -dev --force找到 postcss.config.cjs 没有的话就新建一个 module.exports {plugins: {// to edit target browsers: use "browserslist" field in package.jsonautoprefixer: {},"postcss-plugin-px2rem":…...

股票程序化交易是,第三方软件申请券商私有接口API的门槛

炒股自动化&#xff1a;申请官方API接口&#xff0c;散户也可以 python炒股自动化&#xff08;0&#xff09;&#xff0c;申请券商API接口 python炒股自动化&#xff08;1&#xff09;&#xff0c;量化交易接口区别 Python炒股自动化&#xff08;2&#xff09;&#xff1a;获取…...

JDK8的一些主要的新特性

JDK8&#xff08;Java Development Kit 8&#xff09; 是一个重要的版本&#xff0c;带来了许多显著的特性和改进&#xff0c;极大地提升了 Java 语言的功能性和开发效率。以下是 JDK 8 的一些主要新特性&#xff1a; 一、Lambda 表达式 1.简化匿名内部类的写法&#xff0c;…...

40岁的java程序员,还有出路吗?

目录 前言一、现状与挑战二、出路与机遇三、案例分析与启示四、结语 前言 40岁Java程序员的出路&#xff1a;挑战与机遇并存 在科技日新月异的今天&#xff0c;IT行业始终保持着高速的发展态势&#xff0c;而Java作为其中的重要一员&#xff0c;其地位依然稳固且充满挑战。对…...

【服务器】shell脚本之Docker创建nginx

#!/bin/bash# 定义目标目录和配置文件路径 BASE_DIR"/opt/docker/nginx"ETC_DIR"$BASE_DIR/etc" ETC_CONF_DIR"$ETC_DIR/conf.d" SSL_DIR"$ETC_CONF_DIR/ssl" LOG_DIR"$BASE_DIR/log"HTML_DIR"$BASE_DIR/html"C…...

提取蛋白质复合体结构中组装体的变换矩阵

PDB文件中&#xff0c;组装体变换矩阵&#xff08;assembly transformation matrices&#xff09;用于描述多聚体结构中各个单体之间的相对位置和取向。从蛋白质复合体 PDB 数据中提取每个组装体&#xff08;assembly&#xff09;的变换矩阵&#xff0c;通常需要解析 PDB 文件中…...

java程序员入行科目一之CRUD轻松入门教程(一)

之前在操作MySQL的时候&#xff0c;都是采用Navicat&#xff0c;或者cmd黑窗口。 无论使用什么方式和MySQL交互&#xff0c;大致步骤是这样的 建立连接&#xff0c;需要输入用户名和密码编写SQL语句&#xff0c;和数据库进行交互 这个连接方式不会变&#xff0c;但是现在需要 基…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

DBLP数据库是什么?

DBLP&#xff08;Digital Bibliography & Library Project&#xff09;Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高&#xff0c;数据库文献更新速度很快&#xff0c;很好地反映了国际计算机科学学术研…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

命令行关闭Windows防火墙

命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)​方法二:CMD命令…...

从实验室到产业:IndexTTS 在六大核心场景的落地实践

一、内容创作&#xff1a;重构数字内容生产范式 在短视频创作领域&#xff0c;IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色&#xff0c;生成的 “各位吴彦祖们大家好” 语音相似度达 97%&#xff0c;单条视频播放量突破百万…...