快速回答:Embedding 是什麼?

Embedding(向量嵌入)是把文字、圖片等資料轉換成一串數字(向量)的技術,讓電腦能用數學方式「理解」語意。意思相近的詞彙,轉換出來的向量會靠在一起;意思不同的,向量就會離很遠。這是 AI 語意搜尋、推薦系統和 RAG(檢索增強生成)的核心技術。

Embedding 的正式定義

Embedding 是一種將高維度、離散的資料(如文字、類別)映射到低維度、連續的向量空間的技術。在自然語言處理中,文字 Embedding 將每個 Token 或句子轉換為固定維度的稠密向量(例如 768 維、1536 維或 3072 維),使得語意相似的內容在向量空間中距離相近。

白話解釋

世界地圖上每個城市都有座標(經度、緯度)。距離近的城市,座標也接近——台北和基隆的座標很接近,但台北和紐約差很遠。

Embedding 做的事一樣,只是對象是文字,而且維度從 2 維(經緯度)變成幾百到幾千維。它把每個詞彙或句子放到一張「語意地圖」上:

「貓」和「狗」靠在一起(都是動物),「貓」和「汽車」離很遠(意思不同),「國王」和「皇后」靠在一起(都是統治者)。

更有趣的是,這些位置之間的方向也有意義。在一些經典的 Word Embedding 模型中,「國王」減去「男人」再加上「女人」會得到接近「皇后」的位置。這代表模型學到了「性別」這個概念在向量空間中的方向。

這些位置不是人為規定的,是模型從大量文字中自動「學」出來的。模型觀察到「貓」和「狗」常常出現在類似的語境中(「我養了一隻」、「跑到花園裡」),因此把它們放在向量空間中相近的位置。

Embedding 怎麼運作?

整個流程分三步。

第一步:切 Token。把文字切成模型能處理的最小單位。「你好嗎」可能被切成「你」「好」「嗎」三個 Token,或是更細的 subword 單位。

第二步:Token 到向量。每個 Token 通過 Embedding 模型的神經網路,被轉換成一個高維度向量。例如 OpenAI 的 text-embedding-3-small 會把每個 Token 變成 1536 個數字組成的向量。

第三步:聚合。如果輸入是一個句子或一段文字(而不是單一個字),模型會用特定的策略(通常是最後一層的 CLS Token 或平均池化)把所有 Token 的向量合併成一個代表整段文字的向量。

最後得到的就是一個固定長度的數字陣列。不管你的輸入是 3 個字還是 3000 個字,輸出的向量維度都是一樣的(例如都是 1536 維)。

向量維度怎麼選

維度越高,能捕捉的語意細節越多,但計算和儲存成本也越高。

256-512 維:適合大量資料的快速初篩,例如從 100 萬筆商品中找出最可能相關的 1000 筆。

768-1024 維:大部分應用的甜蜜點。語意搜尋、RAG、分類任務用這個維度就足夠了。

1536-3072 維:需要極高精度的場景,例如法律文件的語意比對、學術論文的相似度檢測。

OpenAI 的 text-embedding-3 系列有一個特色:你可以在呼叫時指定想要的維度。模型原生維度是 3072,但你可以請求 256、512、1024 等較低維度,模型會用 Matryoshka Representation Learning(套娃式表示學習)自動壓縮,在大部分任務上精度損失很小。

相似度計算

有了向量後,怎麼判斷兩段文字的語意有多接近?最常用的方法是餘弦相似度(Cosine Similarity),計算兩個向量之間的夾角。

值越接近 1 代表越相似(夾角越小),越接近 0 代表越不相關(夾角接近 90 度),負值代表語意相反(但在實務中比較少見)。

另一個常用的方法是歐幾里得距離(L2 Distance),算兩個向量在空間中的直線距離。距離越短代表越相似。

兩者的差別:餘弦相似度只看方向,不看長度;歐幾里得距離同時考慮方向和長度。如果你的向量已經做過正規化(長度都是 1),兩者的排序結果是一樣的。大部分場景用餘弦相似度。

Embedding 在 RAG 中的角色

RAG(Retrieval-Augmented Generation,檢索增強生成)是 2026 年企業 AI 應用最重要的架構模式,而 Embedding 是 RAG 的引擎。

RAG 的完整流程

準備階段(離線處理):

一、把企業知識庫的文件(PDF、Word、網頁、Confluence 頁面等)收集起來。

二、把每份文件切成小段(Chunking)。常見的切法有固定長度(每 500 字切一段)和語意切割(按照段落、章節、或語意完整性切割)。

三、用 Embedding 模型把每段文字轉成向量。

四、把向量和原文一起存進向量資料庫。

查詢階段(即時處理):

一、使用者提問,例如「公司的年假政策是什麼?」

二、把問題用同一個 Embedding 模型轉成向量。

三、在向量資料庫中找出和問題向量最相似的 Top-K 段文字(例如前 5 段)。

四、把這些文字段落和使用者的問題一起傳給 LLM,請 LLM 根據這些資料回答。

五、LLM 產出答案,因為有了具體的來源資料,答案的準確度比直接問 LLM 高很多,而且可以附上引用來源。

Chunking 策略比較

Chunking 的方式直接影響 RAG 的效果。

策略 做法 優點 缺點
固定長度 每 N 個字切一段 簡單、可預測 可能切斷語意
重疊切割 固定長度但前後重疊 減少語意斷裂 儲存量增加
段落切割 按段落或換行符號切 保留語意完整性 段落長度不一
語意切割 用模型判斷語意邊界 效果好 計算成本高
遞迴切割 先按大段再按小段 彈性好 實作複雜

