快速回答
Vector Database(向量資料庫)是專門儲存和搜尋向量(Embedding)的資料庫。它讓 AI 應用能做「語意搜尋」——不是找完全一樣的關鍵字,而是找意思最相似的內容。它是 RAG 架構的核心基礎設施。
白話解釋
想像一個智慧圖書館:
- 傳統資料庫:像圖書館的索引卡——你要知道確切的書名或作者才能找到書
- 向量資料庫:像一個懂內容的圖書館員——你說「我想看關於創業失敗的故事」,他就能推薦最相關的幾本書,即使這些書的標題完全不包含「創業」這兩個字
運作原理
- Embedding:用 AI 模型把文字/圖片轉成一串數字(向量),例如 [0.12, -0.34, 0.56, ...]
- 儲存:向量資料庫把這些向量存起來,並建立索引加速搜尋
- 查詢:把你的問題也轉成向量,找出資料庫中和它「距離最近」的幾個向量
- 返回:返回最相似的結果和對應的原始文件
主流向量資料庫比較
| 產品 | 類型 | 優勢 | 適合 |
|---|---|---|---|
| Pinecone | 雲端託管 | 簡單好用、自動擴展 | 生產環境、企業 |
| Chroma | 開源 | 輕量、易上手 | 原型開發、小專案 |
| Weaviate | 開源/雲端 | 多模態搜尋 | 複雜搜尋場景 |
| Milvus | 開源 | 大規模、高效能 | 十億級向量 |
| Qdrant | 開源/雲端 | Rust 寫成、速度快 | 效能敏感應用 |
| pgvector | PostgreSQL 擴充 | 不需額外服務 | 已用 PostgreSQL |
向量資料庫 + RAG
RAG(檢索增強生成)是向量資料庫最重要的應用場景:
安全提醒:向量資料庫中的資料可能包含敏感資訊。做好存取控制和加密。注意向量本身也可能被還原出原始文字(Embedding Inversion Attack)。在企業環境中使用時,務必考慮資料隱私和合規要求。
常見問題 FAQ
和傳統資料庫有什麼不同?
傳統用精確匹配,向量用相似度搜尋。傳統找「一模一樣」,向量找「最相似」。
RAG 為什麼需要向量資料庫?
RAG 需要快速找到最相關的文件段落,向量資料庫是它的「記憶體」。
Pinecone 和 Chroma 怎麼選?
Pinecone 適合生產環境(雲端託管),Chroma 適合開發和小專案(開源輕量)。
Embedding 和向量資料庫有什麼關係?
Embedding 產生向量,向量資料庫儲存和搜尋向量。上下游關係。
效能瓶頸是什麼?
在數億向量中做高速搜尋。用 ANN 演算法(HNSW、IVF)以少量精確度換速度。
用 pgvector 夠嗎?
百萬級以下夠用。超大規模或超低延遲需求才需專用向量資料庫。