iT邦幫忙

2024 iThome 鐵人賽

DAY 12
2

前言

在簡單介紹完 RAG(檢索增強生成)的基本概念及其在現代自然語言處理中的重要性。接下來,我們將深入探討 RAG 的技術架構,了解其內部各個核心元件的運作流程,以實現高效且精確的生成結果。

RAG 流程

https://ithelp.ithome.com.tw/upload/images/20240908/20140874JkiHg0QEVU.png
上圖為 RAG 的流程,可以分為四個部分:

  1. Input(輸入):Input 為輸入 LLM 的問題。如果沒有使用 RAG,則 LLM 直接回覆。
  2. Indexing(索引):分為兩個部分
  • Raw Data:在進行問題的處理前,會先將外部原始資料切分成較小的 chunk(區塊),接著透過 Embedding Model(詞嵌入模型)轉換成向量,再將轉換好的向量儲存至 Vector Database(向量資料庫)。
  • Input Query:將 Input 的問題透過 Embedding Model 轉換成向量後,接著會進入 Retrieval 步驟。
  1. Retrieval(檢索):Retrieval 會將問題轉換的向量,透過如餘弦相似性(cosine similarity)來計算兩個詞向量之間的相似性,以得到檢索結果。
  2. Generation(生成):最後會將 Input 的問題與 Retrieval 的結果一併提供給 LLM,LLM 會將檢索的內容當作參考資料來進行問題的回覆。

從上面的圖可以看出,如果直接透過 LLM 進行問題的回覆,結果可能會不理想,但如果先透過 RAG 檢索相關資料提供給 LLM 進行問題的回覆,可以有效提升回覆的精確度。

參考文獻

Gao, Yunfan et al. “Retrieval-Augmented Generation for Large Language Models: A Survey.”, 2023.


上一篇
第十一篇: RAG 基本概念
下一篇
第十三篇:重要的事前準備
系列文
成為 Kubernetes 特級咒術師的 30 天修行30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
雷N
iT邦研究生 1 級 ‧ 2024-09-13 00:55:22

太讚了 能學 k8s 又能學到 RAG

好 來學

我要留言

立即登入留言