LLM Research Findings - RAG在大型語言模型中的應用

本篇目標


為什麼需要 RAG?

在使用大型語言模型(LLMs)時,常會遇到以下挑戰:

  • 領域知識不足
  • 事實錯誤(factuality issues)
  • 幻覺現象(hallucination)

RAG(Retrieval-Augmented Generation) 是一種解法,透過引入外部知識來源(如資料庫)來強化 LLM 的輸出結果,尤其適用於:

  • 知識密集型應用場景
  • 持續更新的領域專業應用(如醫療、金融、法規)

RAG 的一大優勢是:

不需要對 LLM 進行再訓練,就能適應特定任務。

這使 RAG 成為建構對話型 AI、知識查詢助手等應用的熱門架構。


關於本摘要內容

本摘要整理自 Gao 等人於 2023 年發表的研究報告:
《Retrieval-Augmented Generation for Large Language Models: A Survey》

重點涵蓋以下主題:

  1. RAG 現有方法概觀
  2. 最新技術與演算法(State-of-the-art RAG)
  3. 系統組成元件與技術(檢索、生成、增強)
  4. 評估方法與常見應用場景

RAG 簡介

運作流程

  1. 使用者輸入一段 prompt
  2. 外部文件庫(Document Store) 檢索出相關內容
  3. 將檢索到的內容與原始 prompt 合併後送進 語言模型(Generator)
  4. 模型生成更準確、時效性高的 回應

如這裡對RAG 的定義:

RAG是一個將輸入與一組相關的支援文件結合起來的技術,這些文件通常來自像維基百科這樣的來源。這些文件被加入到輸入提示中,一起送入文字產生器,從而產生最終的輸出。 RAG的這個機制特別適用於需要應對資訊不斷更新的場景,因為大語言模型(LLM)所依賴的參數知識本質上是靜態的。透過RAG,語言模型可以不經過重新訓練而直接存取最新訊息,以便產生可靠的、基於檢索的輸出。

簡言之,RAG 透過檢索真實世界的資料,讓語言模型的回應更可靠、更符合時效性。


Retrieval-Augmented Generation (RAG) 演進樹圖

雖然 RAG 早期重視在 預訓練(Pre-training) 階段結合知識,但近年來的發展已轉向將 RAG 搭配強大的 微調模型(Fine-tuned LLMs) 如 ChatGPT、Mixtral 等進行整合應用。

下圖展示了 2020–2024 年間 RAG 技術的發展分支與代表性方法,依據不同增強階段分類:

  • 綠色分支:預訓練階段增強(Pre-training)
  • 橘色分支:微調階段增強(Fine-tuning)
  • 藍色分支:推論階段增強(Inference)

下圖展示了一個典型的 RAG(檢索增強生成)應用流程:

RAG 應用流程說明

  1. 輸入(Input)

    • 使用者輸入查詢(Query)
      例句:「你怎麼看待 OpenAI CEO Sam Altman 被董事會突然解職又迅速回任這件事?」

    • 無 RAG 的情況
      LLM 嘗試直接回答此問題,但由於知識更新延遲,可能無法提供正確回應。

  2. 索引(Indexing)

    • 將知識文件(Documents)切分為小區塊(Chunks)
    • 對這些區塊進行向量化(使用 Embeddings)
    • 存入向量資料庫(Vector Store)
  3. 檢索(Retrieval)

    • 將使用者的查詢也進行向量化處理
    • 與索引中的向量比對,取回最相符的 相關文檔(Relevant Documents)
      • 例如:
        • Chunk 1:Sam Altman 回歸 CEO,一場類似甄嬛傳的鬧劇
        • Chunk 2:董事會重組
        • Chunk 3:人事動盪的輸贏與治理問題
  4. 生成(Generation)

    • 結合查詢與檢索文檔內容,構成新的提示(Prompt)
    • 將此提示送入 LLM 進行回應生成
  5. 輸出(Output)

    • 未使用 RAG 的輸出:

      “我無法評論未來事件,目前沒有任何關於 OpenAI CEO 解職與回任的資訊。”

    • 使用 RAG 的輸出:

      “這顯示 OpenAI 在未來方向與策略決策上出現重大內部分歧,所有這些變動都反映了權力鬥爭與公司治理問題。”

