Skip to main content

Module embedding_provider

Module embedding_provider 

Source
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 embedding
  • CachedProvider: LRU cache wrapper for any provider
  • MockProvider: 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§

CacheStats
Cache statistics
CachedEmbeddingProvider
LRU-cached embedding provider wrapper
EmbeddingConfig
Configuration for embedding providers
EmbeddingVectorIndex
Vector index with automatic text embedding
LocalOnnxProvider
Local ONNX-based embedding provider
MockEmbeddingProvider
Mock embedding provider for testing

Enums§

EmbeddingError
Error type for embedding operations

Traits§

EmbeddingProvider
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§

EmbeddingResult
Result type for embedding operations