Skip to content

Embeddings (maticlib.embeddings)

The Embeddings module provides a unified interface for generating high-dimensional vector representations of text across multiple providers.

Unified Interface

All embedding clients share two core methods: - embed_query(text): Returns a single vector (List[float]) for search queries. - embed_documents(texts): Returns a list of vectors (List[List[float]]) optimized for indexing large document sets.

Example Usage

from maticlib.embeddings import OpenAIEmbeddings, GoogleGenAIEmbeddings

# 1. Initialize (automatically picks up API keys from env)
embeddings = OpenAIEmbeddings(model="text-embedding-3-small")

# 2. Embed a single query
query_vector = embeddings.embed_query("How do I use embeddings?")

# 3. Embed a batch of documents
doc_vectors = embeddings.embed_documents([
    "Embeddings are vector representations of text.",
    "They are useful for semantic search and RAG."
])

print(f"Vector Dimensions: {len(query_vector)}")

Supported Providers

Provider Client Class Default Model
OpenAI OpenAIEmbeddings text-embedding-3-small
Google Gemini GoogleGenAIEmbeddings gemini-embedding-001
Mistral AI MistralEmbeddings mistral-embed