mem0ai/mem0 · error · ValueError
Payload count must match vector count. Expected {len(vectors
Error message
Payload count must match vector count. Expected {len(vectors)} got {len(payloads)}. What it means
Error "Payload count must match vector count. Expected {len(vectors)} got {len(payloads)}." thrown in mem0ai/mem0.
Source
Thrown at mem0/vector_stores/oracledb.py:379
payload JSON
)
"""
)
if self.config.do_create_index:
ddl = self._create_index_ddl()
cursor.execute(ddl)
def insert(
self,
vectors: List[List[float]],
payloads: Optional[List[Dict[str, Any]]] = None,
ids: Optional[List[str]] = None,
) -> None:
logger.info(f"Inserting {len(vectors)} vectors into collection {self.collection_name}")
if payloads is not None and len(payloads) != len(vectors):
raise ValueError(f"Payload count must match vector count. Expected {len(vectors)} got {len(payloads)}.")
if ids is not None and len(ids) != len(vectors):
raise ValueError(f"ID count must match vector count. Expected {len(vectors)} got {len(ids)}.")
ids = ids or [str(uuid.uuid4()) for _ in vectors]
data = [
{"id": _id, "vector": array.array("f", vector), "payload": payload}
for vector, payload, _id in zip(vectors, payloads or [{}] * len(vectors), ids)
]
with self._get_cursor(commit=True) as cursor:
cursor.setinputsizes(
vector=oracledb.DB_TYPE_VECTOR,
payload=oracledb.DB_TYPE_JSON,
)
cursor.executemany(
f"INSERT INTO {self.collection_name} (id, vector, payload) VALUES (:id, :vector, :payload)", data
)
View on GitHub (pinned to 001c235229)
Solutions
- Pass one payload per vector so len(payloads) equals len(vectors).
When it happens
Trigger: Thrown at mem0/vector_stores/oracledb.py:379 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15).
Data as JSON: /api/errors/1ed49122dbf4180a.
Report an issue: GitHub.