1. 首页 > 百货 > 母婴用品

提升AI模型的精准度与效率 Retrieval 引入上下文检索 Contextual

01、概述

在当今的数字时代,人工智能(AI)模型的应用场景越来越广泛,从客户支持聊天机器人到法律分析助手,每一种应用都需要准确的背景知识。为了让AI在特定环境中更有用,开发者通常会利用一种叫做“检索增强生成(RAG)”的方法。这种方法通过从知识库中检索相关信息并将其附加到用户的提示中,从而显著提升模型的响应质量。然而,传统的RAG方案在编码信息时往往会丢失上下文,导致系统无法有效地检索到相关信息。

在本文中,我们将介绍一种名为“上下文检索”的新方法,该方法通过引入两种子技术——上下文嵌入和上下文BM25,显著提升了RAG中的检索步骤。通过这种方法,我们的研究显示,检索失败率减少了49%,而结合重新排序(reranking)时,失败率甚至减少了67%。这一系列的改进直接提高了后续任务的表现。

02、什么是上下文检索?

上下文检索的核心在于在每个文本块前加上特定的上下文说明,这样即便是独立的文本块也能被准确理解。传统的RAG方法通常将知识库中的文档拆分成较小的文本块,这样做虽然提高了检索效率,但也可能导致每个块缺乏足够的上下文信息。例如,在处理财务信息时,如果我们收到这样的问题:“2023年第二季度ACME公司的收入增长是多少?”相关的文本块可能只包含“公司的收入比上一季度增长了3%”,但并没有提到具体是哪个公司,或者增长的时间段。这使得检索信息的准确性大打折扣。

上下文检索解决了这个问题,通过将特定上下文附加到每个块前,确保每个块在被嵌入和创建BM25索引时都能包含足够的背景信息。例如,对于我们提到的SEC文件,原始块“公司的收入比上一季度增长了3%”可以被转换为“这个块来自于关于ACME公司2023年第二季度业绩的SEC文件;上一季度的收入为3.14亿美元。公司的收入比上一季度增长了3%。”

如何实施上下文检索?

当然,手动为数以千计的块注释并不切实际。为了实施上下文检索,我们可以借助Claude。我们编写了一个提示,指导模型为每个块提供简洁的块特定上下文,以提高检索效果。具体的提示如下:

<document>{{WHOLE_DOCUMENT}}</document>这里是我们希望定位的块<chunk>{{CHUNK_CONTENT}}</chunk>请为该块提供简洁的上下文,以便改善该块的检索效果。只回答上下文,不要其他内容。

通过这个过程,我们可以确保上下文信息被有效地附加到每个文本块上。

03、传统RAG方法的局限性

传统的RAG方法在检索时可能会破坏上下文信息。由于文档通常被拆分成较小的块,如果这些块单独存在,可能会导致信息不完整。比如,在处理技术支持数据库时,如果用户查询“错误代码TS-999”,嵌入模型可能会找到关于错误代码的一般信息,但却可能错过确切的“TS-999”匹配。这时,BM25这种基于词汇匹配的老方法则能有效帮助找到确切的匹配。

04、提升检索精度的方法

结合上下文嵌入和BM25,我们可以通过以下步骤显著提升检索的准确性:

通过这种方式,传统的RAG系统可以更全面、准确地检索信息,平衡了精确匹配与广泛语义理解之间的关系。

05、进一步提升性能的重新排序

在传统RAG中,AI系统在检索知识库时,可能会返回大量相关信息块,有时甚至是数百个。这时,重新排序(reranking)成为一种常用的过滤技术,确保只有最相关的块被传递给模型,从而提升响应质量并减少成本和延迟。

重新排序的步骤

通过上下文检索和重新排序的结合,可以进一步优化检索的精度。实验表明,结合上下文嵌入和BM25的重新排序将前20个块的检索失败率减少了67%。

成本与延迟考虑

重新排序的一个重要考虑因素是对延迟和成本的影响,尤其是在需要对大量块进行重新排序时。由于重新排序增加了运行时的额外步骤,虽然它是并行处理的,但不可避免地会增加一些延迟。因此,寻找重新排序更多块以提高性能与减少延迟和成本之间的平衡是至关重要的。

06、结语

通过我们的实验,我们发现以下几条经验总结:

所有这些改进都是相辅相成的,最大化性能提升的方式是将上下文嵌入(来自Voyage或Gemini)、上下文BM25、重新排序步骤以及将20个块添加到提示中结合在一起。

在未来,随着知识库的不断扩展,上下文检索将成为提升AI模型性能的重要工具,帮助开发者更高效地实现智能化的应用。希望本文能为你在AI开发和应用的道路上提供一些有价值的见解与启发。

参考:

基咯咯

原文链接:​ ​​ ​

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://www.jmbhsh.com/muyingyongpin/32671.html

联系我们

QQ号:***

微信号:***

工作日:9:30-18:30,节假日休息