RAG文檔處理的一種優(yōu)化方案——問答對(duì)的轉(zhuǎn)換技巧 原創(chuàng)
“ 在RAG中根據(jù)不同的場(chǎng)景有多種不同的優(yōu)化方案,因此我們需要根據(jù)場(chǎng)景選擇合適的解決方案?!?/strong>
在RAG文檔檢索增強(qiáng)中,文檔預(yù)處理是相當(dāng)重要的一環(huán);以目前大模型的能力來說,已經(jīng)能夠很好的根據(jù)參考文檔回答用戶問題,但現(xiàn)在的問題是在RAG的前期階段——也就是文檔預(yù)處理階段卻是一個(gè)技術(shù)難點(diǎn)。
而且針對(duì)不同的文檔類型和文檔內(nèi)容,處理方式也不盡相同,因此RAG的文檔處理效果也參差不齊。
而今天我們就來提供一個(gè)新的思路,那就是把文檔轉(zhuǎn)換成問答對(duì);因?yàn)?,從用戶的角度來說,用戶提出的問題一般都是有針對(duì)性的,而不是寬泛的針對(duì)整個(gè)文檔進(jìn)行提問。因此,我們就可以根據(jù)文檔內(nèi)容,從多個(gè)維度提出幾個(gè)經(jīng)典問題,這樣即可以提升檢索速度,也可以提升準(zhǔn)確率。
RAG文檔優(yōu)化之——問答對(duì)
先思考一個(gè)問題,問答對(duì)相當(dāng)于傳統(tǒng)的文檔檢索又那些好處?為什么要使用問答對(duì)?
不論是傳統(tǒng)的文檔檢索,還是問答對(duì)都屬于文檔預(yù)處理的一種方式;而之所以使用問答對(duì)的原因在于,問答形式更符合我們?nèi)祟惖慕涣鞣绞剑部梢哉f是思維慣性,我們?nèi)祟惏俜种耸陨系慕涣鞫际峭ㄟ^文檔形式Q&A。
其次,傳統(tǒng)的文檔檢索就類似于你要想知道地球?yàn)槭裁磭栟D(zhuǎn),你可能需要看一整本科普讀物才知道原來是因?yàn)橐Φ拇嬖?;但基于問答?duì)的方式就類似于給你一本十萬個(gè)為什么,它直接告訴你地球圍著太陽轉(zhuǎn)的原因是因?yàn)橐Φ拇嬖?,你不需要看很多其它的東西,也不需要明白引力到底是個(gè)什么東西。

這種方式雖然可能只是讓你知其然而不知其所以然,但它能夠用最短的時(shí)間,最簡(jiǎn)單的方式告訴你一些常識(shí)性問題。
前面說了問答對(duì)的優(yōu)勢(shì),那么什么樣的文檔適合轉(zhuǎn)換成問答對(duì)呢?以及怎么把文檔轉(zhuǎn)換成問答對(duì),有那幾種方案?
其實(shí)任何形式的文檔都可以轉(zhuǎn)換成問答對(duì),只不過不同的文檔內(nèi)容處理方式不一樣;比如說基于純文本的文檔和多圖表的文檔處理方式就不太一樣。
但把文檔轉(zhuǎn)換成問答對(duì)就有兩種不同的方案了;其實(shí)文檔轉(zhuǎn)換問答對(duì)的原理很簡(jiǎn)單,就是把文檔內(nèi)容丟給大模型,讓模型根據(jù)文檔內(nèi)容,從多個(gè)維度生成三到五個(gè)與之相關(guān)的問題即可。
但怎么把文檔丟給大模型這個(gè)就要說道說道了。
首先,最簡(jiǎn)單的方式就是把整個(gè)文檔全部一次性丟給大模型,讓大模型理解文檔然后整理出一系列問題。

但我們應(yīng)該也明白,這種方式肯定是速度最快,最簡(jiǎn)單,但也是效果最差的一種方式;這就像你用三天時(shí)間看了一本經(jīng)典名著,你最多只能記住其中的幾個(gè)景點(diǎn)環(huán)節(jié),大部分內(nèi)容都被你給忘了。
因此,針對(duì)文檔轉(zhuǎn)換成問答對(duì)最好的方式,是根據(jù)段落或標(biāo)題對(duì)文檔進(jìn)行拆分;然后把拆分之后的文檔再丟給大模型,這樣就可以提升問答對(duì)的準(zhǔn)確性。
并且,在召回過程中也可以把相應(yīng)的段落返回給用戶,這樣既增加了權(quán)威性,也可以避免Token浪費(fèi)的問題。
當(dāng)然,由于問答對(duì)的特殊形式,問答對(duì)也只適合部分業(yè)務(wù)場(chǎng)景,在某些業(yè)務(wù)場(chǎng)景下問答對(duì)的效果可能就不那么好了;比如說在長(zhǎng)文理解中,使用問答對(duì)可能會(huì)導(dǎo)致最終的語義混亂。
本文轉(zhuǎn)載自?????AI探索時(shí)代???? 作者:DFires

















