💡一句話定義
向量資料庫=專門儲存與檢索高維向量(嵌入)的資料庫,能快速找出與查詢向量最相似的項目。它是語意搜尋與 RAG 的核心基礎設施——把文字/圖片/聲音轉成向量存起來,之後就能用「意思」而不是「關鍵字」來找。
🎮互動:點一下,做語意搜尋
下圖每個點是一個詞的 2D 嵌入(水果、動物、科技各成一群)。在空白處點一下當作查詢,系統會畫出搜尋範圍、連到最近的 3 個點,右側列出相似度——這正是向量 DB 在做的事。
🗄️ 向量資料庫互動演示
水果
動物
科技
查詢 (Query)
點擊任意處進行搜尋
搜尋結果 (Top-3 Nearest)
請在左側向量空間中
點擊任意位置
模擬「語意搜尋」
點擊任意位置
模擬「語意搜尋」
RAG 流程模擬:
User: [點擊處代表的查詢]
DB: 找到 3 筆相關資料
LLM: 閱讀這 3 筆資料,生成回答。
DB: 找到 3 筆相關資料
LLM: 閱讀這 3 筆資料,生成回答。
⚖️傳統資料庫 vs 向量資料庫
| 面向 | 傳統資料庫(SQL) | 向量資料庫 |
|---|---|---|
| 比對方式 | 精確比對(等於、範圍) | 相似度檢索(最近鄰) |
| 查詢 | WHERE id = 123 | 找和查詢向量最像的 Top-K |
| 回傳 | 完全相同的資料列 | 語意最接近的結果(未必相同) |
| 找「小狗 ≈ 犬」 | 做不到 | 正是強項 |
🔎語意搜尋三步驟
🔢① Query Embedding
把問題轉成向量(圖中的黃色點)。
把問題轉成向量(圖中的黃色點)。
🧭② ANN Search
在庫中找離查詢最近的 K 個點(近似最近鄰)。
在庫中找離查詢最近的 K 個點(近似最近鄰)。
📤③ Return
回傳這些點對應的原始文字/內容。
回傳這些點對應的原始文字/內容。
⚡為什麼要 ANN / HNSW?
📐用什麼相似度?
可視化常用直觀的歐氏距離(越近越像):
$$ d(p, q) = \sqrt{(q_1-p_1)^2 + (q_2-p_2)^2 + \dots} $$
實務文字嵌入最常用餘弦相似度(只看方向),也有內積;度量要與嵌入模型訓練時一致。
🎯應用場景
① RAG 基石:把公司文件切塊、轉向量、入庫;員工提問時先撈相關段落,再餵給 LLM 回答。
② 推薦系統:用戶與商品都轉向量,找離「用戶向量」最近的「商品向量」。
③ 以圖搜圖:圖片轉向量,上傳照片就能找到構圖、內容相似的其他照片。
常見產品:Pinecone、FAISS、Weaviate、Milvus、Chroma。
② 推薦系統:用戶與商品都轉向量,找離「用戶向量」最近的「商品向量」。
③ 以圖搜圖:圖片轉向量,上傳照片就能找到構圖、內容相似的其他照片。
常見產品:Pinecone、FAISS、Weaviate、Milvus、Chroma。
✅自我檢測
Q1. 向量資料庫是什麼?
專門儲存與檢索高維向量(嵌入)的資料庫,能快速找出與查詢向量最相似的項目;是語意搜尋與 RAG 的核心基礎設施。
Q2. 它和傳統資料庫差在哪?
傳統 DB 做精確比對(等於、範圍);向量 DB 做相似度檢索(最近鄰),回傳語意最接近的結果,而非完全相同。
Q3. 什麼是 ANN(近似最近鄰)?
在海量向量中找精確最近鄰太慢;ANN(如 HNSW、IVF)用索引換速度,以極小準確度損失達成毫秒級檢索,是向量 DB 的關鍵技術。
Q4. 它在 RAG 裡扮演什麼角色?
存放文件切塊的嵌入;查詢時把問題轉嵌入、用向量 DB 撈最相關片段給 LLM,檢索品質直接決定 RAG 答案品質。
🎯重點整理
- 本質:存嵌入、找最相似(語意搜尋)。
- vs SQL:相似度檢索 vs 精確比對。
- 三步:Query Embedding → ANN Search → Return。
- 加速:HNSW/IVF 等 ANN 索引,毫秒級。
- 用途:RAG、推薦、以圖搜圖。