From 52e23e50b1ac9a1f7ee84399d0a590c190c5959e Mon Sep 17 00:00:00 2001 From: Ofer Mendelevitch Date: Mon, 20 Nov 2023 09:44:43 -0800 Subject: [PATCH] BUG: Fix search_kwargs in Vectara retriever (#13299) - **Description:** fix a bug that prevented as_retriever() in Vectara to use the desired input arguments - **Issue:** as_retriever did not pass the arguments properly - **Tag maintainer:** @baskaryan - **Twitter handle:** @ofermend --- libs/langchain/langchain/schema/vectorstore.py | 1 - libs/langchain/langchain/vectorstores/vectara.py | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/libs/langchain/langchain/schema/vectorstore.py b/libs/langchain/langchain/schema/vectorstore.py index e99015d903b..5e5e08a7a0c 100644 --- a/libs/langchain/langchain/schema/vectorstore.py +++ b/libs/langchain/langchain/schema/vectorstore.py @@ -608,7 +608,6 @@ class VectorStore(ABC): """ tags = kwargs.pop("tags", None) or [] tags.extend(self._get_retriever_tags()) - return VectorStoreRetriever(vectorstore=self, **kwargs, tags=tags) diff --git a/libs/langchain/langchain/vectorstores/vectara.py b/libs/langchain/langchain/vectorstores/vectara.py index 162f8cd1698..221d36716a8 100644 --- a/libs/langchain/langchain/vectorstores/vectara.py +++ b/libs/langchain/langchain/vectorstores/vectara.py @@ -38,7 +38,7 @@ class Vectara(VectorStore): vectara_customer_id: Optional[str] = None, vectara_corpus_id: Optional[str] = None, vectara_api_key: Optional[str] = None, - vectara_api_timeout: int = 60, + vectara_api_timeout: int = 120, source: str = "langchain", ): """Initialize with Vectara API.""" @@ -312,7 +312,6 @@ class Vectara(VectorStore): return [] result = response.json() - if score_threshold: responses = [ r @@ -441,7 +440,7 @@ class Vectara(VectorStore): def as_retriever(self, **kwargs: Any) -> VectaraRetriever: tags = kwargs.pop("tags", None) or [] tags.extend(self._get_retriever_tags()) - return VectaraRetriever(vectorstore=self, **kwargs, tags=tags) + return VectaraRetriever(vectorstore=self, search_kwargs=kwargs, tags=tags) class VectaraRetriever(VectorStoreRetriever): @@ -451,12 +450,13 @@ class VectaraRetriever(VectorStoreRetriever): """Vectara vectorstore.""" search_kwargs: dict = Field( default_factory=lambda: { - "lambda_val": 0.025, + "lambda_val": 0.0, "k": 5, "filter": "", "n_sentence_context": "2", } ) + """Search params. k: Number of Documents to return. Defaults to 5. lambda_val: lexical match parameter for hybrid search.