一个 RAG 技巧:对用户查询进行重写
比如说有一段历史会话:
> 用户:John Doe 上次从我们这里买东西是什么时候?
> AI:John 上次是两周前的2030年1月3日,从我们这里买了一顶 Fruity Fedora 帽子。
> 用户:那 Emily Doe 呢?
最后一个问题,“那 Emily Doe 呢?”,是模糊的。如果你直接用这个查询来检索文档,可能会得到无关的结果。你需要重写这个查询以反映用户实际在问什么。新的查询应该有意义。
最后一个问题应该被重写为:“Emily Doe 上次从我们这里买东西是什么时候?”
这种查询重写需要借助 LLM 来做,提示词:
> 给定以下对话,重写最后一个用户输入以反映用户实际在问什么:
>【历史会话】
点击图片查看原图