准确地找到与用户查问最关系的消息是RAG系统成功的主要,如何协助检索系统优化召回的成果是RAG系统钻研的抢手方向,之前的文章引见了在分块阶段的优化方法:RAG初级优化:基于疑问生成的文档检索增强。本文将引见三种query了解的方法,以增强检索增强生成(RAG)系统中的检索环节:
每种技术都旨在经过修正或裁减原始查问来提高检索消息的关系性和片面性。
query转化的好处
RAG系统在检索最关系的消息时经常面临应战,特意是在处置复杂或含糊的查问时。这些查问转换技术经过从新制订查问以更好地婚配关系文档或检索更片面的消息来处置这个疑问。
示例查问 :“气象变动对环境的影响是什么?”
查问重写 ,将其裁减到包含特定方面,如温度变动和动物多样性。
step-back揭示 ,将其概括为“气象变动的普通影响是什么?”
子查问合成 ,将其合成为动物多样性、陆地、天气形式和陆地环境等疑问。
这些查问转换技术为增强RAG系统的检索才干提供了弱小的方法。经过以各种形式从新表述查问,它们可以清楚提高检索消息的关系性、高低文和片面性。这些方法在查问复杂或多方面的畛域中特意有价值,例如迷信钻研、法律剖析或片面的理想查找义务。
打算引见
目标: 使查问愈加详细和详细,提高检索关系消息的或者性。
打算: 重写确实认样不只与原始查问相似,而且还提供不同的角度或透视图,从而提高最终生成的品质和深度。
目标: 生成更宽泛、更通用的查问,协助检索关系的背景消息。
打算: 前进揭示(Step-Back Prompting)旨在经过思考上档次的概念和准则来处置复杂疑问,与间接处置疑问的方法构成对比。“形象的目标不是为了让你更迷糊,而是创立了相对准确的新的语义档次”。
目标: 将复杂查问合成为更便捷的子查问,以便更片面地检索消息。
打算: Query合成主要思维是将一个复杂疑问合成成一系列更便捷的子疑问,而后依次处置它们。处置每个子疑问都得益于之前处置的子疑问的答案。
打算成功和举例
本节咱们将引见上述方法的详细成功,同时给出对应的prompt,并举例说明成果:一切技术都经常使用大模型启动查问转换;自定义揭示模板用于指点模型生成适当的转换,代码为每种转换技术提供了独自的配置,准许轻松地集成到现有的RAG系统中。
从新表述查问以改良检索。
query_rewrite_template = """You are an AI assistant tasked with reformulating user queries to improve retrieval in a RAG system.Given the original query, rewrite it to be more specific, detailed, and likely to retrieve relevant information.Original query: {original_query}Rewritten query:"""query_rewrite_prompt = PromptTemplate(input_variables=["original_query"],template=query_rewrite_template)
运转例子:
# example query over the understanding climate change>