RAG进阶:
ColBERT是一种不同于传统embedding模型也不同于rerank模型的向量检索模型。
之前有提到,embedding是双编码器,rerank是交叉编码器。
ColBert也是双编码器但是其面向的对象是词。普通embedding面向的是句子或段落。
比如
q:["上海","旅行","攻略"]
doc1["南京","吃饭","攻略"]
doc2["上海","旅游","指南"]
q中的词会与doc的词进行相似性比对,然后得到每个doc的MaxSim,进而得出匹配分数。
✅场景和优点:
基于以上的策略colbert的使用效果是介于双编码和交叉编码之间的,所以兼具效率和精度,在比较轻量级的场景下可以单独使用。
colbert还有个优点就是比bm25更加精准,所以也可用来替代bm25(bm25也是基于词进行检索的)
❌慎用:
文档库超10亿(普通双塔)
毫秒级响应(还是用bm25吧)
#AIGC
#AI应用工程师 #AI产品经理
#RAG #ColBERT
#深度学习
图一编码方式
图二各种编码方式对比
图三 MaxSim计算方法
我为啥要在即刻发这种东西。。。