为什么你的RAG不起作用?失败的主要原因和解决方案
数据派THU
共 6432字,需浏览 13分钟
·
2024-06-17 17:30
来源:DeepHub IMBA 本文约4200字,建议阅读5分钟
本文揭示了普通RAG失败的主要原因,并提供具体策略和方法,使您的RAG更接近生产阶段。
-
区分理想形态的RAG的前景与普通RAG的现实 -
解释语义不协调是如何产生的 -
介绍如何判断和缓解语义不协调 -
总结一些额外的高ROI策略,使RAG更加接近生产质量
为什么选用RAG?
RAG是有前途的,普通RAG只是开始
-
(红、绿、蓝)颜色调色板是一个向量,每个值介于0-255之间。 -
通过行业标准如Barra,可以将股票表示为一个向量,量化其对经济因素(如广泛增长、利率变化等)的敏感度。 -
像Netflix这样的平台可以将用户偏好分解为一个向量,其中的组成部分可以表示类型和其他特征。
Text1 (definition): “Rain is the precipitation of water droplets from clouds, falling to the ground when they become too heavy to stay suspended in air.” Text2 (mentions rain): “The winds blowing moisture over the mountains are responsible for rain in Seattle.” Text3 (irrelevant info): “Stripe is a payments infrastructure business.”
语义不协调造成问题
-
噪声(随机,无关文本):余弦相似性在0.04–0.23之间。 -
策略1(仅表结构):值在0.17–0.25之间(与噪声一致)。 -
策略2(表结构 + 描述):值在0.14–0.25之间(仍然与噪声一致)。 -
策略3(表结构 + 描述 + 示例问题):值在0.23–0.30之间。明显改善,我们开始从噪声中看到信号。 -
策略4(仅示例问题):值在0.30–0.52之间。明显是表现最好的策略,并且完全超出了噪声范围。,它导致正确表与错误表之间的余弦相似性有了最大的分离,从而产生了更强的信号。
进一步提高你的RAG的策略
-
对于每个文档,让ChatGPT生成它可以回答的100个问题列表 -
这些问题不会完美,因此对于你生成的每个问题,计算其与其他每个文档的余弦相似性 -
筛选出那些会将正确文档排在所有其他文档之前的问题 -
通过排序那些正确文档与第二名文档的余弦相似性差异最大的问题,来识别最高质量的问题 -
发送给人类进行进一步的判断(这步就要人工成本了)
总结
评论