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/milvus.py:568
def upsert(self, *, documents, ids, metadatas=None, embeddings=None):
if embeddings is None:
raise ValueError("milvus requires explicit embeddings")
rows, dimension = self._prepare_rows(
documents=documents,
ids=ids,
metadatas=metadatas,
embeddings=embeddings,
)
if not rows:
return
self._ensure_remote_collection(dimension)
self._client.upsert(collection_name=self._remote_collection, data=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=list(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 = []View 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/milvus.py:568 when the library encounters an invalid state.
Common situations: Update was called with no fields to change.
AI-assisted analysis of MemPalace/mempalace@06cb6987f0 (2026-08-15).
Data as JSON: /api/errors/10476752a22986f1.
Report an issue: GitHub.