embedding-strategies
挑選並最佳化向量搜尋用的 embedding 模型,含 chunking 和模型比較
中文翻譯
---
name: embedding-strategies
description: 為語意搜尋和 RAG 應用挑選並最佳化 embedding 模型。適用於選擇 embedding 模型、實作 chunking 策略,或針對特定領域最佳化 embedding 品質的時候。
---
# Embedding 策略
為向量搜尋應用挑選並最佳化 embedding 模型的指南。
## 什麼時候用這個 Skill
- 為 RAG 挑選 embedding 模型
- 最佳化 chunking 策略
- 針對特定領域 fine-tune embedding
- 比較 embedding 模型的效能
- 降低 embedding 維度
- 處理多語言內容
## 核心概念
### 1. Embedding 模型比較(2026)
| 模型 | 維度 | 最大 Token | 最適合 |
| -------------------------- | ---------- | ---------- | ----------------------------------- |
| **voyage-3-large** | 1024 | 32000 | Claude 應用(Anthropic 推薦) |
| **voyage-3** | 1024 | 32000 | Claude 應用,成本效益高 |
| **voyage-code-3** | 1024 | 32000 | 程式碼搜尋 |
| **voyage-finance-2** | 1024 | 32000 | 金融文件 |
| **voyage-law-2** | 1024 | 32000 | 法律文件 |
| **text-embedding-3-large** | 3072 | 8191 | OpenAI 應用,高準確度 |
| **text-embedding-3-small** | 1536 | 8191 | OpenAI 應用,成本效益高 |
| **bge-large-en-v1.5** | 1024 | 512 | 開源、本機 deploy |
| **all-MiniLM-L6-v2** | 384 | 256 | 快速、輕量 |
| **multilingual-e5-large** | 1024 | 512 | 多語言 |
### 2. Embedding Pipeline
```
文件 → Chunking → 前處理 → Embedding 模型 → 向量
↓
[Overlap, Size] [Clean, Normalize] [API/Local]
```
## 範本與詳細實作範例
完整的範本庫和詳細實作範例放在 `references/details.md`,需要具體範本的時候去讀那份檔案。
## 最佳實務
### 該做的
- **模型要配合使用情境**:程式碼、散文、多語言各有適合的
- **謹慎地 chunk**:保留語意邊界
- **正規化 embedding**:用於 cosine similarity 搜尋
- **批次送出請求**:比一筆一筆送更有效率
- **快取 embedding**:靜態內容避免重複計算
- **Claude 應用用 Voyage AI**:Anthropic 推薦
### 不該做的
- **不要忽略 token 上限**:截斷會遺失資訊
- **不要混用 embedding 模型**:向量空間不相容
- **不要跳過前處理**:垃圾進、垃圾出
- **不要切太碎**:會丟失重要的上下文
- **不要忘記 metadata**:過濾和除錯都需要英文原文
---
name: embedding-strategies
description: Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.
---
# Embedding Strategies
Guide to selecting and optimizing embedding models for vector search applications.
## When to Use This Skill
- Choosing embedding models for RAG
- Optimizing chunking strategies
- Fine-tuning embeddings for domains
- Comparing embedding model performance
- Reducing embedding dimensions
- Handling multilingual content
## Core Concepts
### 1. Embedding Model Comparison (2026)
| Model | Dimensions | Max Tokens | Best For |
| -------------------------- | ---------- | ---------- | ----------------------------------- |
| **voyage-3-large** | 1024 | 32000 | Claude apps (Anthropic recommended) |
| **voyage-3** | 1024 | 32000 | Claude apps, cost-effective |
| **voyage-code-3** | 1024 | 32000 | Code search |
| **voyage-finance-2** | 1024 | 32000 | Financial documents |
| **voyage-law-2** | 1024 | 32000 | Legal documents |
| **text-embedding-3-large** | 3072 | 8191 | OpenAI apps, high accuracy |
| **text-embedding-3-small** | 1536 | 8191 | OpenAI apps, cost-effective |
| **bge-large-en-v1.5** | 1024 | 512 | Open source, local deployment |
| **all-MiniLM-L6-v2** | 384 | 256 | Fast, lightweight |
| **multilingual-e5-large** | 1024 | 512 | Multi-language |
### 2. Embedding Pipeline
```
Document → Chunking → Preprocessing → Embedding Model → Vector
↓
[Overlap, Size] [Clean, Normalize] [API/Local]
```
## Templates and detailed worked examples
Full template library and detailed worked examples live in `references/details.md`. Read that file when you need the concrete templates.
## Best Practices
### Do's
- **Match model to use case**: Code vs prose vs multilingual
- **Chunk thoughtfully**: Preserve semantic boundaries
- **Normalize embeddings**: For cosine similarity search
- **Batch requests**: More efficient than one-by-one
- **Cache embeddings**: Avoid recomputing for static content
- **Use Voyage AI for Claude apps**: Recommended by Anthropic
### Don'ts
- **Don't ignore token limits**: Truncation loses information
- **Don't mix embedding models**: Incompatible vector spaces
- **Don't skip preprocessing**: Garbage in, garbage out
- **Don't over-chunk**: Lose important context
- **Don't forget metadata**: Essential for filtering and debugging