本發(fā)明涉及數(shù)據(jù)處理,尤其涉及一種基于思維鏈的檢索增強(qiáng)生成系統(tǒng)及數(shù)據(jù)處理方法。
背景技術(shù):
1、大語(yǔ)言模型(large?language?model,llm)可以通過(guò)在龐大的數(shù)據(jù)集上進(jìn)行訓(xùn)練來(lái)獲得有關(guān)各種主題的廣泛知識(shí),大語(yǔ)言模型輸出實(shí)質(zhì)上是一系列數(shù)值運(yùn)算。大語(yǔ)言模型會(huì)存在知識(shí)缺陷或者幻覺(jué)問(wèn)題,尤其是在大語(yǔ)言模型自身不具備某一方面的知識(shí)或不擅長(zhǎng)的場(chǎng)景,而這些問(wèn)題的區(qū)分是比較困難的,因?yàn)槠湟笫褂谜咦陨砭邆湎鄳?yīng)領(lǐng)域的知識(shí)。
2、為了避免大語(yǔ)言模型的知識(shí)缺陷和幻覺(jué),目前采用了一種檢索增強(qiáng)生成(retrieval?augmented?generation,rag)的方法,對(duì)用戶(hù)問(wèn)題通過(guò)自有知識(shí)庫(kù)的知識(shí)檢索,獲得相關(guān)信息,然后與大語(yǔ)言模型的原有提示詞合并成為提示詞模板,生成漂亮的答案,避免大語(yǔ)言模型llm的知識(shí)局限和幻覺(jué)。
3、但是,目前通過(guò)rag得到的答案缺乏透明性,用戶(hù)無(wú)法追蹤大語(yǔ)言模型如何整合知識(shí)檢索的內(nèi)容,而且rag在復(fù)雜任務(wù)的錯(cuò)誤累積問(wèn)題也會(huì)對(duì)最終答案的可靠性產(chǎn)生影響。
4、因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的主要目的在于提供一種基于思維鏈的檢索增強(qiáng)生成系統(tǒng)和數(shù)據(jù)處理方法,旨在解決現(xiàn)有技術(shù)中的通過(guò)rag得到的答案缺乏透明性,且rag的錯(cuò)誤累積會(huì)對(duì)最終答案的可靠性產(chǎn)生影響的問(wèn)題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于思維鏈的檢索增強(qiáng)生成系統(tǒng),所述基于思維鏈的檢索增強(qiáng)生成系統(tǒng)包括:
3、所述用戶(hù)接口模塊、所述答案生成模塊、所述答案分割模塊、所述答案修正模塊和所述答案優(yōu)化模塊依次形成閉環(huán)連接,所述答案修正模塊還與所述知識(shí)檢索模塊連接;
4、所述用戶(hù)接口模塊用于接收用戶(hù)輸入的問(wèn)題,并將所述問(wèn)題發(fā)送給所述答案生成模塊;
5、所述答案生成模塊用于對(duì)所述問(wèn)題進(jìn)行處理,生成初步答案,并將所述初步答案發(fā)送給所述答案分割模塊;
6、所述答案分割模塊用于將所述初步答案按照預(yù)設(shè)結(jié)構(gòu)進(jìn)行分割和重組,得到多個(gè)初始答案段落,將多個(gè)所述初始答案段落打包得到思維鏈,并將所述思維鏈和所述初步答案發(fā)送給所述答案修正模塊;
7、所述答案修正模塊用于為所述思維鏈中的每個(gè)所述初始答案段落分別生成查詢(xún)語(yǔ)句,并將多個(gè)所述查詢(xún)語(yǔ)句發(fā)送給所述知識(shí)檢索模塊;
8、所述知識(shí)檢索模塊用于根據(jù)多個(gè)所述查詢(xún)語(yǔ)句分別生成檢索結(jié)果,并將多個(gè)所述檢索結(jié)果發(fā)送給所述答案修正模塊;
9、所述答案修正模塊用于使用多個(gè)所述檢索結(jié)果將對(duì)應(yīng)的所述初始答案段落進(jìn)行修正和更新,得到多個(gè)更新答案段落,將多個(gè)所述更新答案段落組成更新答案,并將所述更新答案和所述初步答案發(fā)送給所述答案優(yōu)化模塊;
10、所述答案優(yōu)化模塊用于對(duì)所述更新答案進(jìn)行優(yōu)化和整合,得到優(yōu)化答案,將所述優(yōu)化答案和所述初步答案發(fā)送給所述用戶(hù)接口模塊;
11、所述用戶(hù)接口模塊還用于將所述優(yōu)化答案和所述初步答案展示給用戶(hù)。
12、可選地,所述的基于思維鏈的檢索增強(qiáng)生成系統(tǒng),其中,所述答案修正模塊包括查詢(xún)語(yǔ)句生成單元、段落修訂單元和驗(yàn)證合并單元;
13、所述查詢(xún)語(yǔ)句生成單元用于接收所述思維鏈中的每個(gè)所述初始答案段落,從每個(gè)所述初始答案段落中分別提取出段落核心問(wèn)題,根據(jù)多個(gè)所述段落核心問(wèn)題生成多個(gè)查詢(xún)語(yǔ)句,并將多個(gè)所述查詢(xún)語(yǔ)句發(fā)送給所述知識(shí)檢索模塊;
14、所述段落修訂單元用于接收所述知識(shí)檢索模塊發(fā)送來(lái)的多個(gè)檢索結(jié)果,將多個(gè)所述檢索結(jié)果分別與多個(gè)所述初始答案段落進(jìn)行修正,得到多個(gè)修正答案段落,將多個(gè)所述修正答案段落和多個(gè)所述初始答案段落發(fā)送給所述驗(yàn)證合并單元;
15、所述驗(yàn)證合并單元用于接收多個(gè)所述修正答案段落和多個(gè)所述初始答案段落,將多個(gè)所述修正答案段落與多個(gè)所述初始答案段落進(jìn)行差異對(duì)比,形成多個(gè)更新答案段落,將多個(gè)所述更新答案段落合并,得到更新答案,并將所述更新答案發(fā)送給所述答案優(yōu)化模塊。
16、可選地,所述的基于思維鏈的檢索增強(qiáng)生成系統(tǒng),其中,所述知識(shí)檢索模塊包括知識(shí)源單元和檢索單元;
17、其中,所述知識(shí)源單元用于預(yù)先對(duì)原始文檔加工,形成內(nèi)容存儲(chǔ),或者實(shí)時(shí)聯(lián)網(wǎng)獲得相關(guān)網(wǎng)頁(yè),形成內(nèi)容存儲(chǔ);
18、所述檢索單元用于接收多個(gè)所述查詢(xún)語(yǔ)句,調(diào)取預(yù)設(shè)檢索方式,將多個(gè)所述查詢(xún)語(yǔ)句和所述預(yù)設(shè)檢索方式作為檢索信息發(fā)送給所述知識(shí)源單元;
19、所述知識(shí)源單元還用于接收所述檢索信息,根據(jù)所述檢索信息從所述內(nèi)容存儲(chǔ)中進(jìn)行知識(shí)的篩選和整合,得到多個(gè)檢索結(jié)果,并將多個(gè)所述檢索結(jié)果發(fā)送給所述檢索單元;
20、所述檢索單元還用于接收多個(gè)所述檢索結(jié)果,并將多個(gè)所述檢索結(jié)果整合后發(fā)送給所述答案修正模塊;
21、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種基于思維鏈的檢索增強(qiáng)生成系統(tǒng)的數(shù)據(jù)處理方法,其中,所述數(shù)據(jù)處理方法包括:
22、所述用戶(hù)接口模塊接收用戶(hù)輸入的問(wèn)題,并將所述問(wèn)題發(fā)送給所述答案生成模塊,所述答案生成模塊對(duì)所述問(wèn)題進(jìn)行處理,生成初步答案,并將所述初步答案發(fā)送給所述答案分割模塊;
23、所述答案分割模塊將所述初步答案按照預(yù)設(shè)結(jié)構(gòu)進(jìn)行分割和重組,得到多個(gè)初始答案段落,將多個(gè)所述初始答案段落打包得到思維鏈,并將所述思維鏈和所述初步答案發(fā)送給所述答案修正模塊;
24、所述答案修正模塊為所述思維鏈中的每個(gè)所述初始答案段落分別生成查詢(xún)語(yǔ)句,并將多個(gè)所述查詢(xún)語(yǔ)句發(fā)送給所述知識(shí)檢索模塊,所述知識(shí)檢索模塊根據(jù)多個(gè)所述查詢(xún)語(yǔ)句分別生成檢索結(jié)果,并將多個(gè)所述檢索結(jié)果發(fā)送給所述答案修正模塊;
25、所述答案修正模塊使用多個(gè)所述檢索結(jié)果將對(duì)應(yīng)的所述初始答案段落進(jìn)行修正和更新,得到多個(gè)更新答案段落,將多個(gè)所述更新答案段落組成更新答案,并將所述更新答案和所述初步答案發(fā)送給所述答案優(yōu)化模塊;
26、所述答案優(yōu)化模塊對(duì)所述更新答案進(jìn)行優(yōu)化和整合,得到優(yōu)化答案,將所述優(yōu)化答案和所述初步答案發(fā)送給所述用戶(hù)接口模塊,所述用戶(hù)接口模塊將所述優(yōu)化答案和所述初步答案展示給用戶(hù)。
27、可選地,所述的基于思維鏈的檢索增強(qiáng)生成系統(tǒng)的數(shù)據(jù)處理方法其中,所述預(yù)設(shè)結(jié)構(gòu)包括:時(shí)間結(jié)構(gòu)、地點(diǎn)結(jié)構(gòu)、事實(shí)結(jié)構(gòu)和人物結(jié)構(gòu)。
28、可選地,所述的基于思維鏈的檢索增強(qiáng)生成系統(tǒng)的數(shù)據(jù)處理方法其中,所述答案修正模塊為所述思維鏈中的每個(gè)所述初始答案段落分別生成查詢(xún)語(yǔ)句,并將多個(gè)所述查詢(xún)語(yǔ)句發(fā)送給所述知識(shí)檢索模塊,具體包括:
29、查詢(xún)語(yǔ)句生成單元接收所述思維鏈中的每個(gè)所述初始答案段落,從每個(gè)所述初始答案段落中分別提取出段落核心問(wèn)題;
30、根據(jù)多個(gè)所述段落核心問(wèn)題,通過(guò)語(yǔ)言大語(yǔ)言模型生成多個(gè)查詢(xún)語(yǔ)句,并將多個(gè)所述查詢(xún)語(yǔ)句發(fā)送給所述知識(shí)檢索模塊。
31、可選地,所述的基于思維鏈的檢索增強(qiáng)生成系統(tǒng)的數(shù)據(jù)處理方法其中,所述將多個(gè)所述查詢(xún)語(yǔ)句發(fā)送給所述知識(shí)檢索模塊,之前還包括:
32、知識(shí)源單元預(yù)先對(duì)原始文檔加工,形成內(nèi)容存儲(chǔ),或者實(shí)時(shí)聯(lián)網(wǎng)獲得相關(guān)網(wǎng)頁(yè),形成內(nèi)容存儲(chǔ)。
33、可選地,所述的基于思維鏈的檢索增強(qiáng)生成系統(tǒng)的數(shù)據(jù)處理方法其中,所述知識(shí)檢索模塊根據(jù)多個(gè)所述查詢(xún)語(yǔ)句分別生成檢索結(jié)果,并將多個(gè)所述檢索結(jié)果發(fā)送給所述答案修正模塊,具體包括:
34、檢索單元接收多個(gè)所述查詢(xún)語(yǔ)句,調(diào)取預(yù)設(shè)檢索方式,將多個(gè)所述查詢(xún)語(yǔ)句和所述預(yù)設(shè)檢索方式作為檢索信息發(fā)送給所述知識(shí)源單元;
35、所述知識(shí)源單元接收所述檢索信息,根據(jù)所述檢索信息從所述內(nèi)容存儲(chǔ)中進(jìn)行知識(shí)的篩選和整合,得到多個(gè)檢索結(jié)果,并將多個(gè)所述檢索結(jié)果發(fā)送給所述檢索單元;
36、所述檢索單元接收多個(gè)所述檢索結(jié)果,并將多個(gè)所述檢索結(jié)果整合后發(fā)送給所述答案修正模塊。
37、可選地,所述的基于思維鏈的檢索增強(qiáng)生成系統(tǒng)的數(shù)據(jù)處理方法其中,所述預(yù)設(shè)檢索方式包括向量檢索和關(guān)鍵字檢索。
38、可選地,所述的基于思維鏈的檢索增強(qiáng)生成系統(tǒng)的數(shù)據(jù)處理方法其中,所述答案優(yōu)化模塊對(duì)所述更新答案進(jìn)行優(yōu)化和整合,得到優(yōu)化答案,將所述優(yōu)化答案和所述初步答案發(fā)送給所述用戶(hù)接口模塊,具體包括:
39、所述答案優(yōu)化模塊接收所述更新答案,為所述更新答案添加結(jié)構(gòu)化標(biāo)題,得到優(yōu)化答案;
40、所述答案優(yōu)化模塊將所述優(yōu)化答案和所述初步答案進(jìn)行整合,得到最終答案,將所述最終答案發(fā)送給所述用戶(hù)接口模塊。
41、本發(fā)明公開(kāi)了一種基于思維鏈的檢索增強(qiáng)生成系統(tǒng)及數(shù)據(jù)處理方法,所述系統(tǒng)包括:用戶(hù)接口模塊、答案生成模塊、答案分割模塊、答案修正模塊、知識(shí)檢索模塊和答案優(yōu)化模塊;所述用戶(hù)接口模塊、所述答案生成模塊、所述答案分割模塊、所述答案修正模塊和所述答案優(yōu)化模塊依次形成閉環(huán)連接,所述答案修正模塊還與所述知識(shí)檢索模塊連接。本發(fā)明將思維鏈與rag結(jié)合,使用從知識(shí)檢索獲得的信息逐一修改每個(gè)思維步驟,增加透明性和答案的準(zhǔn)確性,通過(guò)分步推理和動(dòng)態(tài)檢索修正,解決了rag在復(fù)雜任務(wù)中因單次檢索和全局生成導(dǎo)致的錯(cuò)誤累積問(wèn)題,尤其擅長(zhǎng)需要多步驟驗(yàn)證的復(fù)雜場(chǎng)景。