自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

RAG高級優(yōu)化:一文看盡Query的轉(zhuǎn)換之路

人工智能
RAG系統(tǒng)在檢索最相關(guān)的信息時經(jīng)常面臨挑戰(zhàn),特別是在處理復雜或模糊的查詢時。這些查詢轉(zhuǎn)換技術(shù)通過重新制定查詢以更好地匹配相關(guān)文檔或檢索更全面的信息來解決這個問題。

準確地找到與用戶查詢最相關(guān)的信息是RAG系統(tǒng)成功的關(guān)鍵,如何幫助檢索系統(tǒng)提升召回的效果是RAG系統(tǒng)研究的熱門方向,本文將介紹三種query理解的方法,以增強檢索增強生成(RAG)系統(tǒng)中的檢索過程:

  • 查詢重寫:重新定義查詢,使其更加具體和詳細。
  • Step-back提示:生成更廣泛的查詢,以獲得更好的上下文檢索。
  • 子查詢分解:將復雜查詢分解為更簡單的子查詢。

每種技術(shù)都旨在通過修改或擴展原始查詢來提高檢索信息的相關(guān)性和全面性。

query轉(zhuǎn)化的優(yōu)點

RAG系統(tǒng)在檢索最相關(guān)的信息時經(jīng)常面臨挑戰(zhàn),特別是在處理復雜或模糊的查詢時。這些查詢轉(zhuǎn)換技術(shù)通過重新制定查詢以更好地匹配相關(guān)文檔或檢索更全面的信息來解決這個問題。

  • 提升相關(guān)性:查詢重寫有助于檢索更具體和相關(guān)的信息。
  • 更好的上下文:后退提示允許檢索更廣泛的上下文和背景信息。
  • 綜合結(jié)果:子查詢分解支持檢索涵蓋復雜查詢的不同方面的信息。
  • 靈活性:每種技術(shù)可以單獨使用,也可以結(jié)合使用,這取決于具體的用例。

示例介紹

示例查詢:“氣候變化對環(huán)境的影響是什么?”

查詢重寫,將其擴展到包括特定方面,如溫度變化和生物多樣性。

step-back提示,將其概括為“氣候變化的一般影響是什么?”

子查詢分解,將其分解為生物多樣性、海洋、天氣模式和陸地環(huán)境等問題。

結(jié)論

這些查詢轉(zhuǎn)換技術(shù)為增強RAG系統(tǒng)的檢索能力提供了強大的方法。通過以各種方式重新表述查詢,它們可以顯著提高檢索信息的相關(guān)性、上下文和全面性。這些方法在查詢復雜或多方面的領(lǐng)域中特別有價值,例如科學研究、法律分析或全面的事實查找任務(wù)。

方案介紹

1. 查詢重寫

目的:使查詢更加具體和詳細,提高檢索相關(guān)信息的可能性。

方案:重寫的確認樣不僅與原始查詢相似,而且還提供不同的角度或透視圖,從而提高最終生成的質(zhì)量和深度。

圖片圖片

2. Step-back提示

目的:生成更廣泛、更通用的查詢,幫助檢索相關(guān)的背景信息。

方案:后退提示(Step-Back Prompting)旨在通過考慮高層次的概念和原則來解決復雜問題,與直接解決問題的方法形成對比?!俺橄蟮哪康牟皇菫榱俗屇愀院莿?chuàng)建了絕對精確的新的語義層次”。

圖片圖片

3. 子查詢分解

目的:將復雜查詢分解為更簡單的子查詢,以便更全面地檢索信息。

方案:Query分解關(guān)鍵思想是將一個復雜問題分解成一系列更簡單的子問題,然后依次解決它們。解決每個子問題都得益于之前解決的子問題的答案。


圖片圖片

方案實現(xiàn)和舉例

本節(jié)我們將介紹上述方法的具體實現(xiàn),同時給出對應的prompt,并舉例說明效果:所有技術(shù)都使用大模型進行查詢轉(zhuǎn)換;自定義提示模板用于指導模型生成適當?shù)霓D(zhuǎn)換,代碼為每種轉(zhuǎn)換技術(shù)提供了單獨的功能,允許輕松地集成到現(xiàn)有的RAG系統(tǒng)中。

