PILLAR 03 · RAG 與向量資料庫

RAG 完整架構教學:Retrieval + Generation 全圖

從文件進來到 LLM 回應的完整 RAG 流程,含每個元件的選型與調校。

PUBLISHED
2026-05-29
READ TIME
14 min
CATEGORY
PILLAR 03
UPDATED
2026-09-27
KEY TAKEAWAY · 一句話結論

企業 RAG 由 Document Loader、Chunker、Embedding、Vector Database、Retrieval 加 Reranking、LLM Generation 等元件組成;作者建議中小企業採用 PyMuPDF 載入、500 tokens 加 50 overlap 切片、Gemini text-embedding-004、Qdrant 自架、BGE Reranker 取 Top-3、Gemini 2.5 Flash 加引用 Prompt 的架構,月成本約 NT$2,000 到 5,000,可服務每月 10,000 次查詢。

發布 2026-05-29 · 最後更新 2026-09-27 · 作者 賴家榮 Andy Lai

RAG(Retrieval-Augmented Generation)由 5 個元件組成。這篇從文件進來到 LLM 回應,把整個架構完整拆解,每個元件的選型與調校都教給您。

RAG 完整流程

1. 文件 → [Loader] → 文字
2. 文字 → [Chunker] → 切片
3. 切片 → [Embedding] → 向量
4. 向量 → [Vector DB] → 儲存
─────────────────(離線索引完成)─────────────────
5. 用戶問題 → [Embedding] → 問題向量
6. 問題向量 → [Vector DB Search] → Top-K 相似切片
7. Top-K + 問題 → [Reranker] → 重排序
8. 排序後 + 問題 → [LLM] → 自然語言回答

元件 1:Document Loader

把不同格式檔案轉為文字。

  • PDF:PyMuPDF(純文字快)/ Unstructured(混合內容好)
  • Word:python-docx
  • Excel:openpyxl + 自製 schema 描述
  • 網頁:BeautifulSoup + Readability
  • 圖片:Gemini Vision OCR

元件 2:Chunker(切片)

切得太大召回差、太小失語境。三種策略:

  • Fixed Size:每塊固定 token 數,最簡單
  • Semantic:用 embedding 找語義邊界
  • Hierarchical:多層切(章 → 節 → 段)

實務建議:先用 Fixed 500 tokens + overlap 50 起步。

詳見 文件切割策略完整指南。

元件 3:Embedding

把文字轉為向量。常用:

  • OpenAI text-embedding-3-large(1536/3072 維、中文好)
  • Gemini text-embedding-004(768 維、便宜)
  • Cohere embed-v3(多語強)
  • BGE-M3(開源、可自架)

詳見 Embedding 模型選擇指南。

元件 4:Vector Database

選擇適合
pgvector已有 PostgreSQL、< 100 萬筆
Qdrant自架、效能好、最常見
PineconeSaaS、不想維運
Weaviate混合搜尋強

詳見 向量庫完整比較。

元件 5:Retrieval + Reranking

取向量庫 Top-K(通常 10–20),然後用 Reranker 重新排序。

  • Reranker 模型:Cohere Rerank / BGE Reranker
  • 把最相關的 3–5 個切片送給 LLM

實測:加 Reranker 通常讓最終答案準確度提升 10–30%。

元件 6:LLM Generation

把切片 + 問題餵給 LLM。關鍵設計:

  1. Prompt 結構清楚(指令 + Context + 問題)
  2. 要求 LLM 引用來源(避免幻覺)
  3. 找不到答案時要 LLM 說「不知道」

建議架構(中小企業)

文件 (PDF/Word)
  ↓
PyMuPDF + Unstructured
  ↓
Recursive Character Splitter (500 tokens, 50 overlap)
  ↓
Gemini text-embedding-004
  ↓
Qdrant (Docker 自架)
  ↓
Top-10 → BGE Reranker → Top-3
  ↓
Gemini 2.5 Flash + Citation Prompt
  ↓
回答 + 來源連結

這套架構月成本 NT$2,000–5,000,可服務 10,000 次/月查詢。

進階:評估與監控

RAG 上線後,每月看 3 個指標:

  • Hit Rate:問題能找到相關切片的比例
  • Faithfulness:答案是否忠於切片內容
  • Relevance:答案是否真的回答了問題

詳見 RAG 評估指標完整指南。

常見錯誤

  1. 沒做 chunk overlap → 切片邊界資訊丟失
  2. 沒做 metadata 過濾 → 跨部門資訊混雜
  3. 沒做 Reranker → 命中率低
  4. 沒寫 Citation Prompt → LLM 幻覺
  5. 沒做評估 → 不知道哪裡需要優化

常見問題

RAG 架構由哪些元件組成,流程是什麼?

離線索引階段:文件經 Loader 轉為文字、Chunker 切片、Embedding 轉向量、存入 Vector DB。查詢階段:用戶問題轉向量、在向量庫搜尋 Top-K 相似切片、Reranker 重排序、最後把排序後切片與問題送給 LLM 產生回答。文章逐一說明 Loader、Chunker、Embedding、Vector DB、Retrieval 與 LLM Generation 的選型。

RAG 文件切片(Chunking)該怎麼設定?

切得太大召回差、太小失語境。三種策略:Fixed Size 每塊固定 token 數最簡單、Semantic 用 embedding 找語義邊界、Hierarchical 依章節段多層切。作者的實務建議是先用 Fixed 500 tokens 加 overlap 50 起步;沒做 overlap 是常見錯誤,會讓切片邊界的資訊丟失。

中小企業建 RAG 系統要花多少錢?

作者建議的架構是 PyMuPDF 加 Unstructured 載入、Recursive Character Splitter(500 tokens、50 overlap)、Gemini text-embedding-004、Docker 自架 Qdrant、Top-10 經 BGE Reranker 取 Top-3、Gemini 2.5 Flash 加 Citation Prompt,月成本約 NT$2,000 到 5,000,可服務每月 10,000 次查詢。

RAG 的向量資料庫和 Embedding 模型怎麼選?

向量庫:已有 PostgreSQL 且低於 100 萬筆用 pgvector;自架、效能好且最常見的是 Qdrant;不想維運選 SaaS 的 Pinecone;混合搜尋強選 Weaviate。Embedding:OpenAI text-embedding-3-large 中文好、Gemini text-embedding-004 為 768 維且便宜、Cohere embed-v3 多語強、BGE-M3 開源可自架。

建 RAG 最常見的錯誤有哪些?

五個:沒做 chunk overlap 導致切片邊界資訊丟失;沒做 metadata 過濾造成跨部門資訊混雜;沒加 Reranker 使命中率低,實測加 Reranker 可讓答案準確度提升 10 到 30%;沒寫 Citation Prompt 讓 LLM 產生幻覺;沒做評估就不知道哪裡需要優化。上線後應每月追蹤 Hit Rate、Faithfulness 與 Relevance。


RELATED ARTICLES

延伸閱讀。

延伸工具

LAST STEP

給我 30 分鐘,
告訴我你的業務。

我直接告訴你:你公司最該先用 AI 的 3 個地方、大概花多少預算、能不能用政府補助降低成本。

SOUTH TAIWAN AI WEEKLY

每週一封,南台灣中小企業
AI 應用週報。

賴家榮親自整理:本週最值得看的 AI 應用案例、補助公告、課程開班資訊。免費、可隨時退訂。

我們不分享您的 Email · 可隨時退訂

📞 立即撥打 預約免費診斷