最近在搞一个基于知识库的问答系统,用的是RAG框架,向量检索用的Embedding模型。我发现同一个用户输入,比如“公司去年的营收怎么样”,直接拿这个query去搜,有时候能命中相关文档,有时候完全跑偏,搜出一堆不相关的内容。是不是需要先把用户的query改写一下,再去做向量搜索?比如加一些关键词或者重新组织语言?我试过让LLM自己改写,但感觉效果不太稳定,有时候改写完反而跟原意差很多。想问下大家在实际项目中是怎么处理这个问题的?有没有一些通用的prompt模板或者技巧,能让改写后的query更贴近“向量空间的语义”?先谢谢了。