本發(fā)明涉及檢索增強(qiáng)生成,特別涉及一種基于大語言模型的文檔對(duì)話方法、系統(tǒng)、設(shè)備與介質(zhì)。
背景技術(shù):
1、近年來,大語言模型(llm)的迅猛發(fā)展給人們帶來了的便利。但在信息爆炸時(shí)代,每一天都有海量文檔、論文等被發(fā)表,而大語言模型的訓(xùn)練數(shù)據(jù)具有時(shí)效性(訓(xùn)練數(shù)據(jù)是某時(shí)刻之前的)。因此,在詢問大語言模型本身不具備的一些知識(shí)的時(shí)候,可能會(huì)產(chǎn)生幻覺(即答非所問或者回答牛頭不對(duì)馬嘴)。尤其對(duì)于某些需要緊跟時(shí)事的行業(yè)來說,這種幻覺現(xiàn)象是不能容忍的,所以需要?jiǎng)e的方法來彌補(bǔ)大語言模型的這一缺點(diǎn)。
2、檢索增強(qiáng)生成(retrieval-augmented?generation,rag)將緊跟時(shí)事的文檔、論文等作為外部知識(shí)庫,在與用戶問答的過程中,利用用戶輸入的問題在知識(shí)庫中檢索出相關(guān)的段落,結(jié)合用戶問題,利用llm完成問答。這種方式不需要訓(xùn)練或微調(diào)llm就能達(dá)到較好的問答表現(xiàn),近年來備受歡迎。
3、現(xiàn)有的檢索增強(qiáng)生成方法通常只能回答文檔中知識(shí)比較集中的問題,對(duì)于知識(shí)較為分散的問題或比較關(guān)注某一個(gè)字的問題,回答結(jié)果往往較差,同時(shí)存在嚴(yán)重的幻覺現(xiàn)象,在面對(duì)某些輸入時(shí),產(chǎn)生不準(zhǔn)確、不完整或誤導(dǎo)性的輸出。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于針對(duì)上述現(xiàn)有技術(shù)的不足,提供一種基于大語言模型的文檔對(duì)話方法、系統(tǒng)、設(shè)備與介質(zhì),以解決現(xiàn)有技術(shù)中對(duì)于知識(shí)較為分散的問題或比較關(guān)注某一個(gè)字的問題,回答結(jié)果往往較差,同時(shí)存在嚴(yán)重的幻覺現(xiàn)象,在面對(duì)某些輸入時(shí),產(chǎn)生不準(zhǔn)確、不完整或誤導(dǎo)性的輸出的問題。
2、本發(fā)明具體提供如下技術(shù)方案:
3、一種基于大語言模型的文檔對(duì)話方法,包括如下步驟:
4、獲取待檢索文檔編碼后的向量數(shù)據(jù)庫,并獲取待檢索問題;
5、將所述待檢索問題轉(zhuǎn)化為向量,并利用向量在向量數(shù)據(jù)庫中檢索出多個(gè)相關(guān)語料塊;
6、將待檢索問題和相關(guān)語料塊輸入大語言模型,提取待檢索問題和相關(guān)語料塊中最相關(guān)的句子,并設(shè)計(jì)一個(gè)提示詞,大語言模型通過該提示詞獲取所述句子與待檢索問題的相關(guān)之處,綜合回答待檢索問題。
7、優(yōu)選的,所述獲取待檢索文檔編碼后的向量數(shù)據(jù)庫,包括:
8、獲取待檢索文檔中的語料塊信息;
9、對(duì)所述語料塊信息按照一定規(guī)則切塊,獲得語料塊,并利用編碼器對(duì)語料塊進(jìn)行編碼,獲得語料塊的向量,并以此向量構(gòu)建向量數(shù)據(jù)庫。
10、優(yōu)選的,將所述待檢索問題轉(zhuǎn)化為向量,并利用向量在向量數(shù)據(jù)庫中檢索出多個(gè)相關(guān)語料塊,包括:
11、將輸入的待檢索問題通過編碼器進(jìn)行編碼,獲得待檢索問題的向量;其中,此處的編碼器與構(gòu)建向量數(shù)據(jù)庫時(shí)所使用的編碼器輸出向量長(zhǎng)度一致;
12、利用待檢索問題的向量在數(shù)據(jù)庫中檢索出相似度高于閾值的多個(gè)語料塊。
13、優(yōu)選的,所述利用向量在向量數(shù)據(jù)庫中檢索出多個(gè)相關(guān)語料塊后,還包括:
14、提取待檢索問題的關(guān)鍵詞,基于所述關(guān)鍵詞對(duì)語料塊進(jìn)行數(shù)據(jù)清洗,并對(duì)語料塊重新排序,獲得與待檢索問題相關(guān)的關(guān)鍵詞;
15、基于相關(guān)的關(guān)鍵詞,對(duì)所述語料塊進(jìn)行壓縮,去除與關(guān)鍵詞不相關(guān)或關(guān)系不大的冗余信息,并調(diào)整提示詞對(duì)文本的結(jié)構(gòu)進(jìn)行優(yōu)化,獲得去除了語料塊中不相關(guān)的冗余信息后的最終語料塊,最終語料塊用于輸入大語言模型。
16、優(yōu)選的,基于所述關(guān)鍵詞對(duì)語料塊進(jìn)行數(shù)據(jù)清洗,并對(duì)語料塊重新排序,包括:
17、設(shè)計(jì)相關(guān)的提示詞,通過所述提示詞保留待檢索問題中的關(guān)鍵詞;
18、遍歷檢索到的語料塊,依次判斷每一個(gè)語料塊中是否包含提取到的關(guān)鍵詞,如果沒有包含任何關(guān)鍵詞則刪除對(duì)應(yīng)的語料塊;
19、對(duì)待檢索問題和剩余語料塊進(jìn)行分詞處理,并利用詞頻獲取每一個(gè)剩余語料塊與待檢索問題的相關(guān)程度,按照相關(guān)程度對(duì)語料塊進(jìn)行重排。
20、本發(fā)明提供一種基于大語言模型的文檔對(duì)話系統(tǒng),包括:
21、采集模塊,用于獲取待檢索文檔編碼后的向量數(shù)據(jù)庫,并獲取待檢索問題;
22、轉(zhuǎn)化模塊,用于將所述待檢索問題轉(zhuǎn)化為向量,并利用向量在向量數(shù)據(jù)庫中檢索出多個(gè)相關(guān)語料塊;
23、對(duì)話模塊,用于將待檢索問題和相關(guān)語料塊輸入大語言模型,提取待檢索問題和相關(guān)語料塊中最相關(guān)的句子,并設(shè)計(jì)一個(gè)提示詞,大語言模型通過該提示詞獲取所述句子與待檢索問題的相關(guān)之處,綜合回答待檢索問題。
24、本發(fā)明提供一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器及處理器,所述存儲(chǔ)器中儲(chǔ)存有程序,所述程序被所述處理器執(zhí)行時(shí),使得所述處理器執(zhí)行上述一種基于大語言模型的文檔對(duì)話方法的步驟。
25、本發(fā)明提供一種存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的一種基于大語言模型的文檔對(duì)話方法的步驟。
26、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下顯著優(yōu)點(diǎn):
27、本發(fā)明通過構(gòu)建文檔的向量數(shù)據(jù)庫,并通過待檢索問題在向量數(shù)據(jù)庫中檢索相關(guān)的語料塊,實(shí)現(xiàn)對(duì)文檔各類知識(shí)的語料塊檢索,來增強(qiáng)知識(shí)的全面性和準(zhǔn)確性,尤其適用于答案比較分散的問題,同時(shí)通過多階段問答,通過獲取待檢索問題和最終語料塊中最相關(guān)的句子,以及通過提示詞讓大語言模型回答句子與待檢索問題的相關(guān)之處,來綜合回答待檢索問題,通過大語言模型對(duì)相關(guān)語料塊多步的適配,來獲得更加準(zhǔn)確的結(jié)果,減少了模型的幻覺現(xiàn)象。
1.一種基于大語言模型的文檔對(duì)話方法,其特征在于,包括如下步驟:
2.如權(quán)利要求1所述的一種基于大語言模型的文檔對(duì)話方法,其特征在于,所述獲取待檢索文檔編碼后的向量數(shù)據(jù)庫,包括:
3.如權(quán)利要求2所述的一種基于大語言模型的文檔對(duì)話方法,其特征在于,將所述待檢索問題轉(zhuǎn)化為向量,并利用向量在向量數(shù)據(jù)庫中檢索出多個(gè)相關(guān)語料塊,包括:
4.如權(quán)利要求1所述的一種基于大語言模型的文檔對(duì)話方法,其特征在于,所述利用向量在向量數(shù)據(jù)庫中檢索出多個(gè)相關(guān)語料塊后,還包括:
5.如權(quán)利要求4所述的一種基于大語言模型的文檔對(duì)話方法,其特征在于,基于所述關(guān)鍵詞對(duì)語料塊進(jìn)行數(shù)據(jù)清洗,并對(duì)語料塊重新排序,包括:
6.一種基于大語言模型的文檔對(duì)話系統(tǒng),其特征在于,包括:
7.一種計(jì)算機(jī)設(shè)備,其特征在于,包括存儲(chǔ)器及處理器,所述存儲(chǔ)器中儲(chǔ)存有程序,所述程序被所述處理器執(zhí)行時(shí),使得所述處理器執(zhí)行如權(quán)利要求1至5中任一項(xiàng)所述一種基于大語言模型的文檔對(duì)話方法的步驟。
8.一種存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至5中任一項(xiàng)所述的一種基于大語言模型的文檔對(duì)話方法的步驟。