兄弟们,最近社区里聊RAG的帖子越来越多,但我发现很多人还在纠结“用什么embedding模型”、“选哪个向量数据库”。这些当然重要,但真正上线后你会发现——检索质量才是决定RAG生死的关键。
先说痛点:单纯向量检索容易召回“长得像但语义不对”的内容,尤其技术文档里,相似术语太多。我们试过几招:1)混合检索(向量+BM25),召回率直接提升15%+;2)对chunk做层级化切割,比如按段落+摘要索引,避免大块信息丢失;3)查询重写——把“怎么部署”扩展成“模型部署需要哪些步骤”,语义对齐效果明显。
模型部署方面,推荐用LangChain或LlamaIndex搭pipeline,方便切换检索策略。推理时注意控制chunk数量,建议TOP-K取5-10个,多了噪音大、响应慢。如果生产环境压力大,可以提前做rerank(比如用bge-reranker-v2),成本不高但准确率再涨一截。
最后问一句:你们在RAG落地中踩过最大的坑是什么?是检索结果不相关,还是生成时上下文丢失?留言聊聊,一起避雷 💪 |