本發(fā)明涉及計(jì)算機(jī),更具體的說是涉及一種檢索增強(qiáng)生成系統(tǒng)的構(gòu)建方法、系統(tǒng)、裝置及介質(zhì)。
背景技術(shù):
1、檢索增強(qiáng)生成(retrieval-augmented?generation,簡(jiǎn)稱rag)系統(tǒng)是一種結(jié)合了信息檢索和自然語言生成的技術(shù)。其核心原理是將搜索大型數(shù)據(jù)集或知識(shí)庫的檢索模型與大型語言模型(llm)等生成模型相結(jié)合,后者獲取該信息并生成可讀的文本響應(yīng)。rag技術(shù)通過結(jié)合檢索(retrieval)和生成(generation)兩個(gè)階段,以提高模型對(duì)信息的處理和回應(yīng)的質(zhì)量。這種技術(shù)尤其適用于問答、文本摘要、對(duì)話系統(tǒng)等任務(wù)中,可以顯著提升這些系統(tǒng)的性能。
2、目前主流的rag系統(tǒng)構(gòu)建方法主要有以下四種:
3、1、基于查詢的rag方法:
4、該方法也稱為提示擴(kuò)充。它將用戶的查詢與檢索過程中提取的內(nèi)容直接集成到生成模型輸入的初始階段。這種范式是rag應(yīng)用程序中最廣泛采用的方法。一旦檢索到相關(guān)信息,它們的內(nèi)容就會(huì)與原始用戶查詢合并,以創(chuàng)建一個(gè)復(fù)合輸入序列。該增強(qiáng)序列隨后被送到生成模型中以生成響應(yīng)。對(duì)于常見的基于大型語言模型(llm)的文本生成任務(wù)而言,該方法實(shí)際上根據(jù)檢索到的內(nèi)容構(gòu)建了輸入的提示詞(prompt),可以直接與提示詞工程、少樣本學(xué)習(xí)相結(jié)合。
5、雖然這種方法能較直接地將檢索內(nèi)容與用戶查詢合并,但在面對(duì)海量數(shù)據(jù)或復(fù)雜查詢時(shí),檢索過程可能會(huì)變得非常耗時(shí),從而影響到整體的效率。另外,該方法盡管可以根據(jù)檢索到的內(nèi)容構(gòu)建提示詞,但仍然依賴于生成模型對(duì)提示詞的準(zhǔn)確理解和處理。如果模型對(duì)特定類型的數(shù)據(jù)不夠敏感或?qū)?fù)雜查詢的處理不足,就可能導(dǎo)致生成的內(nèi)容與用戶需求存在偏差。
6、2、基于隱空間表達(dá)的rag方法:
7、該方法中,檢索器得到的內(nèi)容將與生成模型在內(nèi)部以隱空間表達(dá)(latentrepresentation)的方式進(jìn)行交互,這種邊生成邊交互的方式可以有效的提升生成模型的理解能力以及最終生成內(nèi)容的質(zhì)量。這里常見的交互方法包括簡(jiǎn)單的拼接以及設(shè)計(jì)注意力機(jī)制等等。
8、但是,這種方法需要在內(nèi)部進(jìn)行隱空間表達(dá)的交互,可能會(huì)增加計(jì)算的復(fù)雜性,從而影響到檢索和生成的效率。雖然這種方法采用邊生成邊交互的方式可以提升生成模型的理解能力,但如何有效地設(shè)計(jì)交互方法仍然是一個(gè)挑戰(zhàn)。如果交互方法設(shè)計(jì)不當(dāng),就可能導(dǎo)致生成的內(nèi)容質(zhì)量下降。
9、3、基于概率表示的rag方法:
10、在采用概率表示(logit)的rag系統(tǒng)中,生成模型在解碼階段會(huì)利用概率方法來融合檢索到的信息。通常情況下,模型會(huì)對(duì)檢索結(jié)果的概率分布進(jìn)行求和或融合,以此計(jì)算出逐步生成文本的概率。這種方法允許模型在生成響應(yīng)時(shí),權(quán)衡不同檢索信息的相關(guān)性和可信度。
11、此類方法在計(jì)算逐步生成文本的概率時(shí),需要對(duì)檢索結(jié)果的概率分布進(jìn)行求和或融合,這可能會(huì)增加計(jì)算的復(fù)雜度,降低檢索效率。另外,雖然這種方法允許模型在生成響應(yīng)時(shí)權(quán)衡不同檢索信息的相關(guān)性和可信度,但如何準(zhǔn)確地計(jì)算概率分布并融合多個(gè)檢索結(jié)果仍然是一個(gè)挑戰(zhàn)。如果處理不當(dāng),就可能導(dǎo)致生成的內(nèi)容不夠準(zhǔn)確或相關(guān)。
12、4、投機(jī)rag方法:
13、投機(jī)rag方法是利用檢索過程替代部分或全部的生成過程。當(dāng)檢索器的成本低于生成器的生成成本時(shí),這種方法具有很大的應(yīng)用潛力。例如,在投機(jī)推理中,可以使用檢索方式替代小型模型的生成,然后將用戶查詢和檢索到的內(nèi)容一起送入大型模型進(jìn)行驗(yàn)證。此外,在使用類似chatgpt接口作為生成器的場(chǎng)景下,調(diào)用次數(shù)越多意味著成本越高,因此可以搜索過往的相同或極度相似的問題來直接得到回答。
14、雖然這種方法可以利用檢索過程替代部分或全部的生成過程來提高效率,但在某些情況下,檢索器的成本可能并不總是低于生成器的生成成本,尤其是在處理復(fù)雜查詢或需要高質(zhì)量回答的場(chǎng)景中。另外,投機(jī)rag方法依賴于檢索到的內(nèi)容來直接得到回答,因此如果檢索到的內(nèi)容不準(zhǔn)確或不完整,就可能導(dǎo)致生成的回答與用戶需求存在偏差。此外,如果檢索到的內(nèi)容與用戶查詢的語義不完全匹配,也可能導(dǎo)致生成的回答不夠準(zhǔn)確或相關(guān)。
15、由此可見,如何有效的提高rag系統(tǒng)檢索生成的效率及準(zhǔn)確率,是我們亟待解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)以上問題,本發(fā)明的目的在于提供一種檢索增強(qiáng)生成系統(tǒng)的構(gòu)建方法、系統(tǒng)、裝置及介質(zhì),通過優(yōu)化檢索增強(qiáng)生成系統(tǒng)構(gòu)建的基本步驟,從而提高檢索生成的效率及準(zhǔn)確率。
2、本發(fā)明為實(shí)現(xiàn)上述目的,通過以下技術(shù)方案實(shí)現(xiàn):
3、第一方面,本發(fā)明公開了一種檢索增強(qiáng)生成系統(tǒng)構(gòu)建方法,包括:
4、收集知識(shí)文檔,通過對(duì)知識(shí)文檔進(jìn)行實(shí)體解析、文檔劃分和數(shù)據(jù)增強(qiáng)處理,并基于用戶的反饋信息完成數(shù)據(jù)清洗;
5、對(duì)知識(shí)文檔進(jìn)行文本分塊優(yōu)化處理;
6、對(duì)知識(shí)文檔進(jìn)行預(yù)處理,使用預(yù)訓(xùn)練的嵌入模型執(zhí)行詞嵌入操作,并在詞嵌入過程中引入自注意力機(jī)制;
7、根據(jù)數(shù)據(jù)類型和查詢需求建立多個(gè)不同層級(jí)的索引;
8、獲取用戶的原始問題,使用大語言模型對(duì)原始問題進(jìn)行重述處理,生成重新表述的問題;
9、基于重新表述的問題,利用相似度度量的方法確定檢索參數(shù);
10、將確定的檢索參數(shù)輸入檢索模型,確定檢索結(jié)果文檔,并對(duì)檢索結(jié)果文檔進(jìn)行上下文壓縮處理;
11、基于檢索結(jié)果文檔之間的相關(guān)性,對(duì)檢索結(jié)果文檔進(jìn)行重排處理。
12、進(jìn)一步,所述通過對(duì)知識(shí)文檔進(jìn)行實(shí)體解析、文檔劃分和數(shù)據(jù)增強(qiáng)處理,并基于用戶的反饋信息完成數(shù)據(jù)清洗,包括:
13、識(shí)別知識(shí)文檔中的實(shí)體和術(shù)語,利用實(shí)體消歧技術(shù)消除實(shí)體和術(shù)語的歧義,并將實(shí)體和術(shù)語映射至統(tǒng)一術(shù)語庫中;
14、使用主題模型對(duì)知識(shí)文檔進(jìn)行主題聚類,將同一主題的知識(shí)文檔聚合在一起;將同義詞、反義詞、釋義和翻譯數(shù)據(jù)增加到語料庫中;
15、收集用戶對(duì)生成內(nèi)容的反饋信息,基于反饋信息更新數(shù)據(jù)庫,并標(biāo)記相關(guān)文本的真實(shí)性和準(zhǔn)確性。
16、進(jìn)一步,所述對(duì)知識(shí)文檔進(jìn)行文本分塊優(yōu)化處理,包括:
17、通過段落換行符將知識(shí)文檔分割為多個(gè)文本塊;
18、檢查每個(gè)文本塊的長(zhǎng)度;如果文本塊的長(zhǎng)度不超過預(yù)設(shè)閾值,則該文本塊被保留;如果文本塊的長(zhǎng)度超過預(yù)設(shè)閾值,則使用分隔符將該文本塊進(jìn)行分割,并繼續(xù)檢查每個(gè)文本塊的長(zhǎng)度,直至所有文本塊的長(zhǎng)度均不超過預(yù)設(shè)閾值。
19、進(jìn)一步,所述對(duì)知識(shí)文檔進(jìn)行預(yù)處理,使用預(yù)訓(xùn)練的嵌入模型執(zhí)行詞嵌入操作,并在詞嵌入過程中引入自注意力機(jī)制,包括:
20、對(duì)每個(gè)文本塊進(jìn)行分詞處理、停用詞去除處理和詞干提取處理;
21、將自注意力機(jī)制應(yīng)用到預(yù)訓(xùn)練的嵌入模型中,并使用預(yù)訓(xùn)練的嵌入模型將文本塊轉(zhuǎn)換為向量表示。
22、進(jìn)一步,所述根據(jù)數(shù)據(jù)類型和查詢需求建立多個(gè)不同層級(jí)的索引,包括:
23、根據(jù)數(shù)據(jù)類型和查詢需求建立多個(gè)不同層級(jí)的索引;
24、為每個(gè)索引選擇相應(yīng)的嵌入模型和數(shù)據(jù)結(jié)構(gòu);
25、為每種查詢需求設(shè)計(jì)路由策略,根據(jù)查詢需求將其路由至最匹配的索引。
26、進(jìn)一步,所述獲取用戶的原始問題,使用大語言模型對(duì)原始問題進(jìn)行重述處理,生成重新表述的問題,包括:
27、獲取用戶的原始問題,將用戶的原始問題輸入到大語言模型中,并生成相應(yīng)的重述問題;
28、計(jì)算所述原始問題與重述問題之間的相似度;
29、如果相似度大于等于相似度閾值,則重述問題有效,將重述問題作為重新表述的問題;
30、如果相似度小于相似度閾值,則重述問題無效,將原始問題作為重新表述的問題。
31、進(jìn)一步,所述對(duì)檢索結(jié)果文檔進(jìn)行上下文壓縮處理,包括:
32、識(shí)別檢索結(jié)果文檔的長(zhǎng)度;
33、當(dāng)檢索結(jié)果文檔的長(zhǎng)度大于預(yù)設(shè)長(zhǎng)度時(shí),利用大語言模型提取檢索結(jié)果文檔的關(guān)鍵信息,并根據(jù)關(guān)鍵信息的上下文,去除相應(yīng)的冗余信息。
34、第二方面,本發(fā)明還公開了一種檢索增強(qiáng)生成系統(tǒng)的構(gòu)建系統(tǒng),包括:數(shù)據(jù)清洗模塊,用于收集知識(shí)文檔,通過對(duì)知識(shí)文檔進(jìn)行實(shí)體解析、文檔劃分和數(shù)據(jù)增強(qiáng)處理,并基于用戶的反饋信息完成數(shù)據(jù)清洗;
35、文本分塊處理模塊,用于對(duì)知識(shí)文檔進(jìn)行文本分塊優(yōu)化處理;
36、詞嵌入模塊,用于對(duì)知識(shí)文檔進(jìn)行預(yù)處理,使用預(yù)訓(xùn)練的嵌入模型執(zhí)行詞嵌入操作,并在詞嵌入過程中引入自注意力機(jī)制;
37、多級(jí)索引模塊,用于根據(jù)數(shù)據(jù)類型和查詢需求建立多個(gè)不同層級(jí)的索引;
38、查詢轉(zhuǎn)換模塊,用于獲取用戶的原始問題,使用大語言模型對(duì)原始問題進(jìn)行重述處理,生成重新表述的問題;
39、檢索參數(shù)確定模塊,用于基于重新表述的問題,利用相似度度量的方法確定檢索參數(shù);
40、壓縮處理模塊,用于將確定的檢索參數(shù)輸入大語言模型,確定檢索結(jié)果文檔,并對(duì)檢索結(jié)果文檔進(jìn)行上下文壓縮處理;
41、檢索重排模塊,用于基于檢索結(jié)果文檔之間的相關(guān)性,對(duì)檢索結(jié)果文檔進(jìn)行重排處理。
42、第三方面,本發(fā)明還公開了一種檢索增強(qiáng)生成系統(tǒng)的構(gòu)建裝置,包括:
43、存儲(chǔ)器,用于存儲(chǔ)檢索增強(qiáng)生成系統(tǒng)的構(gòu)建程序;
44、處理器,用于執(zhí)行所述檢索增強(qiáng)生成系統(tǒng)的構(gòu)建程序時(shí)實(shí)現(xiàn)如上文任一項(xiàng)所述檢索增強(qiáng)生成系統(tǒng)的構(gòu)建方法的步驟。
45、第四方面,本發(fā)明還公開了一種可讀存儲(chǔ)介質(zhì),所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有檢索增強(qiáng)生成系統(tǒng)的構(gòu)建程序,所述檢索增強(qiáng)生成系統(tǒng)的構(gòu)建程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上文任一項(xiàng)所述檢索增強(qiáng)生成系統(tǒng)的構(gòu)建方法的步驟。
46、對(duì)比現(xiàn)有技術(shù),本發(fā)明有益效果在于:
47、1、本發(fā)明通過實(shí)體解析、文檔劃分和數(shù)據(jù)增強(qiáng)處理,以及基于用戶反饋的信息進(jìn)行數(shù)據(jù)清洗,提高了數(shù)據(jù)的質(zhì)量和準(zhǔn)確性,為后續(xù)處理提供了更可靠的基礎(chǔ)。
48、2、本發(fā)明將知識(shí)文檔分割成合適的文本塊,并確保每個(gè)文本塊的長(zhǎng)度在預(yù)設(shè)閾值內(nèi),有助于提升后續(xù)文本處理的效率和準(zhǔn)確性。
49、3、本發(fā)明在詞嵌入過程中引入自注意力機(jī)制,使得文本向量能夠捕捉到更多的上下文信息,提高了詞向量的表達(dá)能力,為后續(xù)的文本處理和檢索提供了更好的基礎(chǔ)。
50、4、本發(fā)明根據(jù)數(shù)據(jù)類型和查詢需求建立多個(gè)不同層級(jí)的索引,并設(shè)計(jì)相應(yīng)的路由策略,能夠更高效地滿足用戶的查詢需求,提高檢索的效率和準(zhǔn)確性。
51、5、本發(fā)明使用大語言模型對(duì)用戶的原始問題進(jìn)行重述處理,能夠生成更準(zhǔn)確、更符合用戶意圖的查詢,從而提高了檢索的準(zhǔn)確性和相關(guān)性。
52、6、本發(fā)明基于檢索結(jié)果文檔之間的相關(guān)性進(jìn)行重排處理,提高了檢索結(jié)果的排序質(zhì)量;同時(shí),對(duì)過長(zhǎng)的檢索結(jié)果文檔進(jìn)行上下文壓縮處理,去除了冗余信息,保留了關(guān)鍵信息,使得檢索結(jié)果更加精煉和易于理解。
53、7、本發(fā)明通過一系列優(yōu)化措施,提高了數(shù)據(jù)質(zhì)量、文本處理效率、檢索效率和準(zhǔn)確性,以及檢索結(jié)果的質(zhì)量和可讀性,為用戶提供了更加高效、準(zhǔn)確和便捷的檢索體驗(yàn)。
54、由此可見,本發(fā)明與現(xiàn)有技術(shù)相比,具有突出的實(shí)質(zhì)性特點(diǎn)和顯著的進(jìn)步,其實(shí)施的有益效果也是顯而易見的。