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
This commit is contained in:
Ofer Mendelevitch 2023-11-20 09:44:43 -08:00 committed by GitHub
parent 1c08dbfb33
commit 52e23e50b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 5 deletions

View File

@ -608,7 +608,6 @@ class VectorStore(ABC):
""" """
tags = kwargs.pop("tags", None) or [] tags = kwargs.pop("tags", None) or []
tags.extend(self._get_retriever_tags()) tags.extend(self._get_retriever_tags())
return VectorStoreRetriever(vectorstore=self, **kwargs, tags=tags) return VectorStoreRetriever(vectorstore=self, **kwargs, tags=tags)

View File

@ -38,7 +38,7 @@ class Vectara(VectorStore):
vectara_customer_id: Optional[str] = None, vectara_customer_id: Optional[str] = None,
vectara_corpus_id: Optional[str] = None, vectara_corpus_id: Optional[str] = None,
vectara_api_key: Optional[str] = None, vectara_api_key: Optional[str] = None,
vectara_api_timeout: int = 60, vectara_api_timeout: int = 120,
source: str = "langchain", source: str = "langchain",
): ):
"""Initialize with Vectara API.""" """Initialize with Vectara API."""
@ -312,7 +312,6 @@ class Vectara(VectorStore):
return [] return []
result = response.json() result = response.json()
if score_threshold: if score_threshold:
responses = [ responses = [
r r
@ -441,7 +440,7 @@ class Vectara(VectorStore):
def as_retriever(self, **kwargs: Any) -> VectaraRetriever: def as_retriever(self, **kwargs: Any) -> VectaraRetriever:
tags = kwargs.pop("tags", None) or [] tags = kwargs.pop("tags", None) or []
tags.extend(self._get_retriever_tags()) 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): class VectaraRetriever(VectorStoreRetriever):
@ -451,12 +450,13 @@ class VectaraRetriever(VectorStoreRetriever):
"""Vectara vectorstore.""" """Vectara vectorstore."""
search_kwargs: dict = Field( search_kwargs: dict = Field(
default_factory=lambda: { default_factory=lambda: {
"lambda_val": 0.025, "lambda_val": 0.0,
"k": 5, "k": 5,
"filter": "", "filter": "",
"n_sentence_context": "2", "n_sentence_context": "2",
} }
) )
"""Search params. """Search params.
k: Number of Documents to return. Defaults to 5. k: Number of Documents to return. Defaults to 5.
lambda_val: lexical match parameter for hybrid search. lambda_val: lexical match parameter for hybrid search.