簡介、用途說明
## 一、什麼是 Vector Database(向量資料庫)?
Vector Database 是專門儲存、管理與搜尋「向量資料」的資料庫。
在 AI 應用中,文字、圖片、音訊或商品等資料,通常會被轉換成一串數字,例如:
```text
[0.12, -0.35, 0.88, ...]
```
這串數字稱為 **向量(Vector)**,通常用來表示資料的語意、特徵或相似性。
向量資料庫除了儲存向量,也會儲存:
- 原始內容或文件 ID
- Metadata,例如作者、日期、產品類別、權限
- 索引結構
- 向量相似度搜尋所需的資料
它的核心功能是:
> 根據一個查詢向量,快速找出最相似的其他向量。
常見的相似度計算方式包括:
- Cosine Similarity(餘弦相似度)
- Euclidean Distance(歐氏距離)
- Inner Product(內積)
向量資料庫通常會使用近似最近鄰搜尋(ANN,Approximate Nearest Neighbor)技術,例如 HNSW、IVF、PQ,以提升大型資料集的搜尋速度。
常見的 Vector Database 包括:
- Pinecone
- Milvus
- Weaviate
- Qdrant
- Chroma
- FAISS
- Elasticsearch / OpenSearch 的向量搜尋功能
- PostgreSQL 搭配 pgvector
---
## 二、什麼是 Embedding Model(嵌入模型)?
Embedding Model 是一種能將資料轉換為向量的 AI 模型。
例如,輸入兩句意思相近的句子:
```text
今天天氣很好
今天的天氣很不錯
```
Embedding Model 可能會將它們轉換成兩個距離很近的向量。
相反地,語意差異很大的內容,通常會產生距離較遠的向量。
Embedding Model 可以處理:
- 文字
- 圖片
- 音訊
- 影片
- 程式碼
- 商品或使用者行為資料
常見的文字嵌入模型包括:
- OpenAI Embeddings
- Cohere Embed
- BGE
- E5
- Sentence Transformers
- Google Gemini Embedding
- Voyage AI Embeddings
---
## 三、Vector Database 與 Embedding Model 的關聯性
兩者的關係可以簡化為:
> **Embedding Model 負責把資料轉成向量,Vector Database 負責儲存及搜尋這些向量。**
典型流程如下:
```text
原始資料
↓
Embedding Model
↓
向量
↓
Vector Database 儲存
```
當使用者提出問題時:
```text
使用者問題
↓
同一個 Embedding Model 轉成查詢向量
↓
向量資料庫進行相似度搜尋
↓
找出相關文件或資料
↓
交給 LLM 產生回答
```
例如,企業知識庫問答系統的流程:
1. 將公司文件切成多個段落
2. 使用 Embedding Model 將每個段落轉成向量
3. 將向量與文件內容存入 Vector Database
4. 使用者提問時,將問題轉成向量
5. 搜尋最相似的文件段落
6. 將搜尋結果提供給大型語言模型
7. LLM 根據這些內容回答問題
這種架構通常稱為:
> **RAG(Retrieval-Augmented Generation,檢索增強生成)**
需要注意的是,建立資料庫與查詢時通常應使用相容的 Embedding Model,否則向量空間不一致,搜尋品質可能會明顯下降。
---
## 四、常見運用場景
### 1. 語意搜尋
傳統關鍵字搜尋是比對字詞;向量搜尋則是比對語意。
例如搜尋:
```text
如何申請年假?
```
即使文件寫的是:
```text
員工休假申請流程
```
向量搜尋仍可能找到相關內容。
應用於:
- 企業文件搜尋
- 法規與合約搜尋
- 客服知識庫
- 網站搜尋
- 程式碼搜尋
---
### 2. RAG 智慧問答
將企業內部文件、產品手冊、FAQ 或規章制度建立成向量索引,讓聊天機器人根據真實資料回答問題。
常見於:
- 企業內部 AI 助理
- 客服機器人
- HR 問答系統
- IT Help Desk
- 法務與合規問答
優點是可以讓 LLM 參考最新或專屬資料,而不必重新訓練整個模型。
---
### 3. 推薦系統
將商品、影片、文章或使用者偏好轉成向量,再尋找相似或適合的項目。
例如:
- 電商商品推薦
- 影片推薦
- 音樂推薦
- 新聞推薦
- 職缺推薦
- 課程推薦
---
### 4. 圖片與多媒體搜尋
將圖片轉成向量後,可進行:
- 以圖搜圖
- 相似商品搜尋
- 人臉或物件比對
- 影像分類輔助
- 影片內容搜尋
- 圖片與文字跨模態搜尋
例如使用者輸入「白色運動鞋」,系統可以找出視覺上相似的商品圖片。
---
### 5. 文件去重與相似內容偵測
透過向量相似度,可以找出:
- 重複文件
- 相似新聞
- 抄襲內容
- 重複客服問題
- 相似合約條款
- 相似程式碼
---
### 6. 異常偵測
如果某筆資料與正常資料的向量距離非常遠,可能代表它是異常資料。
應用於:
- 網路安全
- 金融交易
- 製造業瑕疵偵測
- 系統 Log 分析
- 使用者行為分析
---
### 7. 個人化與智慧代理人
AI Agent 可以利用向量資料庫儲存:
- 使用者偏好
- 對話歷史
- 長期記憶
- 任務紀錄
- 使用者相關文件
讓系統在未來對話中回憶過往資訊,提供更個人化的服務。
---
## 五、向量資料庫與傳統資料庫的差異
| 比較項目 | 傳統資料庫 | 向量資料庫 |
|---|---|---|
| 主要資料 | 表格、文字、數值 | 向量與相關 Metadata |
| 查詢方式 | 精確比對、條件查詢 | 相似度搜尋 |
| 常見問題 | `WHERE id = 123` | 找出最相似的前 10 筆資料 |
| 主要用途 | 交易、訂單、帳務 | 語意搜尋、推薦、RAG |
| 代表技術 | SQL、索引、JOIN | ANN、HNSW、向量距離 |
| 是否可互相取代 | 通常不能完全取代 | 通常與傳統資料庫搭配 |
實務上常見的架構是:
- 傳統資料庫儲存交易與正式資料
- Vector Database 儲存向量與搜尋索引
- 物件儲存系統保存原始文件、圖片或音訊
---
## 六、相關職務
### 1. AI / Machine Learning Engineer
主要工作:
- 選擇與使用 Embedding Model
- 建立 RAG、推薦或搜尋系統
- 訓練、微調或評估模型
- 改善搜尋及回答品質
需要技能:
- Python
- Machine Learning
- NLP
- Transformer
- Embedding
- LLM
- 模型評估
---
### 2. Generative AI Engineer / LLM Engineer
主要工作:
- 建立聊天機器人與 AI Agent
- 設計 RAG Pipeline
- 串接 LLM、Embedding Model 與 Vector Database
- 管理 Prompt、上下文與工具呼叫
常見技能:
- LLM API
- Prompt Engineering
- RAG
- LangChain、LlamaIndex 等框架
- Vector Database
- API 與後端開發
---
### 3. Search / Relevance Engineer
主要工作:
- 建立搜尋引擎
- 調整關鍵字搜尋與向量搜尋
- 設計混合搜尋(Hybrid Search)
- 改善搜尋排序與召回率
需要了解:
- Information Retrieval
- BM25
- 向量搜尋
- Ranking
- Precision、Recall、MRR、NDCG
---
### 4. Data Engineer
主要工作:
- 建立資料清理與匯入流程
- 將文件切分、轉換並寫入向量資料庫
- 管理 Metadata、資料更新及版本
- 建立資料管線與批次處理
常見技能:
- SQL
- Python
- ETL / ELT
- Airflow
- Spark
- Cloud Storage
- Database Architecture
---
### 5. Backend Engineer
主要工作:
- 開發向量搜尋 API
- 整合使用者權限、資料庫與 AI 模型
- 處理快取、併發、延遲與可靠性
- 將 AI 功能整合進產品
需要技能:
- Python、Java、Go、Node.js 等
- REST API / gRPC
- PostgreSQL、Redis
- 微服務
- 雲端架構
---
### 6. MLOps / AI Platform Engineer
主要工作:
- 部署與管理 Embedding Model
- 管理模型版本與向量索引
- 建立監控、評估及重新索引機制
- 控制推論成本與系統延遲
常見技能:
- Docker、Kubernetes
- CI/CD
- Cloud Platform
- Model Serving
- Monitoring
- GPU 與效能最佳化
---
### 7. 資料科學家與推薦系統工程師
主要工作:
- 分析使用者與商品向量
- 設計推薦演算法
- 進行相似度分析與分群
- 評估推薦效果與商業指標
---
## 七、實務上常見的挑戰
導入向量搜尋並不只是把資料放進資料庫,還需要處理:
- 文件如何切分(Chunking)
- 選擇哪一個 Embedding Model
- 不同語言與專業領域的支援
- 向量維度與儲存成本
- 相似度門檻設定
- Metadata 過濾與權限控制
- 資料更新後是否重新產生向量
- 搜尋結果的準確率與召回率
- 個資與機密資料保護
- 向量資料庫與 LLM 的整體延遲及成本
---
## 總結
可以用一句話理解:
> **Embedding Model 將資料轉換成具有語意的數字表示;Vector Database 則負責有效率地儲存、管理和找出相似的向量。**
兩者是現代 AI 搜尋、推薦、RAG 與智慧應用的重要基礎。相關職務則涵蓋 AI 工程師、LLM 工程師、資料工程師、搜尋工程師、後端工程師、MLOps 工程師及推薦系統工程師等。
相關學習地圖、教學課程
Python 人工智慧