大模型时代的企业转型:RAG技术的进化与挑战

news/2024/9/20 17:31:28/文章来源:https://www.cnblogs.com/choerodon/p/18422905

从2023年起开始火爆的大语言模型(Large Language Model,LLM),如GPT/Gemini/通义千问/GLM/文心一言/豆包等,经过了一年多的比拼和进化,已经几乎涵盖了所有通用性、常识性的知识和理解力;

 

与之同时,更多传统行业的企业也被吸引到大语言模型的生态中,探索新AI技术为企业带来实质性的变革。与大模型厂商对通用能力的比拼不同,传统企业更关注大模型通用能力与自身行业或企业内部的垂直领域的知识相结合,以满足企业特有业务场景的述求。

 

垂直领域融合

大语言模型对企业垂直领域知识进行融合,主流是两个方向:

 

Fine-Tuning

将私域知识标注为训练数据,直接对大模型进行增量训练,提升大模型自身的知识储备和认知能力,这也是大模型厂商持续提升模型能力的方式之一。

 

RAG(Retrieval Augmented Generation)

通过在大模型外部构建一套检索体系,解决企业私域知识的提炼和召回问题,并通过prompt让大模型在企业私域知识的背景下返回结

与Fine-Tuning不同,RAG降低了企业对大模型应用的技术门槛,从去年开始一直是受广大非AI专业企业的热衷。本文从多个RAG实践项目提炼经验,探索如何更好的借助RAG框架为企业进行赋能。

 

RAG的机会与痛点

RAG框架的优势在于构建了 Query 和 Generate 的分工机制,在不要求改变大语言模型Generate能力的基础上,实现与企业私域知识的融合。

 

如果没有 Query环节,尽管当下大语言模型的输入宽度最高已经突破百万tokens,但是也难以一次性覆盖企业全部私域知识量;而且如果用户每次问询都伴随巨量tokens的提示词,也是一种性价比极低的方法。所以在当前算力背景下,RAG在大模型应用场景中依然有举足轻重的地位。

基础的RAG框架图:

然而,企业在实践大模型+RAG框架时,有时候会发现某些情况并不尽人意,尽管大模型的推理和生成能力已经日渐成熟,但是受限于RAG框架下文本片段+向量召回机制下的Query准确率问题,往往制约了大模型本身能力的发挥。如何更好的协同RAG框架下QueryGenerate的能力,一直是大模型应用的探索方向之一。

 

RAG的优化实践

为了解决RAG面临的痛点,我们可以把RAG的Query体系归纳为三大环节:知识预处理、用户提问和查询召回。在每个环节下,一步步探索帮助改善Query问题的具体实践:

Part1:知识预处理

RAG从企业各种类型的文件中提取知识内容,这些内容被切割为知识块,作为检索的最小单元。知识块内容质量的好坏,直接影响到后续检索和生成回复的准确率。

 

这个环节我们可以从两个方面进行改善:

1文档规范

企业可以从文档编写和积累源头,对内容加以规范,从而使其被RAG更准确的提取和切割。我们提供几种格式的规范参考:

文本:采用多级标题的段落结构,每个末级标题下的内容不易过长(受切片宽度影响),每个段落内容必须是完整清晰的。

表格:单行表头的表格最佳,行数据避免使用合并单元格的情况。

图片:图片与文字的顺序要清晰,一般word/pdf适合文字上、图片下的布局,ppt可以适合文字上、图片下或文字左、图片右的布局。

PDF:PDF通常是用OCR进行文字提取的,对单换行符不敏感,所以对正文的段落划分,建议采用双换行符的方式,便于识别段落。

 

2内容加工

对于更新频率低的文档,我们可以利用大模型Generate能力对文档内容进行智能化加工,具体实践的方案:

智能摘要:对整篇文档的内容进行摘要提取,摘要可以用于单独匹配用户的问题。

问题预测:对整篇文档或文档片段进行预测问题,生成多个相关的问题短语句,问题短语句可以用于单独匹配用户的问题。

图片加工:仅依靠图片上下文关系或ORC技术对图片进行内容推理的方式并不可靠;可以借助大模型对图片的理解能力,将文档内的图片归纳为文本描述,从而以文本的形式与用户问题匹配

知识图谱:在大模型的帮助下,可以更加智能的提取文档中的重要实体,并构建三元组形式(实体1 - 关系 - 实体2),搭建多文档的知识图谱。

 

