Bi-Encoder | Cross-Encoder | |
---|---|---|
主要功能 | 两个句子分别传入,分别输出Embedding向量,计算两个向量的余弦相似度最为两个句子的相似度 | 两个句子同时传入,输出一个0~1值,表示两个句子的相似度 |
优点 | 余弦相似度,计算速度快 | 1. 可以同时获取两个句子的语义信息,相似度计算结果效果好 2. 相似度结果控制在0~1,方便确认阈值 |
缺点 | 相似程度通过距离远近对比获得,无法确认是否真的相关;结果范围广,无法确定阈值 | 计算速度慢 |
使用场景 | 在数据量比较大的数据集中找到和某个句子相关的数据 | 在小范围数据集中,获取数据与某个句子的相似度得分 |
RAG 中的位置 | 用于数据检索阶段,从向量数据库中获取数据 | 用于重排序阶段,计算检索结果与用户问题的相似度,用于排序或者过滤 |
Bi-Encoder 和 Cross-Encoder 原理示意图
Retrieve & Re-Rank Pipeline
结合 Bi-Encoder 和 Cross-Encoder
参考:
使用样例: