最近在搭一个文档问答的RAG demo,用的ChromaDB配BGE-large,结果发现中文长文档检索效果时好时坏。调了chunk_size和overlap,感觉还是不稳定。后来试了换M3E-base,检索准了但回答时引用又对不上号。想问问大家,Embedding模型和向量数据库之间的适配到底怎么考量?是优先看embedding维度还是距离算法?还是说干脆用专门为RAG优化的Milvus或Qdrant会省心点?顺便求个靠谱的评估指标,现在全靠肉眼挑结果,心累。
楼主
20天前
RAG项目里Embedding模型和向量库老打架,怎么选才不翻车?
请 登录 后发表回复
全部回复
共 22 条
2楼
3天前
我也踩过这个坑,BGE-large配Chroma默认的l2距离其实不太搭,改成cosine会稳不少。维度不是关键,距离度量和归一化方式对不上才是检索飘的元凶。引用对不上号通常是chunk切太碎了,召回文档和原文段落没做映射,建议存的时候带上source和位置信息。评估可以试试RAGAS那几个指标,hit rate和MRR先跑起来,比肉眼靠谱多了。
3楼
3天前
换M3E后引用对不上多半是chunk边界问题,跟库关系不大。先拿RAGAS跑一遍再决定要不要换Milvus。