兄弟们,最近肝了几个RAG项目,发现个扎心事实:80%的翻车事故都出在检索环节。😅
**1. 检索不是简单拼装**
别以为搭个向量数据库+LLM就叫RAG。embedding模型选哪个?chunk size设多少?分块策略用递归还是语义?上周踩坑,用`text-embedding-ada-002`检索专业代码文档,召回率直接拉胯。换`bge-m3`微调后,效果才勉强能看。
**2. 重排序才是隐藏大佬**
实测不加reranker,Top-5结果里经常混进无关内容。推荐`BAAI/bge-reranker-v2-m3`,但注意推理时延——线上部署建议用vLLM或TGI压测。我司生产环境把reranker做成异步任务,才压住500ms的P99延迟。
**3. 索引优化虐哭运维**
单表10万条文档?用`pgvector`的IVFFlat索引,每秒QPS撑死800。切到`Milvus`+HNSW后,性能翻3倍。但建索引时内存直接吃满32G,建议分批构建。
最后留个讨论:你们在RAG中踩过最诡异的坑是啥?是LLM幻觉还是检索噪声?欢迎分享翻车经验,一起避雷!💪 |