AI Agent重排序:检索结果重排一下,答案质量提升30%

📘 AI教程 💬 🔥 Trending

🩺 摘要

向量检索的前5个结果不一定是最相关的。让LLM重新排个序,质量立马提升。成本不高,效果明显。

📝 详情

向量检索的工作原理是语义相似度——它找到"看起来像"的文档。但"看起来像"不等于"最有用"。

重排序(Re-ranking)解决的就是这个问题:让LLM对检索结果重新打分,挑出最相关的。

为什么需要重排序?

向量检索找到的前5个结果往往只有2-3个真正相关。直接把5个都塞给LLM,不仅浪费token,还可能被不相关的内容干扰。

重排序的两种方式

方式1:交叉编码器(Cross-encoder) 专门的重排序模型,比向量检索更准但更慢。

from sentence_transformers import CrossEncoder
ranker = CrossEncoder('BAAI/bge-reranker-v2-m3')
scores = ranker.predict([(query, doc) for doc in results])

方式2:LLM重排序 让LLM自己对结果排序。简单灵活,但贵一些。

效果对比

方法 准确率 延迟 额外成本
纯向量检索 62% 10ms 0
向量+重排序 89% +50ms
LLM重排序 94% +500ms

总结

重排序是RAG管道里性价比最高的优化。50ms的额外延迟换30%的准确率提升,这个买卖划算。