
RAG是什麼?Embedding在其中扮演什麼關鍵角色?
一、為什麼大模型需要「外掛」?RAG的誕生背景
ChatGPT、Claude、Gemini這些大語言模型(LLM)雖然強大,但天生有三個致命缺陷:
- 幻覺問題:模型會一本正經地編造事實,例如把不存在的論文作者名稱、虛構公司財報數據講得頭頭是道。
- 知識過時:模型的訓練數據有截止日期,無法回答「昨天發生了什麼」「2026年7月之後的新聞」這類問題。
- 私域數據缺失:通用大模型不懂你公司的內部規章、產品手冊、病歷記錄,更不敢接觸企業機密。
直接重訓模型(Fine-tuning)成本極高(動輒數百萬美元),且每次數據更新都要重訓。RAG(Retrieval-Augmented Generation,檢索增強生成)的出現,就是用「低成本外掛」的方式解決這三個問題——讓模型在回答前先「查資料」,再根據查到的內容生成答案。

二、RAG的標準工作流程:兩階段、三步走
RAG本質上是「檢索+生成」兩步流程,拆開來看分為索引階段(離線)和檢索生成階段(線上)。
階段一:索引階段(知識預處理)
- 文檔載入:從PDF、Word、網頁、資料庫、Notion等各種來源,把知識原料讀入系統。
- 文檔分塊(Chunking):因為大模型單次能處理的文本長度有限(一般4K-128K tokens),需要把長文切成一小塊一小塊(典型每塊200-800字)。分塊策略直接影響後續檢索精度。
- 向量化(Embedding):用Embedding模型把每個文本塊轉成一個高維向量(例如1536維)。
- 存入向量資料庫:所有向量連同原始文本一起存入Milvus、Pinecone、Chroma、Weaviate等專用向量資料庫。
階段二:檢索生成階段(用戶提問時)
- 查詢向量化:用戶輸入問題,系統用同一個Embedding模型把問題也轉成向量。
- 相似度檢索:在向量資料庫中,找出與問題向量最相似的Top-K個文本塊(K通常取3-10)。
- Prompt組裝:把「用戶問題 + 檢索到的文本塊」打包成一個Prompt,丟給大模型。
- 生成答案:大模型根據Prompt中的參考資料,生成最終回答,並可附上引用來源。
這套「查資料→回答」機制,讓模型能即時引用最新、最權威的內容,從根本上壓制幻覺,並讓回答「可追溯、可審計」。
三、Embedding:讓機器讀懂語義的翻譯官
3.1 什麼是Embedding?
Embedding(向量嵌入)是把離散的非結構化數據(文字、圖片、音頻)轉換成連續的高維數值向量的技術。
最經典的範例是Word2Vec時期的「King − Man + Woman ≈ Queen」——通過向量運算,機器發現「國王」與「王后」的關係,就如同「男人」與「女人」一樣。這證明向量空間能捕捉語義關係。
對一段文字「蘋果公司發布新款iPhone」,Embedding模型會輸出一個例如[0.012, -0.034, 0.087, ..., 0.056]這樣的1536維向量。這串數字看似無意義,卻編碼了語義:
- 「iPhone發布」相關句子的向量會彼此接近
- 「蘋果水果」相關句子的向量會與「iPhone」的向量距離很遠
3.2 Embedding模型的演進
| 時代 | 代表模型 | 特點 |
|---|---|---|
| 早期 | Word2Vec、GloVe | 靜態詞向量,一詞一向 |
| 深度學習 | BERT、Sentence-BERT | 上下文相關,可整句編碼 |
| 大模型時代 | OpenAI text-embedding-3、BGE-M3、M3E、mxbai | 支持多語言、長文本(8K-32K tokens) |
| 最新 | Nomic Embed、Stella、E5-mistral | 開源可商用,效果逼近閉源 |
中文場景下,BGE系列(由智源推出)和M3E是公認效果最佳且完全開源的選擇;對多語言或跨境應用,OpenAI text-embedding-3-large仍是業界標桿。
3.3 怎麼衡量兩個向量「語義相似」?
最常用的指標是餘弦相似度(Cosine Similarity):
- 兩個向量方向越接近,餘弦值越接近1,語義越相似
- 方向正交時為0,表示無關
- 方向相反時為-1,表示語義對立
公式很簡單:cos(θ) = (A · B) / (‖A‖ × ‖B‖),即兩向量點積除以各自模長的乘積。除了餘弦相似度,歐氏距離、點積也是常見選擇。
四、Embedding在RAG中的核心角色:銜接語義與檢索的橋樑
Embedding是RAG的靈魂組件。沒有Embedding,RAG就只能做關鍵詞匹配(傳統搜尋引擎的方式),無法理解「我想換新手機」和「如何購買最新iPhone」其實是同一個意思。
Embedding在RAG中承擔三大關鍵職責:
4.1 語義編碼:把文字變成「意思」
所有要檢索的文本塊都必須先通過Embedding模型編碼成向量,才能進向量資料庫。Embedding模型的質量直接決定了RAG系統的天花板——一個好的Embedding能在向量空間裡讓「問題」與「答案」自然靠近,而差的Embedding會把「我想退貨」和「退貨政策」這類明顯相關的句子映射到完全不同的位置。
4.2 統一語言:讓問題與文檔能對話
用戶提問也要用同一個Embedding模型編碼。只有用同一模型,向量空間的「距離」才有意義。這也是為什麼企業在RAG系統中往往鎖定一個Embedding模型後不輕易更換——更換模型意味著整個向量庫要重建。
4.3 高效檢索:在百萬級文本中快速找答案
向量資料庫會預先把Embedding向量建立索引(如HNSW、IVF),用戶提問時,系統能在毫秒級時間內在百萬級向量中找出最相似的Top-K個。這種「近似最近鄰(ANN)」搜索是RAG能即時運行的基礎。
五、進階RAG:純向量檢索不夠用,混合檢索成標配
Embedding向量檢索雖然強大,但有一個弱點:對專有名詞、數字、型號等精確匹配不敏感。例如用戶搜尋「iPhone 17 Pro Max 256GB」,純向量檢索可能返回「iPhone 15」相關內容,因為「語義相似」。
所以現代RAG系統普遍採用混合檢索(Hybrid Search):
- 稀疏向量(Sparse Vector):用BM25或SPLADE等傳統詞頻算法,專門匹配關鍵詞、型號、數字。
- 密集向量(Dense Vector):用Embedding模型,捕捉語義關聯。
- 重排序(Rerank):用專門的Cross-Encoder模型(如Cohere Rerank、BGE-Reranker)對召回結果精排。
三者結合,關鍵詞匹配+語義理解+精準排序,才能拿到真正高質量的Top-K,這也是現代企業級RAG的標配架構。
六、Embedding的選型實戰建議
選對Embedding模型,RAG就成功了一半。選型時重點看五個維度:
- 語言覆蓋:純中文選BGE;中英混合選BGE-M3、text-embedding-3;多語言選multilingual-e5。
- 文本長度:處理長文檔(合約、研究報告)選支持8K以上tokens的模型(BGE-M3支持8192)。
- 領域適配:醫療、法律、金融領域,可在通用Embedding基礎上用領域語料做Fine-tune。
- 成本:OpenAI按token收費($0.13/百萬token),開源BGE-M3自託管GPU更划算。
- 評測基準:參考MTEB(Massive Text Embedding Benchmark)排行榜,綜合看檢索、分類、聚類等多任務分數。
七、RAG與Embedding的未來趨勢
2026年以來,RAG技術正在快速演進:
- GraphRAG:結合知識圖譜,把實體關係納入向量空間,解決多跳推理問題。
- Agentic RAG:智能體自主決定「要不要查、查什麼、何時停止」,從靜態檢索升級為動態推理。
- 多模態Embedding:文字、圖片、音頻、視頻統一編碼到同一向量空間,支援跨模態檢索。
- 長上下文Embedding:支援百萬級tokens的編碼,處理整本小說、法律卷宗、科研論文。
- 端側Embedding:模型小型化,可在手機、邊緣設備直接運行,保護數據隱私。
八、總結
RAG讓大模型能查資料,Embedding讓大模型能讀懂資料。
- RAG解決的是「讓模型說對」——通過外部檢索,把幻覺率壓到極低,讓回答可追溯。
- Embedding解決的是「讓檢索找對」——通過語義向量空間,把用戶的真實意圖與相關知識精準對齊。
兩者結合,已成為企業AI落地、知識庫構建、智能客服、法律助手、醫療問診等場景的標準技術棧。掌握RAG與Embedding的原理與實戰,等於拿到了大模型時代的「應用入場券」。
對於開發者,從今天開始動手用LangChain、LlamaIndex或Spring AI框架搭建一個最小RAG系統;對於企業決策者,把RAG列為生成式AI的優先試點項目,優先把最高頻的知識檢索場景(如客服、內部問答)做起來。Embedding雖小,卻是開啟大模型實用化大門的鑰匙。

