到目前为止,我们一直专注于改进 RAG 系统使用的数据。但是查询本身呢?
源代码
https://github.com/CrazyAndy/rag-all-techniques/blob/main/app/06_query_transformation.py
一、优化用户问题
通常,用户表达问题的方式并不是搜索我们知识库的最佳方式。查询转换旨在解决此问题。我们将探讨三种不同的方法:
- Query Rewriting: Making the query more specific and detailed.
查询重写: 使查询更加具体和详细,更加专业。 - Step-back Prompting: 后退提示: 创建更广泛、更通用的查询来检索后台上下文,可能会检索有用的背景信息。
- Sub-query Decomposition: 子查询分解: 将原始查询分解为几个更小、更有针对性的问题。这个想法是,这些子查询放在一起,可能比任何单个查询都更好地涵盖原始查询的意图。
大家一起来讨论