本文有使用 AI 協助編輯
RAG 是「Retrieval-Augmented Generation」的縮寫,是一種結合檢索(Retrieval)與生成(Generation)的 AI 技術方法,常用於提高語言模型回答問題的準確性和相關性。
RAG 方法將兩個主要的功能結合在一起:
RAG 的應用場景
RAG 的優勢
RAG 的技術流程
工具與框架
常用的 RAG 實現工具包括:
但這樣就只是 make sense
如果你今天要去實作 RAG、活用 RAG,歡迎閱讀以下部分
會從每一個元件下去拆解和剖析 RAG
RAG(Retrieval-Augmented Generation) 系統的段落切分是指將長文檔拆分為較小的文本單位(如段落、句子或片段),以便構建檢索知識庫並提高檢索效率和生成準確性。
```
"Paris is the capital of France. It is famous for the Eiffel Tower."
```
- "Paris is the capital of France."
- "It is famous for the Eiffel Tower."
應用場景切分策略粒度建議
embedding 是一個關鍵的概念,用來將非結構化的資料(例如文字)轉換成數學向量的形式,以便進行高效的檢索與推理
Embedding 是一種向量化表示法,將文字(或其他類型的資料)壓縮到一個固定維度的向量空間中,保留其語義資訊。這些向量可以被視為語意的數值化表示,用於計算相似性或進行檢索。
在 RAG 的流程中,embedding 主要用於兩個關鍵部分:
(1) 資料檢索階段
(2) 生成階段的上下文構建
RAG 的 embedding 通常是通過深度學習模型生成的,以下是常用的方法:
(1) 預訓練模型
使用自然語言處理(NLP)模型,如 BERT、RoBERTa 或 Sentence Transformers,這些模型經過語言數據的大規模預訓練,能夠生成高質量的語義向量。
(2) 專用模型
若資料具有領域特定性,可以微調預訓練模型,使 embedding 更適合該領域。
生成 embedding 的常用模型,按用途分類:
1. 通用型預訓練模型
bert-base-uncased
。roberta-base
。sentence-transformers
庫。2. 專用型語義模型
text-embedding-ada-002
)3. 多語言模型
4. 特定領域模型
模型精度速度支持語言大小適用場景
💡
查詢檢索是 RAG 系統中將用戶的自然語言查詢與知識庫中的數據匹配的關鍵步驟。目的是從海量數據中快速找到與查詢語義最相關的內容,並作為生成模型的輔助上下文。
常見的返回數據塊策略:
Top-3
或 Top-5
)。場景建議數據塊數量原因
評估 RAG(Retrieval-Augmented Generation) 系統的效果是一個多層次的過程,涉及檢索部分(Retrieval)和生成部分(Generation)的各自性能,以及它們的整體協同效果。以下是常用的評估指標和方法:
指標
指標
是一種利用大語言模型(LLM,例如 GPT-4)作為自動化評估工具的方法,用於對生成結果的質量進行判斷。這種方法通常被用於文本生成系統(如 RAG 系統、對話系統或摘要生成)中,對輸出進行客觀評估,避免完全依賴人工或傳統的自動指標(如 BLEU、ROUGE)。
LLM as a Judge 最常應用於:
流程
評估階段指標評估方法工具
A/B Testing 在 RAG 中可以做到