🎉 ai-infra v1.0 is here — Production-ready AI/LLM infrastructure
What's new
nfrax logonfrax

Infrastructure that just works. Ship products, not boilerplate.

Frameworks

  • svc-infra
  • ai-infra
  • fin-infra
  • robo-infra

Resources

  • Getting Started
  • What's New
  • Contributing

Community

  • GitHub

© 2026 nfrax. All rights reserved.

nfrax logonfrax
Start HereWhat's New
GitHub
ai-infra / API Reference

Embeddings

from ai_infra.embeddings import Embeddings
View source
ai_infra.embeddings

Simple, provider-agnostic text embeddings. Generate embeddings from text using any supported provider (OpenAI, Google, Voyage, Cohere, Anthropic) or use free local embeddings with HuggingFace. Features: - Zero-config: Auto-detects provider, falls back to free local embeddings - Free option: Use HuggingFace/sentence-transformers (no API key needed) - Simple API: `embed()` for one, `embed_batch()` for many - Async support: `aembed()` and `aembed_batch()` - Similarity helper: `similarity()` for cosine similarity - Flexible: Override provider, model, dimensions

python
from ai_infra import Embeddings

    # Auto-detect provider (falls back to free local if no API keys)
    embeddings = Embeddings()
    vector = embeddings.embed("Hello, world!")

    # Free local embeddings (no API key needed)
    embeddings = Embeddings(provider="huggingface")
    embeddings = Embeddings(provider="local")  # alias

    # Specific provider and model
    embeddings = Embeddings(provider="openai", model="text-embedding-3-large")

    # Batch embedding
    vectors = embeddings.embed_batch(["Hello", "World"])

    # Similarity
    score = embeddings.similarity("Hello", "Hi")

Providers: - openai: OpenAI embeddings (requires OPENAI_API_KEY) - google/google_genai: Google embeddings (requires GOOGLE_API_KEY) - voyage: Voyage AI embeddings (requires VOYAGE_API_KEY) - cohere: Cohere embeddings (requires COHERE_API_KEY) - huggingface/local: Free local embeddings (no API key, runs on CPU)

Constructor
Embeddings(provider: str | None = None, model: str | None = None, dimensions: int | None = None, kwargs: Any = {}) -> None
ParameterTypeDefaultDescription
providerstr|NoneNoneProvider name (openai, google, voyage, cohere, anthropic, huggingface/local). Auto-detects from environment if not specified, falling back to huggingface (free, local).
modelstr|NoneNoneModel name. Uses provider default if not specified.
dimensionsint|NoneNoneEmbedding dimensions (OpenAI text-embedding-3 only).
kwargsAny{}—

Methods

On This Page

Constructoraembedasyncaembed_batchasyncasimilarityasyncembedembed_batchlist_configured_providersclassmethodlist_providersclassmethodsimilarity