最近在把一个基于LangChain的RAG服务部署到生产环境,用的vLLM跑Qwen2.5-7B,向量库是Milvus。本地测试时感觉还行,但上线后并发一上来就发现首token延迟飙到3-5秒,用户反馈很卡。自己看了下链路,感觉是检索和LLM生成串行导致的,但不确定瓶颈到底在embedding、向量检索还是prompt拼接上。也试过调vLLM的prefill参数,但效果不明显。想问下大佬们,这种场景一般怎么优化?是走rerank加缓存,还是把检索和生成改成异步,或者直接上更小的模型?希望有实战经验的朋友能指点一下,先谢过了。