Expand description
Automatic Embedding Generation (Task 2)
This module provides colocated embedding resolution for text-to-vector conversion. It enables first-class text search by automatically generating embeddings.
§Design
search_text(collection, text, k)
│
▼
┌─────────────────┐
│ EmbeddingProvider │
│ ├─ LRU Cache │
│ └─ ONNX Runtime │
└─────────────────┘
│
▼
search_by_embedding(collection, embedding, k)§Providers
LocalProvider: Uses FastEmbed/ONNX for offline embeddingCachedProvider: LRU cache wrapper for any providerMockProvider: For testing
§Complexity
- Embedding generation: O(n) where n = text length (transformer inference)
- Cache lookup: O(1) expected (hash-based LRU)
- Batch embedding: O(k) compute with ~O(1) ONNX session overhead
Structs§
- Cache
Stats - Cache statistics
- Cached
Embedding Provider - LRU-cached embedding provider wrapper
- Embedding
Config - Configuration for embedding providers
- Embedding
Vector Index - Vector index with automatic text embedding
- Local
Onnx Provider - Local ONNX-based embedding provider
- Mock
Embedding Provider - Mock embedding provider for testing
Enums§
- Embedding
Error - Error type for embedding operations
Traits§
- Embedding
Provider - Embedding provider trait
Functions§
- create_
embedding_ index - Create an embedding-enabled vector index with mock provider
- create_
mock_ provider - Create a cached mock embedding provider for testing
Type Aliases§
- Embedding
Result - Result type for embedding operations