MemPalace/mempalace · error · ValueError
pgvector requires explicit embeddings
Error message
pgvector requires explicit embeddings
What it means
Error "pgvector requires explicit embeddings" thrown in MemPalace/mempalace.
Source
Thrown at mempalace/backends/pgvector.py:965
_validate_where(where)
_validate_where(where_document)
pushdown = None if _requires_local_filter(where, where_document) else where
rows = self._scroll(where=pushdown, with_embedding=with_embedding)
id_set = set(ids) if ids is not None else None
return [
row
for row in rows
if (id_set is None or row["id"] in id_set)
and _matches_where(row["metadata"], where)
and _matches_where_document(row["document"], where_document)
]
def add(self, *, documents, ids, metadatas=None, embeddings=None):
_validate_write_batch(
documents=documents, ids=ids, metadatas=metadatas, embeddings=embeddings
)
if embeddings is None:
raise ValueError("pgvector requires explicit embeddings")
if len(set(ids)) != len(ids):
raise ValueError("add ids must be unique")
existing = self.get(ids=list(ids), include=[])
if existing.ids:
raise ValueError(f"ids already exist in pgvector collection: {existing.ids}")
self.upsert(documents=documents, ids=ids, metadatas=metadatas, embeddings=embeddings)
def upsert(self, *, documents, ids, metadatas=None, embeddings=None):
_validate_write_batch(
documents=documents, ids=ids, metadatas=metadatas, embeddings=embeddings
)
if embeddings is None:
raise ValueError("pgvector requires explicit embeddings")
vectors, dimension = _normalize_vectors(embeddings)
self._ensure_table(dimension)
metadatas = metadatas or [{} for _ in ids]
rows = [
{View on GitHub (pinned to 06cb6987f0)
Solutions
- Compute embeddings explicitly and pass them to add/upsert; pgvector does not embed for you
When it happens
Trigger: Thrown at mempalace/backends/pgvector.py:965 when the library encounters an invalid state.
Common situations: Caller relied on server-side embedding the pgvector backend does not provide.
AI-assisted analysis of MemPalace/mempalace@06cb6987f0 (2026-08-15).
Data as JSON: /api/errors/2b649e6c9a1ff293.
Report an issue: GitHub.