MemPalace/mempalace · error · ValueError
update requires at least one of documents, metadatas, embedd
Error message
update requires at least one of documents, metadatas, embeddings
What it means
Error "update requires at least one of documents, metadatas, embeddings" thrown in MemPalace/mempalace.
Source
Thrown at mempalace/backends/pgvector.py:997
vectors, dimension = _normalize_vectors(embeddings)
self._ensure_table(dimension)
metadatas = metadatas or [{} for _ in ids]
rows = [
{
"id": str(doc_id),
"document": str(doc),
"metadata": _jsonable_metadata(meta),
"embedding": vector,
"updated_at": _utcnow(),
}
for doc_id, doc, meta, vector in zip(ids, documents, metadatas, vectors)
]
self._client.upsert_rows(self._table, rows)
self._backend._write_marker(self._palace, self._config)
def update(self, *, ids, documents=None, metadatas=None, embeddings=None):
if documents is None and metadatas is None and embeddings is None:
raise ValueError("update requires at least one of documents, metadatas, embeddings")
n = len(ids)
for label, value in (
("documents", documents),
("metadatas", metadatas),
("embeddings", embeddings),
):
if value is not None and len(value) != n:
raise ValueError(f"{label} length {len(value)} does not match ids length {n}")
existing = self.get(ids=ids, include=["documents", "metadatas", "embeddings"])
by_id = {
rid: (existing.documents[i], existing.metadatas[i], existing.embeddings[i])
for i, rid in enumerate(existing.ids)
if existing.embeddings is not None
}
out_ids, out_docs, out_metas, out_embeddings = [], [], [], []
for idx, doc_id in enumerate(ids):
if doc_id not in by_id:
continueView on GitHub (pinned to 06cb6987f0)
Solutions
- Pass at least one of documents, metadatas, or embeddings to update
When it happens
Trigger: Thrown at mempalace/backends/pgvector.py:997 when the library encounters an invalid state.
Common situations: Update invoked with nothing to change.
AI-assisted analysis of MemPalace/mempalace@06cb6987f0 (2026-08-15).
Data as JSON: /api/errors/9092a8107d7cdeb1.
Report an issue: GitHub.