結論
使用 RAG 能有效彌補 LLM 對最新資訊的了解不足,並提升回答的準確性與時效性,尤其在應對快速變動或知識密集的場景中。


RAG 範式

這張圖概述了 RAG 系統的三個演化階段:Naive RAG(基礎型)Advanced RAG(進階型)、和 Modular RAG(模組化)。以下是對三者的比較與說明:

1. Naive RAG(基礎 RAG)

  • 流程:
    使用者輸入 → 索引文件 → 檢索相關內容 → 加入提示 → 輸入凍結 LLM → 輸出回答。
  • 特點:
    • 無額外優化步驟。
    • 只進行簡單檢索與生成。
    • 適用於基本查詢任務。
  • 缺點:
    • 低精準度:檢索結果可能與查詢不相關。
    • 低召回率:無法找回所有有用資料。
    • 可能生成錯誤或重複內容(幻覺與冗餘)

2. Advanced RAG(進階 RAG)

  • 新增模組:
    • Pre-Retrieval(檢索前):
      • 查詢重寫(Query Rewriting)
      • 查詢擴展(Query Expansion)
      • 查詢路由(Query Routing)
    • Post-Retrieval(檢索後):
      • 重新排序(Reranking)
      • 摘要生成(Summarization)
      • 資訊融合(Fusion)
  • 優化面向:
    • 更細緻的文件索引與向量嵌入。
    • 使用 reranker 改善檢索結果排序。
    • 應對上下文長度限制與雜訊干擾。
  • 效果:
    • 回應更準確、相關性提升。
    • 減少幻覺與資訊偏差。

3. Modular RAG(模組化 RAG)

  • 結構特性:
    • 將整個系統模組化:可靈活插拔、重組。
    • 模組包含:
      • 檢索(Retrieve)、讀取(Read)、重新排序(Rerank)
      • 記憶(Memory)、路由(Routing)、預測(Predict)
      • 搜尋(Search)、融合(Fusion)、示範(Demonstrate)
  • 優勢:
    • 高擴展性,可根據任務需求調整工作流。
    • 可結合多步驟檢索、混合檢索、HyDE、子查詢等高級技巧。
    • 能處理更複雜、邏輯性強的任務(如 DSP、ITER-RETGEN 等應用)。
  • 應用場景:
    • 多模態任務
    • 多步推理
    • 大型問答系統與行為代理人

RAG 框架

在這一部分,我們將概述RAG 系統的核心組成部分,包括檢索、生成和增強三大環節的最新進展。這些組件共同構成了RAG 的基礎,使其能夠有效處理各種資訊檢索和內容生成的任務,進而提升系統的整體效能和應用彈性。


Retrieval (檢索)

Retrieval 是 RAG 中用來取得與使用者查詢最相關的上下文資訊的重要模組。其效能對整體系統輸出品質有關鍵影響。以下是幾種增強 Retrieval 效果的方式:

1. Enhancing Semantic Representations(強化語意表示)

提升語意嵌入的表達能力,以強化 Retriever 的基礎能力。

  • Chunking 策略

    • 決定如何切割文件(chunking)是關鍵步驟。
    • 不同模型對不同長度的文本塊表現不同:
      • sentence-transformers ➜ 適合處理單句。
      • text-embedding-ada-002 ➜ 適合處理 256–512 tokens 區塊。
    • 其他考量:
      • 使用者問題長度
      • 任務類型
      • token 限制
    • 建議實驗多種 chunking 策略以找到最適化方案。
  • Fine-tuned Embedding Models

    • 針對專業領域資料,預訓練的 embedding 模型可能無法精準處理查詢。
    • 需針對:
      • 廣域領域 進行語意調整(domain-level fine-tuning)。
      • 下游任務 做精細調教(task-specific fine-tuning)。
    • 推薦模型:

2. Aligning Queries and Documents(查詢與文件語意對齊)

目的是讓查詢與文件嵌入在相同語意空間,提升匹配效果。

  • Query Rewriting(查詢重寫)

    • 利用 LLM 重寫使用者查詢,使其更貼近語料內容。
    • 範例技術:
  • Embedding Transformation(嵌入轉換)

    • 將查詢嵌入轉換至任務對齊的潛在語意空間中。
    • 解決查詢不完整、模糊的問題。