Part2:用户提问

用户提问的内容和方法,也是影响RAG准确率的重要因素,对此,我们可以增加更多显性和隐性的互动环节来改善:

 

问题澄清

受到传统文本召回的搜索引擎影响,很多用户习惯于用一个词汇或短语进行提问,这种行为会带来更多的匹配不确定性。借助大模型可以快速构建多种澄清场景,并对用户问题进行判断和追问后,归纳成高质量的完整问题进行信息检索。

 

问题衍生

大模型的Generate能力可以将用户的问题进行相关性衍生,这个环节对用户是隐性的。衍生的相关问题可以分别用于检索更多的知识片段,然后排序合并到大模型的prompt里,确保生成回复的全面性。

 

问题分类器

企业内部往往会同时存在多个领域的知识,这些知识在一起被检索时,往往可能会出现干扰,通过构建一个问题分类器,可以定义不同的分类指向不同的知识库。用户在提问时可以率先明确问题分类,也可以借助大模型能力对问题进行自动分类,结合分类路由实现避免不同领域相似知识的干扰。

Part3:查询召回

该环节是将用户需求与知识储备进行匹配的桥梁,也是RAG框架里重要的一环,回归到Query的本质。自人类进入信息化社会以来,信息的查询和召回一直是一个持续的话题,我们也可以引入优秀的策略和先进的技术来提升召回准确率:

 

向量模型召回

作为RAG框架的首选,也是查询召回的基础能力,面对长文本的向量匹配,我们可以选择更高维度的向量模型来捕获和比较更多特征值,提升准确率。

目前部分向量模型:

模型

维度

Bert向量模型

768

BGE向量模型

1024

GPT向量模型

1536~3072

 

文本向量组合召回

文本召回和向量召回是两种常见的应对海量数据的检索技术,各自具有独特的优缺点。为了提升检索效果,可以将这两者进行有效融合。

例如,可以先进行基于关键词的文本召回,然后在此基础上实施向量召回;或者同时进行文本匹配和向量匹配,最后通过综合评分模型进行结果排序和召回。这样的融合策略有助于提高检索的准确性和效率。

 

重排模型召回

重排模型是一种在低算力、低成本的向量模型与高准确率、高成本的大语言模型之间的折中方案。它结合了向量模型的高效性和大语言模型的语义理解能力,旨在提供更优的检索效果,同时降低计算资源的需求。

重排模型如:商业闭源的Cohere Rerank模型和开源bge-reranker-large模型等都是当下比较热门的重排模型。

 

知识图谱召回

结合对文档预处理的知识图谱构建,我们在查询召回环节可以引用图谱的能力,通过对问题的实体识别,进行关系推理和图谱查询;也可以与文本召回和向量召回相结合,形成一个混合召回策略,提升整体的搜索效果。

 

通过企业内部制度的规范、大模型Generate能力的融入、以及衍生技术工具的升级,使得RAG不单单是一个大模型的外挂系统,而是一个具有流程化的,将企业私域知识和大模型通用能力深度融合的企业实践。在未来,随着科技的不断进步和用户习惯的不断重塑,RAG技术也将会为企业带来新的机遇和挑战。

 

 

在如今的AI时代,我们已经全面步入了大模型时代。飞速发展的大模型及其衍生技术,正在不断推动各行各业的创新与变革。包括RAG在内的这些技术不仅提升了数据处理和决策的效率,更为未来的应用场景开辟了无限可能。从智能助手到自动化决策,从个性化推荐到深度语义理解,未来的AI将更加智能、灵活和人性化。展望未来,我们有理由相信,随着技术的不断进步,AI将更深入地融入我们的生活,改变我们的工作方式,提升我们的生活质量。

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

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

相关文章

Linux系统使用 mkfs.ext4 格式化磁盘分区

Linux系统使用 mkfs.ext4 格式化磁盘分区 1.安装格式化工具大多数系统默认已经安装相关的软件工具。2.修改分区表可以使用 fdisk 或 parted 来修改分区表。3.格式化磁盘格式化指定分区: mkfs.ext4 /dev/vdb1格式化完成后进行优化配置: tune2fs -c -1 /dev/vdb14.挂载磁盘分区…

Day01-标题、字体、引用、分割线、图片、超链接、列表、表格、代码

