大家好,我是 同学小张,+v: jasper_8017 一起交流,持续学习C++进阶、OpenGL、WebGL知识和AI大模型应用实战案例,持续分享,欢迎大家点赞+关注,共同学习和进步。
AI大模型应用开发,常常是做出Demo容易,但在实际生产中落地很难。尤其是RAG框架下的应用。
前面文章中,我们系统的总结和讨论过可能影响RAG效果的节点,以及如何解决这些问题:【AI大模型应用开发】【RAG优化 / 前沿】0. 综述:盘点当前传统RAG流程中存在的问题及优化方法、研究前沿

这些痛点和解决方法,可以在一定程度上说明RAG调优的路径。最近,又看到一篇外网文章在讨论RAG为什么效果不好,今天通过这篇文章也分享给大家,希望在上篇文章和这篇文章中,大家能有所收获。
0. 语义不一致导致效果不好
这是这篇文章最主要的观点,其重点研究了RAG的语义不一致问题,以及提出了一种解决思路。
语义不一致是指任务的预期含义、RAG 对它的理解以及存储的底层知识之间的不一致。大白话说,就是检索回来的相关文本其实与用户的问题没有多少关系…
嵌入向量(Embedding)是RAG的底层知识,在RAG中,最常用的比较向量相似性的度量方法是使用余弦相似度。但其可解释性很差:
(1)向量在完全捕捉给定语句的语义内容方面存在固有缺陷。
(2)余弦相似度不一定能产生精确的排名
举一个例子,以"什么是雨?"这个问题为例,有以下三个句子:
-
文本 1(定义):“雨是从云中析出的水滴,当它们变得太重而无法悬浮在空中时就会落到地面。”
-
文本 2(提到下雨):“风把水分吹过山上,导致西雅图下雨。”
-
文本 3(不相关信息):“Stripe 是一家支付基础设施公司。”
其余弦相似度结果如下:

从上表可以看出,使用两个不同的 OpenAI 模型得到的余弦相似度的范围和解释截然不同。对于第一个模型,0.73 表示完全不相关的匹配,而对于第二个
订阅专栏 解锁全文
1431

被折叠的 条评论
为什么被折叠?



