RAG 為 LLM 提供來(lái)自外部知識(shí)源的信息,以幫助減少幻覺(jué)并提高生成響應(yīng)的事實(shí)準(zhǔn)確性。 一個(gè)簡(jiǎn)單的 RAG 流水線由四個(gè)組件組成:嵌入模型、向量數(shù)據(jù)庫(kù)、提示模板和 LLM。在推理時(shí),它會(huì)嵌入用戶查詢以從向量數(shù)據(jù)庫(kù)中檢索相關(guān)文檔信息塊,并將其填充到 LLM 的提示中生成答案。 雖然這種簡(jiǎn)單的方法很簡(jiǎn)單,但它有很多局限性,而且往往會(huì)導(dǎo)致低質(zhì)量的響應(yīng)。 本文討論了我們可以應(yīng)用的各種高級(jí)技術(shù)來(lái)提高 RAG 系統(tǒng)的性能。這些技術(shù)可以應(yīng)用于 RAG 流水線的各個(gè)階段,如下所示: ![]() 索引優(yōu)化![]() 索引優(yōu)化技術(shù)通過(guò)以更有條理、更易于搜索的方式構(gòu)建外部數(shù)據(jù)來(lái)提高檢索準(zhǔn)確性。這些技術(shù)可以應(yīng)用于 RAG 流水線中的數(shù)據(jù)預(yù)處理和分塊階段,確保有效檢索相關(guān)信息。 數(shù)據(jù)預(yù)處理(Data Pre-Processing) 數(shù)據(jù)預(yù)處理是任何 RAG 系統(tǒng)成功的基礎(chǔ),因?yàn)樘幚砗髷?shù)據(jù)的質(zhì)量直接影響整體性能。通過(guò)精心將原始數(shù)據(jù)轉(zhuǎn)換為適合 LLM 的結(jié)構(gòu)化格式,我們可以在考慮更復(fù)雜的優(yōu)化之前顯著提高系統(tǒng)的效率。 雖然有幾種常見的預(yù)處理技術(shù)可用,但最佳方法和順序應(yīng)根據(jù)我們的特定用例和要求進(jìn)行量身定制。 該過(guò)程通常從數(shù)據(jù)采集和集成開始,也就是從多個(gè)來(lái)源收集各種文檔類型并將其整合到“知識(shí)庫(kù)”中。 ![]() 數(shù)據(jù)提取和解析(Data Extraction & Parsing) 在原始數(shù)據(jù)上進(jìn)行數(shù)據(jù)提取和解析,以便為下游任務(wù)準(zhǔn)確處理數(shù)據(jù)。對(duì)于 Markdown、Word 文檔和純文本等基于文本的格式,提取技術(shù)側(cè)重于在捕獲相關(guān)內(nèi)容的同時(shí)保留結(jié)構(gòu)。 包含基于圖像的文本/表格的掃描文檔、圖像和 PDF 需要 OCR(Optical Character Recognition,光學(xué)字符識(shí)別)技術(shù)才能轉(zhuǎn)換為 LLM 可用的格式。然而,多模態(tài)檢索模型(如 ColPali 和 ColQwen)的最新進(jìn)展徹底改變了這一過(guò)程。這些模型可以直接嵌入文檔圖像,可能會(huì)使傳統(tǒng)的 OCR 過(guò)時(shí)。 Web 內(nèi)容通常涉及 HTML 解析,利用 DOM 遍歷來(lái)提取結(jié)構(gòu)化數(shù)據(jù),而電子表格則需要專門的解析來(lái)處理單元格關(guān)系。元數(shù)據(jù)提取在文件類型中也至關(guān)重要,它會(huì)提取作者、時(shí)間戳和其他文檔屬性等關(guān)鍵詳細(xì)信息(后面的元數(shù)據(jù)過(guò)濾部分會(huì)詳細(xì)說(shuō)一下)。 數(shù)據(jù)清洗和降噪(Data Cleaning & Noise Reduction) 數(shù)據(jù)清洗和降噪包括刪除不相關(guān)的信息(例如頁(yè)眉、頁(yè)腳或樣板文本)、糾正不一致之處以及處理缺失值,同時(shí)保持提取數(shù)據(jù)的結(jié)構(gòu)完整性。 ![]() 數(shù)據(jù)轉(zhuǎn)換(Data Transformation) 無(wú)論原始文件類型如何,這一步將所有提取和處理的內(nèi)容轉(zhuǎn)換為標(biāo)準(zhǔn)化架構(gòu)。正是在此階段發(fā)生文檔分區(qū)(不要與分塊混淆),將文檔內(nèi)容分成邏輯單元或元素(例如段落、部分、表格)。 ![]() 分塊技巧(Chunking Strategies) 分塊將大型文檔劃分為較小的、語(yǔ)義上有意義的片段。此過(guò)程通過(guò)平衡上下文保留和可管理的塊大小來(lái)優(yōu)化檢索。RAG 中存在各種有效分塊的常用技術(shù),下面將討論其中一些技術(shù): 固定大小分塊(Fixed-size chunking)是一種簡(jiǎn)單的技術(shù),無(wú)論內(nèi)容結(jié)構(gòu)如何,它都會(huì)將文本拆分成預(yù)定大小的塊。雖然這種方法成本低廉,但缺乏上下文感知能力。可以使用重疊塊來(lái)改進(jìn)這一點(diǎn),讓相鄰的塊共享一些內(nèi)容。 ![]() 遞歸分塊(Recursive chunking)提供了更大的靈活性,它首先使用主分隔符(如段落)拆分文本,然后如果分塊仍然太大,則應(yīng)用次要分隔符(如句子)。此技術(shù)尊重文檔的結(jié)構(gòu),并能很好地適應(yīng)各種用例。 ![]() 基于文檔(Document-based chunking)的分塊根據(jù)文檔中的自然劃分(例如標(biāo)題或章節(jié))創(chuàng)建分塊。它對(duì)于 HTML、Markdown 或代碼文件等結(jié)構(gòu)化數(shù)據(jù)特別有效,但當(dāng)數(shù)據(jù)缺乏明確的結(jié)構(gòu)元素時(shí)用處不大。 ![]() 語(yǔ)義分塊(Semantic chunking)將文本劃分為有意義的單元,然后將其矢量化。然后根據(jù)嵌入之間的余弦距離將這些單元組合成塊,每當(dāng)檢測(cè)到顯著的上下文變化時(shí),就會(huì)形成一個(gè)新的塊。這種方法平衡了語(yǔ)義連貫性和塊大小。 ![]() 基于 LLM 的分塊(LLM-based chunking)是一種先進(jìn)的技術(shù),它使用 LLM 通過(guò)處理文本并創(chuàng)建語(yǔ)義上獨(dú)立的句子或命題來(lái)生成塊。雖然它非常準(zhǔn)確,但它也是計(jì)算要求最高的一種方法。 ![]() 上述每種技術(shù)都有其優(yōu)勢(shì),具體選擇取決于 RAG 系統(tǒng)的具體要求和所處理文檔的性質(zhì)。新方法不斷涌現(xiàn),例如后期分塊(late chunking),它先通過(guò)長(zhǎng)上下文嵌入模型處理文本,然后再將其拆分為塊,以更好地保留文檔范圍內(nèi)的上下文。 預(yù)檢索優(yōu)化索引優(yōu)化技術(shù)通過(guò)以更有條理、更易于搜索的方式構(gòu)建外部數(shù)據(jù)來(lái)提高檢索準(zhǔn)確性。這些技術(shù)可應(yīng)用于 RAG 流水線中的數(shù)據(jù)預(yù)處理和分塊階段,確保有效檢索相關(guān)信息。 ![]() 查詢轉(zhuǎn)換(Query Transformation) 直接使用用戶查詢作為搜索查詢進(jìn)行檢索會(huì)導(dǎo)致搜索結(jié)果不佳。這就是為什么將原始用戶查詢轉(zhuǎn)換為優(yōu)化的搜索查詢至關(guān)重要。查詢轉(zhuǎn)換可以細(xì)化和擴(kuò)展不清楚、復(fù)雜或模棱兩可的用戶查詢,以提高搜索結(jié)果的質(zhì)量。 查詢重寫(Query Rewriting)涉及重新制定原始用戶查詢,使其更適合檢索。這在用戶查詢措辭不當(dāng)或表達(dá)方式不同的情況下特別有用。這可以通過(guò)使用 LLM 重新措辭原始用戶查詢或采用專門為此任務(wù)訓(xùn)練的專門的小型語(yǔ)言模型來(lái)實(shí)現(xiàn)。 這種方法稱為“重寫-檢索-閱讀”(Rewrite-Retrieve-Read),而不是傳統(tǒng)的“檢索后閱讀”(Retrieve-then-Read)范式。 ![]() 查詢擴(kuò)展(Query Expansion)側(cè)重于擴(kuò)大原始查詢的范圍以捕獲更多相關(guān)信息。這涉及使用 LLM 根據(jù)用戶的初始輸入生成多個(gè)類似查詢。然后,這些擴(kuò)展的查詢將用于檢索過(guò)程,從而增加檢索到的文檔的數(shù)量和相關(guān)性。 注意:由于檢索到的文檔數(shù)量增加,通常需要執(zhí)行重新排序步驟以優(yōu)先考慮最相關(guān)的結(jié)果(會(huì)在后面的重新排序部分介紹)。 ![]() 查詢分解(Query Decomposition) ![]() 查詢分解是一種將復(fù)雜查詢分解為更簡(jiǎn)單的子查詢的技術(shù)。這對(duì)于回答需要多種信息源的多方面問(wèn)題非常有用,從而獲得更精確、更相關(guān)的搜索結(jié)果。 該過(guò)程通常涉及兩個(gè)主要階段:使用 LLM 將原始查詢分解為更小、更集中的子查詢,然后處理這些子查詢以檢索相關(guān)信息。 例如,復(fù)雜查詢“為什么我吃得健康,但總是這么累?我應(yīng)該改變飲食習(xí)慣還是嘗試一些飲食趨勢(shì)?”可以分解為以下三個(gè)更簡(jiǎn)單的子查詢:
每個(gè)子查詢都針對(duì)特定方面,使檢索器能夠找到相關(guān)文檔或塊。子查詢也可以并行處理以提高效率。關(guān)鍵詞提取和元數(shù)據(jù)過(guò)濾器提取等附加技術(shù)可以幫助識(shí)別關(guān)鍵搜索詞和結(jié)構(gòu)化過(guò)濾條件,從而實(shí)現(xiàn)更精確的搜索。檢索后,系統(tǒng)會(huì)匯總和綜合所有子查詢的結(jié)果,以生成對(duì)原始復(fù)雜查詢的全面答案。 查詢路由(Query Routing) 查詢路由是一種根據(jù)查詢的內(nèi)容和意圖將查詢定向到特定流水線的技術(shù),使 RAG 系統(tǒng)能夠有效地處理各種場(chǎng)景。它通過(guò)分析每個(gè)查詢并選擇最佳檢索方法或處理流水線來(lái)提供準(zhǔn)確的響應(yīng)。這通常需要實(shí)施多索引策略,將不同類型的信息組織成單獨(dú)的、經(jīng)過(guò)優(yōu)化的專門索引。 該過(guò)程可以包括 Agentic 元素,其中 AI Agent 決定如何處理每個(gè)查詢。這些 Agent 評(píng)估查詢復(fù)雜性和領(lǐng)域等因素以確定最佳方法。例如,基于事實(shí)的問(wèn)題可能會(huì)被路由到一個(gè)流水線,而需要總結(jié)或解釋的問(wèn)題則會(huì)被發(fā)送到另一個(gè)流水線。 Agentic RAG 的功能類似于一個(gè)專門 Agent 網(wǎng)絡(luò),每個(gè) Agent 都具有不同的專業(yè)知識(shí)。它可以從各種數(shù)據(jù)存儲(chǔ)、檢索策略(基于關(guān)鍵字、語(yǔ)義或混合)、查詢轉(zhuǎn)換(針對(duì)結(jié)構(gòu)不良的查詢)和專門工具或 API(例如文本到 SQL 轉(zhuǎn)換器甚至 Web 搜索功能)中進(jìn)行選擇。 ![]() 檢索優(yōu)化檢索優(yōu)化策略旨在通過(guò)直接操縱與用戶查詢相關(guān)的外部數(shù)據(jù)檢索方式來(lái)改善檢索結(jié)果。這可能涉及優(yōu)化搜索查詢,例如使用元數(shù)據(jù)篩選候選或排除異常值,甚至涉及微調(diào)外部數(shù)據(jù)的嵌入模型以提高底層嵌入本身的質(zhì)量。 ![]() 元數(shù)據(jù)過(guò)濾(Metadata Filtering) ![]() 元數(shù)據(jù)是附加在向量數(shù)據(jù)庫(kù)中每個(gè)文檔或塊上的附加信息,可提供有價(jià)值的上下文以增強(qiáng)檢索。這些補(bǔ)充數(shù)據(jù)可以包括時(shí)間戳、類別、作者信息、來(lái)源參考、語(yǔ)言、文件類型等。 從向量數(shù)據(jù)庫(kù)檢索內(nèi)容時(shí),元數(shù)據(jù)有助于通過(guò)過(guò)濾掉不相關(guān)的對(duì)象(即使它們?cè)谡Z(yǔ)義上與查詢相似)來(lái)優(yōu)化結(jié)果。這縮小了搜索范圍并提高了檢索信息的相關(guān)性。 使用元數(shù)據(jù)的另一個(gè)好處是時(shí)間意識(shí)。通過(guò)將時(shí)間戳合并為元數(shù)據(jù),系統(tǒng)可以優(yōu)先處理最近的信息,確保檢索到的知識(shí)保持最新和相關(guān)。這在信息新鮮度至關(guān)重要的領(lǐng)域尤其有用。 為了充分利用元數(shù)據(jù)過(guò)濾,重要的是要仔細(xì)規(guī)劃并選擇能夠改善搜索而不會(huì)增加不必要復(fù)雜性的元數(shù)據(jù)。 排除向量搜索異常值(Excluding Vector Search Outliers) ![]() 定義返回結(jié)果數(shù)量的最直接方法是明確設(shè)置前 k 個(gè) (top_k) 結(jié)果的值。如果將 top_k 設(shè)置為 5,我們將獲得五個(gè)最接近的向量,無(wú)論它們的相關(guān)性如何。雖然很容易實(shí)現(xiàn),但這可能會(huì)包括較差的匹配,因?yàn)樗鼈儽唤財(cái)嗔恕?/span> 以下是兩種隱式管理搜索結(jié)果數(shù)量的技術(shù),它們可以幫助排除異常值: 距離閾值(Distance thresholding)通過(guò)設(shè)置向量之間的最大允許距離來(lái)添加質(zhì)量檢查。距離分?jǐn)?shù)高于此閾值的任何結(jié)果都會(huì)被過(guò)濾掉,即使它本來(lái)可以達(dá)到 top_k 截止值。這有助于消除明顯的不良匹配,但需要仔細(xì)調(diào)整閾值。 ![]() Autocut 更具動(dòng)態(tài)性:它查看結(jié)果距離的聚類方式。它不使用固定限制,而是根據(jù)結(jié)果與查詢向量的相對(duì)距離對(duì)結(jié)果進(jìn)行分組。當(dāng)組間距離分?jǐn)?shù)出現(xiàn)大幅跳躍時(shí),Autocut 可以在該跳躍處截?cái)嘟Y(jié)果。這會(huì)捕獲可能通過(guò) top_k 或基本距離閾值的異常值。 ![]() 混合搜索(Hybrid Search) ![]() 混合搜索結(jié)合了基于向量的語(yǔ)義搜索和傳統(tǒng)的基于關(guān)鍵字的方法的優(yōu)勢(shì)。該技術(shù)旨在提高 RAG 系統(tǒng)中檢索信息的相關(guān)性和準(zhǔn)確性。 混合搜索的關(guān)鍵在于“alpha”(a)參數(shù),它控制著語(yǔ)義和基于關(guān)鍵字的搜索方法之間的平衡:
當(dāng)我們同時(shí)需要上下文理解和精確關(guān)鍵字匹配時(shí),這種方法特別有用。 考慮一家軟件公司的技術(shù)支持知識(shí)庫(kù)。用戶可能會(huì)提交“更新后 Excel 公式計(jì)算不正確”之類的查詢。在這種情況下,語(yǔ)義搜索有助于了解問(wèn)題的上下文,可能會(huì)檢索有關(guān)公式錯(cuò)誤、計(jì)算問(wèn)題或軟件更新影響的文章。同時(shí),關(guān)鍵字搜索可確保不會(huì)忽略包含“Excel”和“公式”等特定術(shù)語(yǔ)的文檔。 因此,在實(shí)施混合搜索時(shí),根據(jù)我們的特定用例調(diào)整 alpha 參數(shù)以優(yōu)化性能至關(guān)重要。 嵌入模型微調(diào)(Embedding Model Fine-Tuning) ![]() 現(xiàn)成的嵌入模型通常在大型通用數(shù)據(jù)集上進(jìn)行訓(xùn)練,以嵌入廣泛的數(shù)據(jù)輸入。但是,嵌入模型可能無(wú)法捕獲較小、特定于領(lǐng)域的數(shù)據(jù)集的上下文和細(xì)微差別。 在自定義數(shù)據(jù)集上微調(diào)嵌入模型可以顯著提高嵌入的質(zhì)量,從而提高 RAG 等下游任務(wù)的性能。微調(diào)可以改進(jìn)嵌入,以更好地捕獲數(shù)據(jù)集的含義和上下文,從而在 RAG 應(yīng)用程序中實(shí)現(xiàn)更準(zhǔn)確、更相關(guān)的檢索。 我們的數(shù)據(jù)集越小眾,它就越能從嵌入模型微調(diào)中受益。具有專業(yè)詞匯的數(shù)據(jù)集(如醫(yī)學(xué)或法律數(shù)據(jù)集)是嵌入模型微調(diào)的理想選擇,這有助于擴(kuò)展領(lǐng)域外的詞匯,并提高 RAG 流水線中信息檢索和生成的準(zhǔn)確性和相關(guān)性。 要微調(diào)現(xiàn)有的嵌入模型,我們首先需要選擇一個(gè)想要改進(jìn)的基礎(chǔ)模型。接下來(lái),通過(guò)向模型提供特定于域的數(shù)據(jù)來(lái)開始微調(diào)過(guò)程。在此過(guò)程中,損失函數(shù)會(huì)調(diào)整模型的嵌入,以便語(yǔ)義相似的項(xiàng)目在嵌入空間中放置得更近。要評(píng)估微調(diào)后的嵌入模型,我們可以使用一組精選的查詢-答案對(duì)驗(yàn)證集來(lái)評(píng)估 RAG 流水線中的檢索質(zhì)量。現(xiàn)在,該模型已準(zhǔn)備好為我們的特定數(shù)據(jù)集生成更準(zhǔn)確、更具代表性的嵌入。 后檢索優(yōu)化![]() 檢索后優(yōu)化技術(shù)旨在提高生成的響應(yīng)的質(zhì)量,這意味著它們的工作在檢索過(guò)程完成后開始。這組多樣化的技術(shù)包括使用模型對(duì)檢索結(jié)果進(jìn)行重新排序、增強(qiáng)或壓縮檢索到的上下文、提示工程以及在外部數(shù)據(jù)上微調(diào)生成 LLM。 重新排序(Re-Ranking) 一種行之有效的提高信息檢索系統(tǒng)性能的方法是利用檢索和重新排序流水線。檢索和重新排序流水線將向量搜索的速度與重新排序模型的上下文豐富性相結(jié)合。 在向量搜索中,查詢和文檔是分開處理的。首先,對(duì)文檔進(jìn)行預(yù)索引。然后,在查詢時(shí),處理查詢,并檢索向量空間中最接近的文檔。雖然向量搜索是一種快速檢索候選的方法,但它可能會(huì)錯(cuò)過(guò)上下文細(xì)微差別。 這就是重新排序模型發(fā)揮作用的地方。由于重新排序模型在查詢時(shí)會(huì)同時(shí)處理查詢和文檔,因此它們可以捕獲更多上下文細(xì)微差別。但是,它們通常很復(fù)雜且資源密集,因此不適合像向量搜索這樣的第一階段檢索。 通過(guò)將向量搜索與重新排序模型相結(jié)合,我們可以快速地收集大量潛在候選者,然后對(duì)它們進(jìn)行重新排序,以提高提示中相關(guān)上下文的質(zhì)量。 請(qǐng)注意,在使用重新排序模型時(shí),我們應(yīng)該過(guò)度檢索塊,以便稍后過(guò)濾掉不太相關(guān)的塊。 ![]() 上下文后處理(Context Post-Processing) 檢索后,對(duì)檢索到的上下文進(jìn)行后處理以便生成會(huì)大有裨益。例如,如果檢索到的上下文可能受益于附加信息,則可以使用元數(shù)據(jù)對(duì)其進(jìn)行增強(qiáng)。另一方面,如果它包含冗余數(shù)據(jù),則可以對(duì)其進(jìn)行壓縮。 使用元數(shù)據(jù)進(jìn)行上下文增強(qiáng)(Context Enhancement with Metadata) 一種后處理技術(shù)是使用元數(shù)據(jù)通過(guò)附加信息增強(qiáng)檢索到的上下文,以提高生成準(zhǔn)確性。雖然我們可以簡(jiǎn)單地從元數(shù)據(jù)中添加附加信息,例如時(shí)間戳、文檔名稱等,但我們也可以應(yīng)用更具創(chuàng)意的技術(shù)。 當(dāng)數(shù)據(jù)需要預(yù)處理成較小的塊大小以實(shí)現(xiàn)更好的檢索精度,但其不包含足夠的上下文信息來(lái)生成高質(zhì)量的響應(yīng)時(shí),上下文增強(qiáng)特別有用。在這種情況下,我們可以應(yīng)用一種稱為“句子窗口檢索”(Sentence window retrieval)的技術(shù)。此技術(shù)將初始文檔分塊成較小的部分(通常是單個(gè)句子),但在其元數(shù)據(jù)中存儲(chǔ)較大的上下文窗口。在檢索時(shí),較小的塊有助于提高檢索精度。檢索后,檢索到的較小塊將被較大的上下文窗口替換,以提高生成質(zhì)量。 ![]() 上下文壓縮(Context Compression) RAG 系統(tǒng)依賴各種知識(shí)源來(lái)檢索相關(guān)信息。然而,這通常會(huì)導(dǎo)致檢索不相關(guān)或冗余的數(shù)據(jù),從而導(dǎo)致響應(yīng)不理想和 LLM 調(diào)用成本高昂(更多 token)。 上下文壓縮通過(guò)從檢索到的數(shù)據(jù)中提取最有意義的信息,有效地解決了這一挑戰(zhàn)。此過(guò)程從基本檢索器開始,該檢索器檢索與查詢相關(guān)的文檔/塊。然后,這些文檔/塊通過(guò)文檔壓縮器進(jìn)行壓縮,以縮短它們并消除不相關(guān)的內(nèi)容,確保有價(jià)值的數(shù)據(jù)不會(huì)丟失在大量無(wú)關(guān)信息中。 上下文壓縮減少了數(shù)據(jù)量,降低了檢索和運(yùn)營(yíng)成本。當(dāng)前的研究主要集中在兩種方法上:基于嵌入和基于詞匯的壓縮,這兩種方法都旨在保留基本信息,同時(shí)減輕 RAG 系統(tǒng)的計(jì)算需求。 ![]() 提示工程(Prompt Engineering) LLM 的生成輸出受其相應(yīng)提示的質(zhì)量、語(yǔ)氣、長(zhǎng)度和結(jié)構(gòu)的影響很大。提示工程是優(yōu)化 LLM 提示以提高生成輸出的質(zhì)量和準(zhǔn)確性的實(shí)踐。提示工程通常是改進(jìn) RAG 系統(tǒng)的技術(shù)中最容易實(shí)現(xiàn)的成果之一,它不需要對(duì)底層 LLM 本身進(jìn)行更改。這使得它成為一種高效且易于訪問(wèn)的方法來(lái)提高性能,而無(wú)需進(jìn)行復(fù)雜的修改。 有幾種不同的提示技術(shù)在改進(jìn) RAG 流水線方面特別有用。 ![]() CoT (Chain of Thought,思維鏈) 提示涉及要求模型“逐步思考”,并將復(fù)雜的推理任務(wù)分解為一系列中間步驟。當(dāng)檢索到的文檔包含需要仔細(xì)分析的沖突或密集信息時(shí),這尤其有用。 ToT (Tree of Thoughts,思維樹) 提示以 CoT 為基礎(chǔ),指示模型評(píng)估其在解決問(wèn)題過(guò)程中每一步的響應(yīng),甚至生成問(wèn)題的幾種不同解決方案并選擇最佳結(jié)果。當(dāng)存在許多潛在證據(jù)時(shí),這在 RAG 中很有用,并且模型需要根據(jù)多個(gè)檢索到的文檔權(quán)衡不同的可能答案。 ReAct(Reasoning and Acting,推理和行動(dòng))提示將 CoT 與 Agent 相結(jié)合,創(chuàng)建了一個(gè)系統(tǒng),其中模型可以生成想法并將行動(dòng)委托給 Agent,Agent 在迭代過(guò)程中與外部數(shù)據(jù)源交互。ReAct 可以通過(guò)使 LLM 能夠動(dòng)態(tài)地與檢索到的文檔交互、根據(jù)外部知識(shí)更新推理和行動(dòng)來(lái)改進(jìn) RAG 流水線,從而提供更準(zhǔn)確、更符合上下文的響應(yīng)。 LLM 微調(diào)(LLM Fine-Tuning) ![]() 預(yù)訓(xùn)練的 LLM 在大型、多樣化的數(shù)據(jù)集上進(jìn)行訓(xùn)練,以獲得一般知識(shí),包括語(yǔ)言和語(yǔ)法模式、廣泛的詞匯量以及執(zhí)行一般任務(wù)的能力。對(duì)于 RAG,使用預(yù)訓(xùn)練的 LLM 有時(shí)會(huì)導(dǎo)致生成的輸出過(guò)于籠統(tǒng)、事實(shí)不正確或無(wú)法直接解決檢索到的上下文。 微調(diào)預(yù)訓(xùn)練模型涉及在特定數(shù)據(jù)集或任務(wù)上對(duì)其進(jìn)行進(jìn)一步訓(xùn)練,以使模型的一般知識(shí)適應(yīng)該特定領(lǐng)域的細(xì)微差別,從而提高其在該領(lǐng)域的性能。在 RAG 流水線中使用微調(diào)模型有助于提高生成的響應(yīng)的質(zhì)量,尤其是當(dāng)手頭的主題高度專業(yè)化時(shí)。 高質(zhì)量的領(lǐng)域特定數(shù)據(jù)對(duì)于微調(diào) LLM 至關(guān)重要。標(biāo)記數(shù)據(jù)集(如正面和負(fù)面的客戶評(píng)論)可以幫助微調(diào)模型更好地執(zhí)行下游任務(wù),如文本分類或情緒分析。另一方面,未標(biāo)記的數(shù)據(jù)集(如 PubMed 上發(fā)布的最新文章)可以幫助微調(diào)模型獲得更多領(lǐng)域特定知識(shí)并擴(kuò)大詞匯量。 在微調(diào)過(guò)程中,預(yù)訓(xùn)練的 LLM(也稱為基礎(chǔ)模型)的模型權(quán)重通過(guò)稱為反向傳播的過(guò)程進(jìn)行迭代更新,以從領(lǐng)域特定數(shù)據(jù)集中學(xué)習(xí)。結(jié)果是經(jīng)過(guò)微調(diào)的 LLM 可以更好地捕捉新數(shù)據(jù)的細(xì)微差別和要求,例如特定術(shù)語(yǔ)、風(fēng)格或語(yǔ)氣。 總結(jié)RAG 通過(guò)使生成模型能夠引用外部數(shù)據(jù)來(lái)增強(qiáng)生成模型,從而提高響應(yīng)準(zhǔn)確性和相關(guān)性,同時(shí)減輕幻覺(jué)和信息差距。簡(jiǎn)單的 RAG 根據(jù)查詢相似性檢索文檔,并直接將它們輸入生成模型以生成響應(yīng)。但是,更先進(jìn)的技術(shù)(如本指南中詳細(xì)介紹的技術(shù))可以通過(guò)增強(qiáng)檢索信息的相關(guān)性和準(zhǔn)確性來(lái)顯著提高 RAG 流水線的質(zhì)量。 本文回顧了可應(yīng)用于 RAG 流水線各個(gè)階段的高級(jí) RAG 技術(shù),以提高檢索質(zhì)量和生成響應(yīng)的準(zhǔn)確性。
我建議實(shí)施驗(yàn)證流水線,以確定 RAG 系統(tǒng)的哪些部分需要優(yōu)化,并評(píng)估高級(jí)技術(shù)的有效性。評(píng)估我們的 RAG 流水線可以實(shí)現(xiàn)持續(xù)監(jiān)控和改進(jìn),確保優(yōu)化對(duì)檢索質(zhì)量和模型性能產(chǎn)生積極影響。
|
|
來(lái)自: 邸彥強(qiáng) > 《大模型》