Day01-标题、字体、引用、分割线、图片、超链接、列表、表格、代码 标题 一级标题:一个井号 空格 回车 二级标题:两个井号 空格 回车 二级标题 三级标题:三个井号 空格 回车 三级标题 ...... (最多到6级标题) 字体 Hello World!!!!!!! 斜…

2024-09-20 如何去除vue前端框架upload组件中的缓存 ==》v-if+setTimeout

在很多前端框架中的upload组件,比如arco-design的a-upload组件,在遍历渲染过程中会发现上传完成后,切换到另一个a-upload组件,它的图片会显示上一个a-upload组件的缓存 正常上传,然后点击红色,红色对应的图片应该被清空,实际上却并没有,如下解决方案:给a-upload组件加…

【python爬虫案例】利用python爬取豆瓣读书评分TOP250排行数据

【python爬虫案例】利用python爬取豆瓣电影TOP250评分排行数据,并导出为excel文档数据一、爬取案例-豆瓣读书TOP250 上一期给大家分享了个python爬虫案例:豆瓣电影TOP250的排行榜数据爬取 【python爬虫案例】利用python爬虫爬取豆瓣电影评分TOP250排行数据! 今天再给大家分享…

多语言长文本 AI 关键字提取 API 数据接口

多语言长文本 AI 关键字提取 API 数据接口 AI / 文本 专有模型极速提取 多语言长文本 / 实时语料库。1. 产品功能支持长文本关键词提取; 多语言关键词识别; 基于 AI 模型,提取精准关键词; 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 / v1.3); 全面兼容 Apple ATS; 全国多…

【Swagger】3.Swagger2的权限控制

想找Swagger的登录认证方式。这里是Swagger2的方式。登录安全控制 Basic身份认证 ApiKey身份认证登录安全控制 Basic身份认证ApiKey身份认证 有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。

Oracle 19C重启库后警告日志报错ORA-12012ORA-27476: SYS.MAX_JOB_SLAVE_PROCESSES does not exist

Oracle 19C重启库后警告日志报错ORA-12012&&ORA-27476: "SYS"."MAX_JOB_SLAVE_PROCESSES" does not exist某次测试机器的19c重启后突然在警告日志定时冒出如下类似的报错:2024-09-20T15:20:00.170202+08:00 TESTDB(7):Errors in file /u01/app/or…

【Swagger】2.不在生产环境暴露,可以修改默认地址

不对外暴露接口 一般来说,接口给内部人员使用和测试的,不对生产环境暴露。此时应该如何设置呢?可以在Swagger配置文件中添加注解:@Profile({"环境名称1","环境名称2"} 或@Profile("环境名称") 这里,注解中不添加生产环境。 此时,开发环境和…

SMT丨工艺特点及详细生产工艺流程

SMT丨工艺特点及详细生产工艺流程 表面组装技术SMT现状 SMT是目前电子组装行业里最流行的一种技术和工艺。自70年代初推向市场以来,SMT已逐渐替代传统"人工插件"的波峰焊组装方式,已成为现代电子组装产业的主流,人们称为电子组装技术的第二次革命。在国际上,这种…

【Swagger】2.——不在生产环境暴露,可以修改默认地址

不对外暴露接口 一般来说,接口给内部人员使用和测试的,不对生产环境暴露。此时应该如何设置呢?可以在Swagger配置文件中添加注解:@Profile({"环境名称1","环境名称2"} 或@Profile("环境名称") 这里,注解中不添加生产环境。 此时,开发环境和…

文件上传漏洞思路详解

1. 文件上传漏洞简介 1.1 什么是文件上传漏洞 文件上传漏洞是一种常见的Web应用程序漏洞,攻击者可以通过向目标服务器上传恶意文件来实现攻击目的。这类漏洞的产生通常是因为服务器没有对用户上传的文件进行充分的安全检查和验证。 1.2 文件上传漏洞有哪些危害 1. 恶意代码执行…

信息学奥赛初赛天天练-93-CSP-S2023阅读程序3-sort排序、同底对数求和、二分查找、二分答案

2023 CSP-S 阅读程序2 判断题正确填 √,错误填 ⨉ ;除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分) 01 #include <vector> 02 #include <algorithm> 03 #include <iostream> 04 05 using namespace std; 06 07 bool f0(vector<int> &a…