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.extend(self._get_retriever_tags())
return VectorStoreRetriever(vectorstore=self, **kwargs, tags=tags)

View File

@ -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.