iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0
AI & Data

RAG × Agent:從知識檢索到智慧應用的30天挑戰系列 第 10

Day 10|小總結 & 實作規劃——我的第一個 RAG Pipeline 要長什麼樣?

  • 分享至 

  • xImage
  •  

新來的朋友,建議可以先回顧前幾天的文章,之前已經分別聊過 RAG 的兩大流程:

  • Indexing pipeline:資料怎麼被處理、切割、轉換成向量,最後存進資料庫。
  • Generation pipeline:AI 怎麼從資料庫找到相關內容,再用這些內容來回答。

今天就來做一個「小總結 + 藍圖規劃」,結合先前所說的內容,並構思我們接下來要實作的第一個 RAG 系統。


1. RAG Pipeline 複習

Indexing pipeline(資料準備)

  • 資料載入 (Data loading):讀取文章、文件或知識來源。
  • 切分 (Chunking):把長文本切成較小的段落。
  • 轉換 (Embedding):用模型把文字轉成向量。
  • 儲存 (Vector DB):把向量存進 ChromaDB 或其他向量資料庫。

Generation pipeline(生成回答)

  • 問題轉換 (Query embedding):把使用者問題轉成向量。
  • 檢索 (Retrieval):到向量資料庫找相似內容。
  • 組合 (Context building):把找到的內容附加到 Prompt 裡。
  • 生成 (Generation):送進 LLM,產生最終回答。

2. 預期的實作內容

不能只是講理論,還是要動作做做看才知道問題在哪裡,因為學生沒什麼摳摳,所以工具選擇上也會盡量用免費資源。
我的目標是想做出一個簡易的 「台灣資安法條查詢助理」,流程大概會長這樣:

  1. 蒐集資料
    這邊會利用開放的台灣資安相關法條,像是《資通安全管理法》,先做資料預處理。

  2. 建立知識庫(Indexing pipeline)
    用 Python 讀文件 → 切分段落(Chunking)。
    用免費的 embedding 模型(如 BGE-M3)把文字轉成向量,之後再將向量存進 ChromaDB(免費 & 本地就能跑)。

3.設計檢索與回答(Generation pipeline)
使用者提問,例如:「資安管理法對資通服務的定義是什麼?」
問題 → 轉向量 → 在 ChromaDB 找相近段落。
之後再把找到的法條片段 + 原始問題一起送進 LLM(免費或本地模型),產生回答。


3. 工具選擇

  • 向量資料庫:ChromaDB(開源、好上手)
  • Embedding 模型:HuggingFace 上的開源模型(BGE / MiniLM)
  • LLM:
    • 本地跑 Ollama(例如 Mistral-7B)

或善用 OpenAI 免費額度(如 GPT-4o-mini)
當然這只是我粗略的規劃,如果我後續實作內容有甚麼調整,我也會修正的><


上一篇
Day 9|Prompt Engineering——設計好問題,AI 才能給好答案
系列文
RAG × Agent:從知識檢索到智慧應用的30天挑戰10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言