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.
This commit is contained in:
Christophe Bornet 2024-06-04 15:50:36 +02:00 committed by GitHub
parent 98b2e7b195
commit 23bba18f92
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -646,9 +646,8 @@ class VectorStore(ABC):
search_kwargs={'filter': {'paper_title':'GPT-4 Technical Report'}} search_kwargs={'filter': {'paper_title':'GPT-4 Technical Report'}}
) )
""" """
tags = kwargs.pop("tags", None) or [] tags = kwargs.pop("tags", None) or [] + self._get_retriever_tags()
tags.extend(self._get_retriever_tags()) return VectorStoreRetriever(vectorstore=self, tags=tags, **kwargs)
return VectorStoreRetriever(vectorstore=self, **kwargs, tags=tags)
class VectorStoreRetriever(BaseRetriever): class VectorStoreRetriever(BaseRetriever):