實務經驗:大部分專案用固定長度加重疊(例如每段 500 字,前後重疊 100 字)作為起點就足夠了。如果效果不好,再嘗試語意切割。Chunk 太小會遺失上下文,太大會稀釋重點。

向量資料庫比較

資料庫 類型 特色 適用場景
Pinecone 全託管雲端 開箱即用、自動擴展 快速原型、中小型專案
Weaviate 開源 + 雲端 支援混合搜尋、多模態 需要語意+關鍵字混合搜尋
Milvus 開源 高效能、大規模 百萬筆以上的大型專案
Chroma 開源 輕量、易上手 本地開發、小型 RAG
pgvector PostgreSQL 擴充 不需額外資料庫 已用 PostgreSQL 的專案
Qdrant 開源 + 雲端 Rust 實作、高效能 效能要求高的場景

選擇的判斷標準:如果你已經在用 PostgreSQL,pgvector 是最低摩擦的選擇。如果你不想管基礎設施,Pinecone 的全託管服務最省事。如果資料量大(百萬筆以上)且需要自己部署,Milvus 或 Qdrant 的效能比較好。如果是開發階段的原型,Chroma 最快上手。

常見應用場景

語意搜尋:傳統搜尋引擎是「關鍵字比對」——使用者搜「筆記型電腦」只會找到包含這幾個字的結果。語意搜尋用 Embedding 理解意思,使用者搜「可以帶著移動辦公的電腦」也能找到「筆記型電腦」的結果,因為它們的向量很接近。

推薦系統:把使用者的行為(看過什麼、買過什麼)和商品都轉成向量,在向量空間中找出「使用者向量」附近的「商品向量」作為推薦。這就是 Netflix、Spotify 推薦系統的核心技術之一。

重複內容偵測:比對兩篇文章的向量相似度。即使改寫了措辭,只要意思相近,向量就會接近。可以用來檢測抄襲、去重複。

文件分類與歸檔:把大量文件轉成向量,用聚類演算法(K-means、DBSCAN)自動分組。不需要人工定義類別,模型會根據語意自動找出群組。

異常偵測:在資安領域,把正常的網路流量或使用者行為轉成向量,建立「正常行為」的向量分佈。新的行為向量如果離正常分佈太遠,就標記為異常。

客服自動分流:把客戶的問題轉成向量,和預定義的問題類別向量做比對,自動判斷這個問題屬於哪個類別(退款、技術支援、帳號問題),然後分配給對應的客服團隊。

安全與限制

Embedding 模型的訓練資料偏見。模型從大量文字中學習語意關係,如果訓練資料中有偏見(例如特定性別和職業的關聯),Embedding 也會學到這些偏見。這在招聘系統、信用評分等高影響決策中是重要的考量。

資料洩漏風險。把敏感文件送到第三方的 Embedding API(如 OpenAI、Cohere),文件內容會離開你的基礎設施。如果資料有機密性要求,考慮使用開源模型(如 BGE-M3)在自己的伺服器上運行。

模型鎖定(Vendor Lock-in)。不同模型產出的向量格式不同,不能互換。如果你用 OpenAI 的模型建了向量資料庫,之後想換成 Cohere 的模型,所有向量都要重新生成。選擇模型時需要考慮這個切換成本。

向量反推風險。理論上,Embedding 向量可能被用來部分還原原始文字。雖然目前的技術還無法完全從向量反推出原文,但在極度敏感的場景(如醫療紀錄、法律文件)下,即使是部分還原也可能構成隱私風險。

常見問題

Embedding 和 Token 有什麼關係?

Token 是文字的最小切割單位,Embedding 則是把每個 Token(或一段 Token 的組合)轉換成向量。Token 是「切」,Embedding 是「翻譯成數字」。兩者是 LLM 處理文字的連續步驟:先切 Token,再把 Token 轉成 Embedding 向量。

什麼是向量資料庫?

向量資料庫(Vector Database)是專門儲存和檢索向量的資料庫,支援高效的相似度搜尋。你可以把它想成一個特殊的搜尋引擎,輸入是一個向量,輸出是最接近的其他向量。常見的有 Pinecone、Weaviate、Milvus、Chroma。

中文的 Embedding 效果好嗎?

2026 年主流模型對中文的支援已大幅改善。Qwen3-Embedding 在中文基準測試上表現最好,BGE-M3 是開源多語言的首選,OpenAI 的 text-embedding-3 系列對中文也有不錯的支援。選擇時建議用自己的資料集做評估,因為不同領域(醫療、法律、科技)的中文表現差異可能很大。

Embedding 的維度越高越好嗎?

不一定。高維度能捕捉更多語意細節,但增加儲存空間和計算時間。100 萬筆 1536 維的向量大約需要 6 GB 的記憶體。如果你的場景是快速檢索,降到 512 維可能只損失 2-3% 的準確度但大幅減少成本。

RAG 和 Embedding 是什麼關係?

RAG 讓 LLM 在回答前先從外部知識庫檢索資訊,Embedding 是 RAG 中「檢索」這一步的核心技術。它把文件和查詢都轉成向量,用相似度找出最相關的內容。沒有 Embedding,RAG 就只能退回到關鍵字搜尋。

Embedding 可以用在圖片嗎?

可以。多模態 Embedding 模型(如 CLIP、Cohere Embed v4、Jina CLIP)能同時處理文字和圖片,把它們映射到同一個向量空間。這讓你可以用文字搜尋圖片(「找出所有包含日落的照片」),或用圖片搜尋相似圖片。

參考資料