elips/docs
Chapter VIII · text

Embedders — built-in, custom, rehydratable

An embedder is whatever implements TextEmbedderPort. ELIPS records its identity in TEXT_EMBEDDER.manifest so reopens are deterministic.

Use the built-in local embedder

python
db = elips.open("/data/db", dimension=128, auto_text_embedder=True)

Custom embedder

python
class MyEmbedder(elips.TextEmbedder):
    dimension = 768
    name = "my-embedder/v1"
    revision = "2026-06"

    def embed(self, texts):
        return model.encode(texts)

db = elips.open("/data/db", dimension=768, embedder=MyEmbedder())

From docs/cpp/api-reference/config.md: TextEmbedderPort exposes provider_name, model_name, revision_name, backend_name, output_dimension. ELIPS uses these to fingerprint the manifest.