在比较 RAG 系统的检索器或向量搜索配置时,重点关注三个核心标准:相关性、排序质量和效率。这些指标有助于确定哪种配置能够检索到对下游任务最有用的信息,同时平衡性能和资源限制。下面,我们将通过实际示例详细介绍每个类别。
首先,相关性衡量检索到的文档与查询意图的匹配程度。关键指标包括精确率(检索到的相关文档占检索总数的百分比)和召回率(检索到的相关文档占数据集中所有相关文档的百分比)。例如,如果查询“Python 线程”返回 5 个文档,其中 3 个关于多线程,而 2 个不相关,则精确率为 60%。然而,召回率取决于整个数据集中存在多少相关文档。召回率较高的检索器能确保更少关键文档被遗漏,这对于 RAG 的回答质量至关重要。您还可以评估上下文相关性——检索到的文本片段是否包含回答查询所需的特定细节(例如,技术问题的代码示例)。
其次,排序质量评估最相关的文档是否出现在结果列表的顶部。这里的关键指标包括平均倒数排序 (MRR) 或top-k 准确率(例如,正确文档是否在排名前 3 的结果中)。例如,如果检索器 A 将正确答案排在第一位的频率是 80%,而检索器 B 是 60%,那么对于通常优先考虑靠前结果的 RAG 生成器来说,A 可能更好。此外,测试配置如何处理模糊查询。如果查询“Java”指的是编程语言但返回了咖啡相关的文章,则可能需要调整排序逻辑(或嵌入模型)。
最后,效率评估速度和资源使用。这包括延迟(返回结果所需的时间)和吞吐量(每秒处理的查询数量)。例如,暴力向量搜索可能具有完美的准确率,但对于实时应用来说太慢,而像 HNSW 索引这样的近似方法则可以在准确率损失最小的情况下提供更快的检索结果。此外,还要考虑内存使用——某些向量数据库需要大量的内存分配,可能不易扩展。根据您的应用需求平衡这些因素:研究工具可能优先考虑召回率,而面向客户的聊天机器人则需要低延迟。
总之,优先考虑相关性以确保生成器的输入质量,关注排序以快速呈现最佳结果,并注重效率以满足性能要求。使用实际查询和数据集测试不同配置,以识别权衡(例如,召回率下降 5% 换取速度提升 2 倍)。这种结构化的方法可确保您选择最符合 RAG 系统目标的检索器。