From 23bba18f9253a8deaf778da4a226b03837fc8be5 Mon Sep 17 00:00:00 2001 From: Christophe Bornet Date: Tue, 4 Jun 2024 15:50:36 +0200 Subject: [PATCH] core[patch]: Fix VectorStore's as_retriever mutating tags param (#22470) The current VectorStore `as_retriever` implementation mutates the `tags` param when it's passed in kwargs. This fix ensures that a copy is done. --- libs/core/langchain_core/vectorstores.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libs/core/langchain_core/vectorstores.py b/libs/core/langchain_core/vectorstores.py index d6299c61d77..96160cedf29 100644 --- a/libs/core/langchain_core/vectorstores.py +++ b/libs/core/langchain_core/vectorstores.py @@ -646,9 +646,8 @@ class VectorStore(ABC): search_kwargs={'filter': {'paper_title':'GPT-4 Technical Report'}} ) """ - tags = kwargs.pop("tags", None) or [] - tags.extend(self._get_retriever_tags()) - return VectorStoreRetriever(vectorstore=self, **kwargs, tags=tags) + tags = kwargs.pop("tags", None) or [] + self._get_retriever_tags() + return VectorStoreRetriever(vectorstore=self, tags=tags, **kwargs) class VectorStoreRetriever(BaseRetriever):