MemPalace/mempalace · error · ValueError

embedding dimension must be positive

Error message

embedding dimension must be positive

What it means

Error "embedding dimension must be positive" thrown in MemPalace/mempalace.

Source

Thrown at mempalace/backends/pgvector.py:866

            raise BackendClosedError("PgVectorCollection has been closed")

    def _table_exists(self) -> bool:
        return self._client.table_exists(self._table)

    def _marker_exists(self) -> bool:
        return self._backend._marker_exists(self._palace)

    def get_stored_embedder_identity(self):
        return self._backend._get_embedder_identity(self._palace, self._collection_name)

    def set_embedder_identity(self, identity) -> None:
        # Sidecar-backed (see PgVectorBackend), so this records even on a
        # brand-new palace whose mismatch marker doesn't exist yet.
        self._backend._set_embedder_identity(self._palace, self._collection_name, identity)

    def _ensure_table(self, dimension: int) -> None:
        if dimension <= 0:
            raise ValueError("embedding dimension must be positive")
        with self._lock:
            self._ensure_open()
            if self._known_dimension is not None:
                if self._known_dimension != dimension:
                    raise DimensionMismatchError(
                        f"pgvector collection {self._collection_name!r} expects "
                        f"embedding dimension {self._known_dimension}, got {dimension}"
                    )
                return
            if not self._table_exists():
                self._client.create_table(self._table, dimension)
                self._known_dimension = dimension
                return
            existing_dim = self._client.table_dimension(self._table)
            if existing_dim is not None and existing_dim != dimension:
                raise DimensionMismatchError(
                    f"pgvector collection {self._collection_name!r} expects "
                    f"embedding dimension {existing_dim}, got {dimension}"

View on GitHub (pinned to 06cb6987f0)

Solutions

  1. Configure an embedding model with a positive output dimension

When it happens

Trigger: Thrown at mempalace/backends/pgvector.py:866 when the library encounters an invalid state.

Common situations: Embedder reported a zero or negative dimension, usually due to misconfiguration.


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