3. Aligning Retriever and LLM(Retriever 與 LLM 對齊)

確保 Retriever 檢索出的內容能配合 LLM 偏好與風格進行生成。

  • Fine-tuning Retrievers

    • 使用 LLM 回饋訊號(如 RLHF)調整檢索器。
    • 範例方法:
  • 使用 Adapters 模組

    • 加入外部模組進行微調或補足資訊。
    • 範例:

Generation (生成)

在 Retrieval-Augmented Generation (RAG) 系統中,Generator 的角色是將檢索到的資訊轉換為連貫、自然的文字,構成模型的最終輸出。

由於生成所使用的資料來源多樣,可能來自使用者查詢與多篇文件,這使得生成任務變得更加複雜,需要調整模型對輸入資料的適應能力。這可透過以下兩種方式優化:

1. Post-Retrieval with Frozen LLM(凍結 LLM 下的後處理優化)

在這種方式中,我們不調整語言模型(LLM)本身,而是透過改善檢索結果來提升最終生成品質。

  • 資訊壓縮(Information Compression)

    • 減少雜訊
    • 應對 LLM 的上下文長度限制
    • 強化生成效果的聚焦與可讀性
  • 重排序(Reranking)

    • 將最相關的檢索結果排在前面
    • 確保 LLM 能優先處理最具關聯性的內容

這種策略可以保留原本的 LLM 架構,降低部署與更新的複雜性。

2. Fine-tuning LLM for RAG(針對 RAG 微調 LLM)

透過微調(fine-tuning),可以使 LLM 更加適應 RAG 框架,提升生成文字的自然度與對文件內容的引用能力。

  • 目的:
    • 強化生成過程中對檢索內容的引用與整合
    • 改善語句連貫性與自然語言流暢度
    • 提升模型對不同任務的適應力(如摘要、問答、評論生成)

這種方式通常需要:

  • 高品質的訓練資料(查詢、檢索文件、目標輸出)
  • 明確標註檢索與生成內容間的關係

Augmentation (增強)

增強涉及將檢索到的段落中的上下文與當前的生成任務有效整合的過程。在進一步討論增強過程、增強階段和增強資料之前,以下是 RAG 核心組件的分類:


Figure Source

Retrieval Augmentation 可以在多個階段應用,目的在於提供即時與相關的外部知識,增強 LLM 的輸出品質。

1. Augmentation Stages(增強階段)

Retrieval 可在以下階段進行:

  • Pre-training:如 RETRO,在預訓練階段整合外部知識與檢索系統。透過額外的編碼器結合背景文件,從零開始大規模訓練。
  • Fine-tuning:微調階段搭配檢索增強,可提升對特定任務的適應性與準確率。
  • Inference:推理階段應用最廣泛,能根據任務需求即時整合外部資訊,提升生成品質。

2. Augmentation Source(增強資料來源)

選擇適當的資料來源是 RAG 效能的關鍵:

  • Unstructured Data:如文章、報告、網頁等原始文本(例:新聞、Wikipedia)。
  • Structured Data:如表格、知識圖譜、JSON 格式資料(例:公司資料庫、產品規格)。
  • LLM Generated Content:由其他 LLM 預先生成的中介結果(例:摘要、重寫、子問題等)。

3. Augmentation Process(增強流程設計)

為了解決複雜問題(如多步推理),單一檢索往往不夠。下列是三種常見的增強策略:

(1) Iterative Retrieval

  • 概念:模型執行多輪檢索-生成-再檢索的流程,以強化內容深度與相關性。
  • 代表方法RETRO, GAR-meets-RAG
    (2) Recursive Retrieval
  • 概念:將第一次檢索的輸出作為下一輪檢索的輸入,持續深入探索資訊。
  • 應用情境:多步推理、法律分析、研究查詢。
  • 代表方法IRCoT, Tree of Clarifications

