最近在搞一个基于私有文档的问答系统,用LangChain搭了RAG流程,嵌入用的是text-embedding-3-small,生成模型试了GPT-4o-mini和本地部署的Llama 3.1-8B。但发现检索出来的top-3 chunk有时候跟问题不相关,或者模型直接忽略检索内容自己编。试了调chunk_size(从500到800)和重叠(overlap=100或200),效果时好时坏。想问下大家在实际项目中,向量库(比如Chroma或FAISS)的索引参数(如nlist)和生成模型的温度、top_p怎么配合才能稳定输出?还是说我该换个更好的嵌入模型?有点懵,求指点。
楼主
2026-07-19
用LangChain做RAG时,向量库和生成模型怎么搭配效果最好?
请 登录 后发表回复
全部回复
共 181 条
2楼
1天前
你这个问题其实不全在向量库参数上,text-embedding-3-small对中文私有文档确实有点吃力,换bge-m3或者gte-large试试会明显不一样。检索不相关很多时候是query和chunk语义没对齐,可以加个rerank模型过滤一下top结果,比调nlist管用多了。生成端温度直接调到0.1以下,top_p 0.9左右,再在prompt里硬性要求“只根据上下文回答,没有就说不知道”,能压住不少幻觉。chunk_size不用死磕,按文档结构切比固定长度强,overlap 100够用了。