Lesson 17← back to roadmap
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.