API Reference

On this page

Public classes

ClassTypeBackendAPI key neededPage
BaseEmbedderAbstract base class——base_embedder
EmbedderConfigDataclass——config_embedder
ArabicEmbedderConcreteLocal (sentence-transformers)Noarabic_embedder
HuggingFaceEmbedderConcreteLocal (sentence-transformers)Nohuggingface_embedder
OpenAIEmbedderConcreteHosted APIYes (OPENAI_API_KEY)openai_embedder
GeminiEmbedderConcreteHosted APIYes (GOOGLE_API_KEY/GEMINI_API_KEY)gemini_embedder
MistralEmbedderConcreteHosted APIYes (MISTRAL_API_KEY)mistral_embedder
OllamaEmbedderConcreteLocal HTTP serverNoollama_embedder

Common interface (from BaseEmbedder)

Every concrete embedder implements at minimum:

MemberKindNotes
encode(texts, ...)abstract methodMust be implemented by every subclass; signatures vary slightly per class
embedding_dimabstract propertyMust be implemented by every subclass
encode_with_cache(texts, **kwargs)methodGeneric MD5-keyed cache wrapper around encode()
similarity(text1, text2, metric)method'cosine', 'dot', or 'euclidean'
batch_similarity(query, texts, top_k)methodDot-product similarity of a query against many texts
validate_connection(test_text, detailed)methodSanity-checks that encode() works; overridden by OllamaEmbedder
get_model_info()methodOverridden by every subclass with backend-specific fields
get_stats() / reset_stats()methodsEncoding count/time/cache-hit bookkeeping
clear_cache()methodOverridden by most subclasses for backend-specific cache structures
cleanup()methodClears cache, frees GPU memory if torch + CUDA present
timing(operation)context managerLogs elapsed wall time for a with block
aencode, aencode_with_cache, abatch_similarityasync methodsThread-pool wrappers via asyncio.to_thread
__enter__/__exit__, __aenter__/__aexit__context managersSync and async; every subclass overrides the sync pair to log a summary
__repr__dunderOverridden by every subclass

Data classes and enums (not part of __all__, but public in each module)

NameFilePurpose
ArabicProcessingStatsarabic_embedder.pyTracks normalization counts/timing for ArabicEmbedder
GeminiUsageStatsgemini_embedder.pyTracks request/character counts for GeminiEmbedder
MistralUsageStatsmistral_embedder.pyTracks token/cost counts for MistralEmbedder
MistralRateLimitermistral_embedder.pySimple sliding-window requests/second limiter
UsageStatsopenai_embedder.pyTracks token/cost/per-minute counts for OpenAIEmbedder
RateLimiteropenai_embedder.pySliding-window requests/tokens-per-minute limiter
ArabicQualityhugginface_embedder.pyEnum: EXCELLENT, GOOD, FAIR, UNKNOWN
ModelInfohugginface_embedder.pyDataclass describing a recommended HF model
EmbeddingStatshugginface_embedder.pyDataclass replacing BaseEmbedder's dict _stats for HuggingFaceEmbedder
retry_on_failurehugginface_embedder.pyDecorator factory implementing retry-with-backoff; used on _load_model

These aren't re-exported by embeddings/__init__.py, so import them from their submodule directly if needed, e.g. from embeddings.hugginface_embedder import ArabicQuality.

Related pages