(3) Adaptive Retrieval

  • 概念:根據當前任務狀況決定何時、檢索什麼資料最合適。
  • 具彈性與效率:能自動調整檢索流程,減少不必要的查詢。
  • 代表方法FLARE`, Self-RAG

下圖詳細展示了 RAG 研究的不同增強方面,包括增強階段、來源和流程。


Figure Source

圖像解讀架構說明:

1. 時間軸(左側垂直軸)

  • 從 2020(如 REALM)到 2024(如 GenRead)橫跨近五年的研究。
  • GPT-3 / ChatGPT / GPT-4 為標示的重要里程碑模型背景。

2. 增強階段(Augmentation Stage)

以三種顏色區分不同的 RAG 增強方式:

顏色 意義
:green_circle: 綠色分支 Pre-training 增強:在大型語言模型訓練前進行的檢索增強,如 RETRO, InstructRetro
:orange_circle: 橘色分支 Fine-tuning 增強:模型訓練完後進行任務微調時的增強,如 SelfMem, SANTA
:blue_circle: 藍色分支 Inference 增強:在推理階段即時檢索輔助,如 GenRead, KnowledGPT, KNN-LLM

3. 資料來源(Augmentation Source)

每個研究節點的背景顏色代表它使用的資料類型:

顏色 資料類型
綠色背景 Unstructured Data(非結構化資料)
黃色背景 Structured Data(結構化資料)
紫色背景 LLM Generated Content(由 LLM 自行生成的資料,如摘要、中介子任務)

4. 增強流程(Augmentation Process)

每個節點的邊框樣式表示使用了哪種檢索增強策略:

邊框樣式 檢索方式
實線邊框 Once Retrieval(單次檢索)
虛線邊框 Iterative Retrieval(多輪遞進檢索)
藍色虛線邊框 Recursive Retrieval(遞迴式檢索)
無邊框 涵蓋其他非標準流程(如模組化結構)

RAG vs. Fine-tuning:哪個適合你的應用?

當我們使用大型語言模型(LLMs)時,常會遇到一個問題:該用 Retrieval-Augmented Generation(RAG)還是 Fine-tuning?

其實這兩者的應用場景不同,但可以互相搭配。

RAG 是什麼?適合什麼情況?

  • 目的:讓模型能即時使用「新的外部知識」。
  • 適用情境
    • 資料常常更新(例如新聞、產品資訊)。
    • 不希望每次知識變更都重新訓練模型。
  • 舉例:查詢 OpenAI CEO 最新的新聞事件。

Fine-tuning 是什麼?適合什麼情況?

  • 目的:提升模型的「內部能力」。
  • 適用情境
    • 改善回答格式、語氣、風格。
    • 教會模型執行複雜的任務(如多步驟操作)。
  • 舉例:讓模型學會用你公司的客服語氣來回答問題。

可以同時使用嗎?

當然可以!

  • RAG 幫你找對的資料;
  • Fine-tuning 幫你說對的話;
  • 搭配 Prompt Engineering(提示設計),可以進一步優化模型表現。

這三者可以反覆交錯使用,讓你的 AI 更聰明、更準確、更貼近你的需求。


下圖展示了 RAG 與其他模型最佳化方法的不同特點:


Figure Source

圖解說明

這張圖使用一個二維坐標系來比較不同的模型優化方法:

  • Y 軸:External Knowledge Required(外部知識需求)
  • X 軸:Model Adaptation Required(模型調整需求)

一步步解讀這張圖:

:blue_square: Prompt Engineering(提示設計)

  • 位在左下角:不需要外部知識,也不改模型,只改 prompt。
  • 適合初學者與小型應用場景
    • Standard Prompt → 基本指令。
    • Few-shot Prompt → 提供幾個範例讓模型模仿。
    • XoT Prompt(如 CoT、ToT)→ 引導模型進行多步思考。

:orange_square: RAG(檢索增強生成)

  • 位在中上方:依賴大量外部知識,但不需改模型。
  • 適合 知識變動快速、需要最新資訊 的場景。
    • Naive RAG → 基本文段檢索。
    • Advanced RAG → 加入查詢優化與後處理。
    • Modular RAG → 可插拔式模組靈活組合。

:yellow_square: Fine-tuning(微調模型)

  • 位在右下角:不倚賴外部知識,但要改模型。
  • 適合 格式、語氣、特定能力調教
    • Retriever Fine-tuning → 調整檢索器。
    • Generator Fine-tuning → 調整生成器。
    • Collaborative Fine-tuning → 同時調整多個模組。

:purple_square: All of the above(混合應用)

  • 圖中央偏右上:使用 RAG + Fine-tuning 的混合策略。
  • 適合 高度客製化、複雜邏輯與長期擴展應用

小結建議給初學者:

  • 如果你沒有能力調整模型,就用 Prompt Engineering。
  • 如果資料常更新或需要查資料,就用 RAG。
  • 如果想要模型更像你、講你想講的話,就用 Fine-tuning。
  • 高手進階玩法就是全部混著用。

以下表格比較了 RAG(Retrieval-Augmented Generation)Fine-tuning(微調模型) 在多個面向的差異


Figure Source

:bar_chart: RAG 與 Fine-Tuning 比較

功能面向 RAG(檢索增強生成) Fine-Tuning(模型微調)
知識更新 可直接更新知識庫,無需重訓模型,適合資訊變動快速的應用場景。 需重新訓練模型才能更新知識,不適合頻繁變動的資料環境。
外部知識使用 擅長使用外部資源,例如結構化或非結構化的資料庫。 雖然也可使用外部資料,但較依賴模型預訓練時學到的知識,更新較不靈活。
資料處理需求 處理流程簡單,主要是將外部資料切分與嵌入即可。 需準備高品質標註資料,數量不足時效果有限。
模型客製化 著重於整合外部知識,較難調整模型行為或語氣風格。 可以針對特定語氣、風格、術語做客製化調整。
可解釋性 模型回答可追溯至具體的來源資料,易於理解與驗證。 回答較難追蹤來源,模型行為像「黑箱」,可解釋性較低。
計算資源需求 檢索過程需使用資料庫與向量查找系統,但模型本身無需頻繁重訓。 需要大量算力與資料進行模型訓練與微調。
延遲時間 查詢過程可能造成回應延遲。 微調後的模型能快速產生回應,延遲較低。
減少幻覺 回答依據具體資料,有助於降低模型產生錯誤資訊的風險。 可透過特定資料訓練來降低幻覺,但仍可能因資料不足而出現錯誤。
隱私與倫理問題 取決於外部資料的來源與儲存方式,需注意資料的敏感性。 若訓練資料中包含敏感資訊,也可能有隱私與合規風險。

RAG 評估

Retrieval-Augmented Generation(RAG)模型的評估,不僅要檢查產出的內容是否正確,也要評估檢索過程是否取得了有幫助的資料。評估的核心分為兩大部分:

一、檢索品質(Retrieval Quality)

這部分關注模型從資料庫中取回的內容是否相關、有效。常見指標如下:

  • NDCG(Normalized Discounted Cumulative Gain):衡量排序的資料中,越前面的是否越相關。
  • Hit Rate:表示模型是否有成功找到一筆或多筆正確資料。

二、生成品質(Generation Quality)

這部分關注模型根據檢索內容所產生的回應是否有意義且可信。可使用以下指標:

  • 正確性(Accuracy):對於有標註答案的任務來說,這是常見的衡量方式。
  • 關聯性與有害性(Relevance & Harmfulness):對於無標註任務,評估回答是否合理且不產生誤導。

三大品質指標(Quality Scores)

指標 說明
Context Relevance 檢索到的內容是否與問題高度相關。
Answer Faithfulness 回答內容是否忠實於檢索到的資訊。
Answer Relevance 回答是否有針對使用者的問題給出有幫助的回應。

四種評估能力(Abilities)

能力 說明
Noise Robustness 在輸入有雜訊或錯誤資訊時,模型是否仍能產生正確回應。
Negative Rejection 在無法找到答案時,是否能拒絕作答而不是亂回答。
Information Integration 是否能整合多筆不同來源的資訊,做出合理總結。
Counterfactual Robustness 是否能正確處理「假設性」問題,例如假設條件變化時的推論能力。

評估方法

  • 自動化評估:使用指標(如 Accuracy、NDCG)自動量化模型表現。
  • 人工評估:由人類審查模型輸出是否合理、有幫助。

RaLLe 是一套常用的評估框架,專門用來分析知識密集型任務中的 RAG 系統。

以下是用於評估 RAG 系統不同方面的指標摘要:


Figure Source

評估指標對應表

上半部的表格展示了各種常用的評估指標如何對應到特定的能力(如:正確性、相關性、整合能力等):

評估指標 說明
Accuracy 評估回答是否正確,適用於多種能力(如 Faithfulness、Robustness)
EM (Exact Match) 回答是否與標準答案完全一致,常用於問答任務
Recall / Precision 評估檢索資料是否全面、準確(Context Relevance)
R-Rate 衡量答案在不同步驟中是否再現(Counterfactual Robustness)
Cosine Similarity 衡量答案的語意相似性,常用於 Answer Relevance
Hit Rate / MRR / NDCG 通用的資訊檢索指標,專注於檢索是否找對資料,以及排序品質

:bar_chart: 評估框架總覽(Evaluation Frameworks)

下半部列出 5 種主要評估框架,並標註它們針對的目標、能力面向與量化指標:

框架名稱 主要針對 評估面向 使用的量化指標
RGB Retrieval + Generation Noise Robustness, Negative Rejection, Information Integration, Counterfactual Robustness Accuracy, EM
RECALL Generation Only Counterfactual Robustness R-Rate
RAGAS Retrieval + Generation Context Relevance, Faithfulness, Answer Relevance Cosine Similarity, *
ARES Retrieval + Generation Context Relevance, Faithfulness, Answer Relevance Accuracy
TruLens Retrieval + Generation Context Relevance, Faithfulness, Answer Relevance *(內部定義指標)

* 號代表該框架使用自訂或未公開的指標。


RAG 模型的評估工具與基準介紹

為了更有效地評估 RAG(Retrieval-Augmented Generation)系統的表現,研究者們開發了多種 評估工具與基準(benchmarks & toolkits),這些工具可以幫助我們檢查模型的回應是否正確、可信、且與檢索內容相關

:magnifying_glass_tilted_left: 常見評估基準(Benchmarks)

  • RGB:專注於多種評估面向,如噪聲穩定性、資訊整合能力、反事實魯棒性等。
  • RECALL:特別設計來衡量模型在「反事實場景」下的表現穩定性。

:hammer_and_wrench: 評估工具(Evaluation Toolkits)

這些工具可以自動化地幫你評估 RAG 系統,有些甚至會利用大型語言模型(LLM)協助打分:

  • RAGAS:可評估檢索與生成兩個階段,適合多種任務情境。
  • ARES:著重於評估生成內容的可信度與與問題的相關性。
  • TruLens:支援追蹤與解釋 RAG 回答是否來自可信來源。

這些工具能夠快速提供指標,如準確率(Accuracy)、語意相似度(Cosine Similarity)、內容相關性(Relevance)等,讓開發者能持續優化 RAG 系統的表現。


RAG 的挑戰與未來發展方向

在發展 Retrieval-Augmented Generation(RAG)系統的過程中,研究者指出了多個重要的挑戰與值得投入的研究方向(Gao et al., 2023):

1. 上下文長度(Context Length)

  • 隨著大型語言模型(LLM)的上下文視窗越來越長,如何讓 RAG 更有效地挑選「真正重要的資訊」進行檢索與生成,成為關鍵挑戰。

2. 穩健性(Robustness)

  • RAG 需能應對錯誤資訊(反事實)或有惡意干擾的輸入,以提升模型穩定性與安全性。

3. 混合策略(Hybrid Approaches)

  • 探索 RAG 與微調(Fine-tuning)模型之間的最佳整合方式,是目前熱門的研究主題。

4. 擴展 LLM 功能(Expanding LLM Roles)

  • 持續提升 LLM 在 RAG 系統中的角色,例如自動選擇檢索策略、自我評估結果、甚至參與檢索排名。

5. 規模定律(Scaling Laws)

  • LLM 的「規模成長法則」在 RAG 系統中的具體作用仍未被完全理解,值得進一步研究。

6. 部署挑戰(Production-Ready RAG)

  • 真正可商業化的 RAG 系統,必須面對效能、資料隱私、安全性、回應速度等各方面的工程挑戰。

7. 多模態支援(Multimodal RAG)

  • 當前多集中在文字任務,未來 RAG 將進一步拓展至圖像、語音、影片、程式碼等多模態應用領域。

8. 評估工具與指標(Evaluation Metrics & Interpretability)

  • 開發更細緻的評估指標(如創造力、多樣性、上下文對齊)與更好的可解釋工具,是提升 RAG 信賴度的關鍵。

常見的 RAG 工具介紹(RAG Tools)

建立 RAG(Retrieval-Augmented Generation)系統不再需要從零開始。以下是一些流行與實用的工具與平台,幫助你快速打造 RAG 應用:

全方位框架工具

工具名稱 功能描述
LangChain 幫助你將語言模型與外部工具(如搜尋、資料庫)整合,非常適合建立複雜的 RAG 工作流程。
LlamaIndex 提供高效的索引與檢索方法,適合處理大量文件與構建檢索系統。
DSPy 由 Stanford 推出的框架,聚焦在 LLM 的組合推理與模組化設計,支援自動搜尋最佳的 RAG 組合方式。

其他特色工具

工具名稱 功能特色
Flowise AI 低程式碼工具,使用拖拉介面輕鬆設計與部署 RAG 應用。
HayStack 開源框架,支援問答系統與文件檢索,非常適合知識密集任務。
Meltano 資料工程導向,可串接資料來源、ETL、與檢索流程。
Cohere Coral Cohere 推出的生成與檢索平台,整合其自家語言模型服務。

雲端平台支援

服務名稱 說明
Verba by Weaviate 建立個人語音助理與知識管理機器人,適合私人知識庫型 RAG 應用。
Amazon Kendra AWS 提供的智慧企業搜尋引擎,適合大型企業內部文件檢索與問答系統。

RAG 系統總結(Retrieval-Augmented Generation Overview)

RAG 系統是一種結合 外部知識檢索(Retrieval)生成式模型(Generation) 的框架,下圖概述了 RAG 生態系統、增強 RAG 的技術、面臨的挑戰以及本綜述中涵蓋的其他相關的內容:


Figure Source

RAG 系統組成與應用(RAG Ecosystem)

下游任務:

  • Dialogue
  • Question Answering
  • Summarization
  • Fact Verification

技術工具:

  • LangChain, LlamaIndex
  • FlowiseAI
  • AutoGen

RAG 模式演進(The RAG Paradigm)

  • Naive RAG:加入相關段落
  • Advanced RAG:加入優化技術
  • Modular RAG:模組化協作設計

提升 RAG 技術的策略(Techniques for Better RAG)

  • Chunk Optimization
  • Iterative Retrieval
  • Recursive Retrieval
  • Adaptive Retrieval
  • Rerank
  • Query Rewriting
  • Retriever / Generator Fine-tuning
  • Dual Fine-tuning

RAG 關鍵問題(Key Issues of RAG)

  • What to retrieve
  • When to retrieve
  • How to use retrieved info

RAG 面臨的挑戰(RAG Prospect)

Challenges: Context Length, Robustness, Hybrid, Role of LLMs, Scaling-laws, Production-ready
Modality: Image, Audio, Video, Code
Ecosystem: Customization, Simplification, Specialization


RAG 評估與框架(Evaluation of RAG)

目標: Retrieval Quality, Generation Quality
面向: Answer Relevance, Context Relevance, Faithfulness, Noise Robustness, etc.
工具: RGB, RECALL, TruLens, RAGAS, ARES


總結(Conclusion)

RAG 正迅速發展,其優勢在於可結合外部知識、因應不同任務調整模型行為。未來方向包括:

  • 融合微調與檢索(Hybrid RAG)
  • 強化模型的魯棒性與解釋能力
  • 多模態擴展(文字、圖像、音訊、程式碼)
  • 建立更完善的評估框架與指標

References

Retrieval Augmented Generation (RAG) for LLMs


目錄:LLM Research Findings - 簡介

上一篇:LLM Research Findings - LLM Agent(大型語言模型代理)
下一篇:LLM Research Findings - LLM Reasoning (大型語言模型推理)