fix(chroma): wrap update() ids/embeddings/metadatas in lists (#5757)

This commit is contained in:
Bartok
2026-06-24 01:24:15 -04:00
committed by GitHub
parent c2862831db
commit b611f69381
2 changed files with 30 additions and 2 deletions
+25 -1
View File
@@ -133,7 +133,31 @@ def test_update_vector(chromadb_instance):
chromadb_instance.update(vector_id=vector_id, vector=new_vector, payload=new_payload)
chromadb_instance.collection.update.assert_called_once_with(
ids=vector_id, embeddings=new_vector, metadatas=new_payload
ids=[vector_id], embeddings=[new_vector], metadatas=[new_payload]
)
def test_update_vector_metadata_only(chromadb_instance):
# Metadata-only update (vector=None) must not wrap None in a list.
vector_id = "id1"
new_payload = {"name": "updated_vector"}
chromadb_instance.update(vector_id=vector_id, vector=None, payload=new_payload)
chromadb_instance.collection.update.assert_called_once_with(
ids=[vector_id], embeddings=None, metadatas=[new_payload]
)
def test_update_vector_embedding_only(chromadb_instance):
# Vector-only update (payload=None) must not wrap None in a list.
vector_id = "id1"
new_vector = [0.7, 0.8, 0.9]
chromadb_instance.update(vector_id=vector_id, vector=new_vector, payload=None)
chromadb_instance.collection.update.assert_called_once_with(
ids=[vector_id], embeddings=[new_vector], metadatas=None
)