Expand description
Embedding generation for text vectorization.
Supports multiple embedding backends:
- Hash-based (default, for testing and offline use)
- OpenAI API (production, high-quality embeddings)
§Choosing a Backend
| Backend | Quality | Speed | Cost | Offline |
|---|---|---|---|---|
| Hash | Low | Fast | Free | Yes |
| OpenAI | High | Medium | Paid | No |
§Example
ⓘ
use converge_knowledge::embedding::EmbeddingEngine;
// Development/testing: use hash embeddings
let engine = EmbeddingEngine::new(256);
// Production: use OpenAI (reads OPENAI_API_KEY)
let engine = EmbeddingEngine::from_env()?;
// Production with explicit key
let engine = EmbeddingEngine::with_openai("sk-...", None);Structs§
- Embedding
Engine - Embedding engine for converting text to vectors.
- Hash
Embedding - Hash-based embedding for testing and development.
- OpenAI
Config - Configuration for the OpenAI embedding provider.
- OpenAI
Embedding - OpenAI embedding provider with production features.
- Usage
Snapshot - Snapshot of usage statistics.
- Usage
Stats - Token usage statistics.
Enums§
- OpenAI
Model - OpenAI embedding models.
Traits§
- Embedding
Provider - Embedding provider trait for different backends.