本技術涉及電子,提供一種基于智能體的檢索增強生成方法及相關裝置。
背景技術:
1、隨著大語言模型(large?language?model,llm)的廣泛應用,llm自身基于訓練數據獲取的知識,可能無法覆蓋特定領域或知識密集型任務的需求,llm生成結果會頻繁產生“幻覺”,“幻覺”也即指llm返回與問題無關或事實錯誤的內容。
2、為緩解llm產生“幻覺”,檢索增強生成(retrieval-augmented?generation,rag)被提出。rag技術從外部知識庫檢索出相關文檔塊作為大語言模型的上下文,為大語言模型提供與問題相關的額外知識以增強llm的能力,從而有效緩解了生成文本中的幻覺問題。如何高效提升用于llm的檢索增強的效率,成為亟需解決的問題。
技術實現思路
1、本技術實施例提供一種基于智能體的檢索增強生成方法及相關裝置,用以提高檢索增強效率,降低llm生成結果中出現幻覺的情況。
2、第一方面,本技術是實施例提供一種基于智能體的檢索增強生成方法,所述方法包括:
3、智能體集合根據第一文本,確定是否需要檢索增強處理;以及若確定需要檢索增強處理,基于所述第一文本,在知識庫中檢索得到多個文本塊;基于所述第一文本和所述多個文本塊,生成第一文本對應的第二文本;將所述第二文本提供給大語言模型;
4、所述大語言模型根據所述智能體集合提供的文本,輸出所述第一文本對應的第三文本。
5、本技術實施例中,智能體集合中可以包括多個智能體,由多個智能體協同進行檢索增強處理。這樣的設計可以提高處理速度,提升檢索增強效果,使得第二文本具有較高質量,可以降低llm出現“幻覺”的概率。
6、在一種可能的實施方式中,本技術實施例提供的基于智能體的檢索增強方法中,所述智能體集合包括第一智能體和第二智能體;
7、其中,所述第一智能體根據第一文本,確定是否需要檢索增強處理;以及若確定需要檢索增強處理,基于所述第一文本,在知識庫中檢索得到多個文本塊;
8、所述第二智能體基于所述第一文本和所述多個文本塊,生成第一文本對應的第二文本;將所述第二文本提供給所述大語言模型。
9、本技術實施例中,智能體集合中可以包括第一智能體和第二智能體。由第一智能體在知識庫中檢索得到多個文本塊。由第二智能體基于多個文本塊和第一文本,生成第二文本。這樣的設計可以充分利用第一智能體的潛力和第二智能體的潛力,智能體集合整體運行的靈活性。
10、在一種可能的實施方式中,本技術實施例提供的基于智能體的檢索增強方法中,所述基于所述第一文本和所述多個文本塊,生成第一文本對應的第二文本,包括:
11、基于多個文本塊中的每個文本塊與所述第一文本的相似度,確定出最大的k個相似度對應的目標文本塊,所述k為大于或等于2的整數;
12、對每個所述目標文本塊,基于所述目標文本塊中與所述第一文本相關的內容,以及所述第一文本,生成所述第一文本對應的第二文本。
13、本技術實施例中,從多個文本塊中,確定出k個目標文本塊,可以實現對檢索出的文本塊進行過濾。降低文本塊內容的冗余度,提高檢索內容的有效率,減少大語言模型生成第三文本中出現幻覺的概率。
14、在一種可能的實施方式中,本技術實施例提供的基于智能體的檢索增強方法中,所述智能體集合包括第一智能體、第二智能體和第三智能體;
15、其中,所述第一智能體根據第一文本,確定是否需要檢索增強處理;以及若確定需要檢索增強處理,基于所述第一文本,在知識庫中檢索得到多個文本塊;
16、所述第三智能體基于所述第一智能體提供的文本塊中的每個文本塊與所述第一文本的相似度,確定出最大的k個相似度對應的文本塊,并輸出至所述第二智能體,所述k為大于或等于2的整數;或者,所述第三智能體將所述多個文本塊輸出至所述第二智能體;
17、所述第二智能體用于接收多個目標文本塊,以及基于所述目標文本塊中與所述第一文本相關的內容,以及所述第一文本,生成所述第一文本對應的第二文本;將所述第二文本提供給所述大語言模型,其中,所述目標文本塊所述第三智能體提供的文本塊。
18、本技術實施例中,第一智能體用于在知識庫中檢索出多個文本塊,第三智能體可以根據預設策略,向第二智能體提供度多個文本塊或者多個文本塊中的k個文本快。第三智能體的執行過程,可以提高檢索增強方法的靈活性。
19、在一種可能的實施方式中,本技術實施例提供的基于智能體的檢索增強方法中,所述第一智能體基于所述第一文本,在知識庫中檢索得到多個文本塊,包括:
20、基于所述第一文本,在預設的知識庫中進行混合檢索處理,所述混合檢索處理包括至少兩種檢索方式;
21、根據各檢索方式對應的權重參數和各檢索方式對應的檢索結果,得到所述多個文本塊,其中在所述多個文本塊中任一檢索方式對應的檢索結果與所述多個文本塊的比值,為所述任一檢索方式對應的權重參數。
22、本技術實施例中,在知識庫中檢索得到多個文本塊的過程中可以采用混合檢索處理的操作,并利用不同檢索方式進行檢索,并根據各檢索方式對應的權重參數,將各檢索方式對應的檢索結果進行混合,得到多個文本塊。這樣的設計可以提高從知識庫檢索出文本塊的質量。
23、在一種可能的實施方式中,本技術實施例提供的基于智能體的檢索增強方法中,所述智能體集合還包括第四智能體;所述方法還包括:
24、所述第四智能體基于所述第三文本和所述第二文本對應的檢索方式,更新各檢索方式對應的權重參數。
25、本技術實施例中,不同檢索方式對應的權重參數是動態更新的,這樣的設計可以使得從知識庫中檢索出的文本塊的質量較為穩定性。
26、在一種可能的實施方式中,本技術實施例提供的基于智能體的檢索增強方法中,所述至少兩種檢索方式包括全文檢索方式;所述智能體集合包括第三智能體;所述方法還包括:
27、所述第三智能體接收所述第一智能體提供的多個文本塊;
28、所述第三智能體在確定所述多個文本塊的數量小于第一數量閾值時,或者在確定所述全文檢索方式對應的權重參數大于或等于預設參數閾值,且所述多個文本塊的數量小于第二數量閾值時,將所述多個文本塊發送給所述第二智能體,所述第一數量閾值小于所述第二數量閾值。
29、本技術實施例中,第三智能體根據預設的條件,判斷是否對多個文本塊進行過濾處理,這樣的設計具有較高靈活性,可以滿足較為廣泛的應用場景。
30、第二方面,本技術實施例還提供一種電子設備,可以包括處理器和存儲器,其中,所述存儲器存儲有計算機程序,當所述計算機程序被所述處理器執行時,使得所述處理器執行如上述第一方面或上述第一方面的任意一種可能實施方式提供的基于智能體的檢索增強生成方法的步驟。
31、第三方面,本技術實施例提供一種計算機可讀存儲介質,其包括計算機程序,當所述計算機程序在電子設備上運行時,所述計算機程序用于使所述電子設備執行上述第一方面或上述第一方面的任意一種可能實施方式提供的基于智能體的檢索增強生成方法的步驟。
32、第四方面,本技術提供一種計算機程序產品,當所述計算機程序產品在計算機上運行時,使得所述計算機執行上述第一方面或上述第一方面的任意一種可能實施方式提供的基于智能體的檢索增強生成方法的步驟。
33、本技術的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本技術而了解。本技術的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。