1 -查詢重寫

重新表述查詢以改進檢索。

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 dataset
original_query = "氣候變化對環(huán)境的影響是什么?"
rewritten_query = rewrite_query(original_query)
print("Original query:", original_query)
print("\nRewritten query:", rewritten_query)

效果展示:

Original query: 氣候變化對環(huán)境的影響是什么?


Rewritten query: 氣候變化對各種生態(tài)系統(tǒng)的具體影響是什么,包括溫度、降水模式、海平面和生物多樣性的變化?

2 -退步提示

生成更廣泛的查詢,以便更好地檢索上下文。

# Create a prompt template for step-back prompting
step_back_template = """You are an AI assistant tasked with generating broader, more general queries to improve context retrieval in a RAG system.
Given the original query, generate a step-back query that is more general and can help retrieve relevant background information.


Original query: {original_query}


Step-back query:"""


step_back_prompt = PromptTemplate(
    input_variables=["original_query"],
    template=step_back_template
)

運行例子

original_query = "氣候變化對環(huán)境的影響是什么?"
step_back_query = generate_step_back_query(original_query)
print("Original query:", original_query)
print("\nStep-back query:", step_back_query)

效果展示:

Original query: 氣候變化對環(huán)境的影響是什么?


Step-back query: 氣候變化的一般影響是什么?

3-子查詢分解

將復雜查詢分解為更簡單的子查詢。

subquery_decomposition_template = """You are an AI assistant tasked with breaking down complex queries into simpler sub-queries for a RAG system.
Given the original query, decompose it into 2-4 simpler sub-queries that, when answered together, would provide a comprehensive response to the original query.


Original query: {original_query}


example: What are the impacts of climate change on the environment?


Sub-queries:
1. What are the impacts of climate change on biodiversity?
2. How does climate change affect the oceans?
3. What are the effects of climate change on agriculture?
4. What are the impacts of climate change on human health?"""




subquery_decomposition_prompt = PromptTemplate(
    input_variables=["original_query"],
    template=subquery_decomposition_template
)

運行例子:

original_query = "氣候變化對環(huán)境的影響是什么?"
sub_queries = decompose_query(original_query)
print("\nSub-queries:")
for i, sub_query in enumerate(sub_queries, 1):
    print(sub_query)

效果展示:

Sub-queries:
Original query: 氣候變化對環(huán)境的影響是什么?
1. 氣候變化如何影響生物多樣性和生態(tài)系統(tǒng)?
2. 氣候變化對海洋環(huán)境和海洋生物有什么影響?
3. 氣候變化如何影響天氣模式和極端天氣事件?
4. 氣候變化對陸地環(huán)境,如森林和沙漠有什么影響?


責任編輯:武曉燕 來源: 哎呀AIYA
相關(guān)推薦

2020-01-07 14:24:18

人工智能機器學習技術(shù)

2021-01-04 14:59:50

AIAI技術(shù)機器學習

2020-01-30 10:30:32

AI 數(shù)據(jù)人工智能

2024-06-24 14:32:33

2024-08-05 13:00:00

2025-04-10 00:12:00

2018-05-22 10:09:09

數(shù)據(jù)庫MySQL優(yōu)化原理

2024-06-24 08:05:00

人工智能AI

2019-08-29 10:10:52

神經(jīng)網(wǎng)絡(luò)激活函數(shù)人工智能

2024-07-08 12:44:11

2020-12-23 16:40:09

AI 數(shù)據(jù)人工智能

2021-06-01 11:44:54

數(shù)博會

2022-08-01 14:59:57

Web前端后端

2023-12-26 12:18:02

Java設(shè)計開發(fā)

2023-11-28 09:31:55

MySQL算法

2024-03-28 10:08:31

自動駕駛工具

2018-05-25 10:51:50

數(shù)據(jù)保護進

2023-01-31 13:25:58

SOTA生成式模型

2024-04-26 00:01:00

Go語言類型

2021-02-06 13:45:59

SQL子查詢數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號