**RAG(Retrieval-Augmented Generation)**是一種結合檢索與生成技術的框架,旨在通過引入外部知識增強生成模型的性能。其核心思想是:在生成文本時,先從外部知識庫中檢索相關信息,再將檢索結果與原始輸入結合,作為生成模型的輸入,從而提升生成內容的準確性、相關性和信息量。
RAG的流程
RAG的流程主要分為三個階段:檢索(Retrieval)、增強(Augmentation)和生成(Generation)。
1. 檢索(Retrieval)
- 目標:從外部知識庫中獲取與輸入問題相關的信息。
- 方法:
- 知識庫構建:預先將大量文檔(如文本、數據庫、網頁等)存儲在知識庫中,并對其進行索引。
- 查詢處理:將用戶輸入的問題轉換為查詢向量(通常使用預訓練的嵌入模型,如BERT、Sentence-BERT等)。
- 相似度匹配:通過向量相似度(如余弦相似度)或關鍵詞匹配,從知識庫中檢索與查詢最相關的文檔或段落。