Supported Embedding Providers
| Provider | ID | Default Model | Dimensions | API Key Required |
|---|---|---|---|---|
| Ollama (local) | ollama | nomic-embed-text | 768 | No |
| OpenAI | openai | text-embedding-3-small | 1536 | Yes |
Basic Configuration
Add an[embedding] section to enable vector search:
remember command automatically generates embeddings, and recall uses hybrid search (keyword + vector).
Ollama Embedding Provider
Ollama runs locally and requires no API key:Supported Ollama Models
| Model | Dimensions | Use Case |
|---|---|---|
nomic-embed-text | 768 | General purpose (default) |
all-minilm | 384 | Fast, smaller embeddings |
mxbai-embed-large | 1024 | Higher quality |
snowflake-arctic-embed | 1024 | Multilingual |
Custom Ollama Endpoint
For remote Ollama servers:OpenAI Embedding Provider
OpenAI embeddings require an API key:Supported OpenAI Models
| Model | Dimensions | Use Case |
|---|---|---|
text-embedding-3-small | 1536 | Fast, cost-effective (default) |
text-embedding-3-large | 3072 | Higher quality, more expensive |
text-embedding-ada-002 | 1536 | Legacy model |
API Key Configuration
Provide API key via config or environment variable:When to Use Embeddings
Embeddings are optional. OneClaw works without them using SQLite FTS5 (full-text search).Use Embeddings When:
- Semantic search matters (“hot weather” matches “warm sunny day”)
- You have longer-term memory needs (100+ items)
- Queries use natural language (not exact keywords)
- Multilingual queries and memory items
Skip Embeddings When:
- Memory is small (under 50 items)
- Queries are keyword-based (“temperature sensor 3”)
- Edge device with limited resources
- Embedding service unavailable
Hybrid Search (FTS + Vector)
When embeddings are configured,recall uses RRF (Reciprocal Rank Fusion) to combine:
- FTS5 keyword search (SQLite built-in)
- Vector search cosine similarity
Example
Graceful Degradation
If embedding provider is unavailable, OneClaw falls back to FTS-only:Vector Search Configuration
Embeddings are stored alongside memory items in SQLite:Configuration Examples
Edge Device (Raspberry Pi)
Local Ollama embedding:Cloud Deployment
OpenAI embeddings (no local Ollama needed):Multilingual Setup
For multilingual memory (Vietnamese, English, etc.):High-Quality Embeddings
For maximum accuracy (at higher cost):Timeout Configuration
Embedding requests have a configurable timeout:Checking Embedding Provider Status
Use therecall command to verify embedding status:
Performance Considerations
Embedding Generation Speed
| Provider | Model | Speed (per text) |
|---|---|---|
| Ollama local | nomic-embed-text | ~50ms |
| Ollama local | all-minilm | ~20ms |
| OpenAI API | text-embedding-3-small | ~100-200ms |
Memory Usage
| Model | Dimensions | Storage per item |
|---|---|---|
| all-minilm | 384 | 1.5 KB |
| nomic-embed-text | 768 | 3 KB |
| text-embedding-3-small | 1536 | 6 KB |
| text-embedding-3-large | 3072 | 12 KB |
- 768D model: ~3 MB
- 1536D model: ~6 MB
- 3072D model: ~12 MB
No Configuration Required
Embedding configuration is optional. OneClaw works perfectly fine without it:remember, recall) work using SQLite FTS5 keyword search.