Skip to content

Commit bfaaf03

Browse files
committed
fix(drivers-vector): don't mutate same instance of meta (#1782)
1 parent 26bec37 commit bfaaf03

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

griptape/drivers/vector/base_vector_store_driver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def upsert_text_artifact(
8989
if self.does_entry_exist(vector_id, namespace=namespace):
9090
return vector_id
9191
else:
92-
meta["artifact"] = artifact.to_json()
92+
meta = {**meta, "artifact": artifact.to_json()}
9393

9494
vector = artifact.embedding or artifact.generate_embedding(self.embedding_driver)
9595

tests/unit/drivers/vector/test_local_vector_store_driver.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,11 @@ def test_query_vector(self, driver):
4747
assert result[0].vector == [0, 1]
4848
assert result[0].score is not None
4949
assert result[0].namespace == "foo"
50+
51+
def test_upsert_text_artifacts_meta(self, driver, mocker):
52+
spy = mocker.spy(driver, "upsert_vector")
53+
artifact_1 = TextArtifact("foo bar")
54+
artifact_2 = TextArtifact("bar foo")
55+
driver.upsert_text_artifacts({"foo": [artifact_1, artifact_2]}, meta={"foo": "bar"})
56+
assert spy.call_args_list[0].kwargs["meta"]["artifact"] == artifact_1.to_json()
57+
assert spy.call_args_list[1].kwargs["meta"]["artifact"] == artifact_2.to_json()

0 commit comments

Comments
 (0)