fix(chroma): wrap update() ids/embeddings/metadatas in lists (#5757)
This commit is contained in:
@@ -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
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user