luplo.core.embedding

Embedding backend abstraction.

Default is NullEmbedding — no ML dependencies, vector reranking disabled. Install luplo[vector-local] for sentence-transformers support.

Submodules

Classes

NullEmbedding

Embedding backend that produces no vectors.

EmbeddingBackend

Abstraction over text embedding models.

Package Contents

class luplo.core.embedding.NullEmbedding

Embedding backend that produces no vectors.

async embed(texts: list[str]) list[list[float] | None]

Return None for every text — embeddings disabled.

class luplo.core.embedding.EmbeddingBackend

Bases: Protocol

Abstraction over text embedding models.

Implementations produce fixed-dimension float vectors from text. The null backend returns None for every input, which causes the search pipeline to skip vector reranking entirely.

async embed(texts: list[str]) list[list[float] | None]

Embed a batch of texts.

Parameters:

texts – Strings to embed.

Returns:

One vector per input text, or None if embedding is unavailable for that text.