MemPalace/mempalace · error · ValueError

no embedder model to record: pass --model NAME or configure

Error message

no embedder model to record: pass --model NAME or configure MEMPALACE_EMBEDDING_MODEL

What it means

Error "no embedder model to record: pass --model NAME or configure MEMPALACE_EMBEDDING_MODEL" thrown in MemPalace/mempalace.

Source

Thrown at mempalace/palace.py:306

):
    """Record (or force-override) a palace collection's embedder identity (RFC 001).

    Backs ``mempalace palace set-embedder``. Returns ``(old, new)`` identities.
    Without ``force``, refuses to overwrite an existing identity that names a
    different model (the user must confirm they know the vectors are
    compatible). Opens with the identity check skipped so a mismatched palace —
    the exact state being repaired — can be opened at all.
    """
    from .backends.base import EmbedderIdentity, EmbedderIdentityMismatchError
    from .config import MempalaceConfig
    from .embedding import get_embedder_identity

    configured = MempalaceConfig().embedding_model
    target = (model or configured or "").strip().lower()
    if not target:
        # No model given and none configured — there is nothing to record, and
        # recording a nameless identity is a silent no-op in every backend.
        raise ValueError(
            "no embedder model to record: pass --model NAME or configure MEMPALACE_EMBEDDING_MODEL"
        )
    if target == (configured or "").strip().lower():
        # Recording the in-use model — probe its dimension (already loaded).
        new = get_embedder_identity()
    else:
        # Explicit override of a non-configured model: record the name only,
        # never load a foreign model (which can be a large download) just to
        # probe a dimension. The model-name check is the actual protection.
        new = EmbedderIdentity(model_name=target, dimension=0)
    collection = get_collection(
        palace_path,
        collection_name=collection_name,
        create=True,
        backend=backend,
        _skip_identity_check=True,
    )
    try:

View on GitHub (pinned to 06cb6987f0)

Solutions

  1. Pass --model NAME or set MEMPALACE_EMBEDDING_MODEL

When it happens

Trigger: Thrown at mempalace/palace.py:306 when the library encounters an invalid state.

Common situations: set-embedder was run without any model identity to record.


AI-assisted analysis of MemPalace/mempalace@06cb6987f0 (2026-08-15). Data as JSON: /api/errors/0a3e3ee251dc7441. Report an issue: GitHub.