Source code for langchain_community.retrievers.zilliz
importwarningsfromtypingimportAny,Dict,List,Optionalfromlangchain_core.callbacksimportCallbackManagerForRetrieverRunfromlangchain_core.documentsimportDocumentfromlangchain_core.embeddingsimportEmbeddingsfromlangchain_core.pydantic_v1importroot_validatorfromlangchain_core.retrieversimportBaseRetrieverfromlangchain_community.vectorstores.zillizimportZilliz# TODO: Update to ZillizClient + Hybrid Search when available
[docs]classZillizRetriever(BaseRetriever):"""`Zilliz API` retriever."""embedding_function:Embeddings"""The underlying embedding function from which documents will be retrieved."""collection_name:str="LangChainCollection""""The name of the collection in Zilliz."""connection_args:Optional[Dict[str,Any]]=None"""The connection arguments for the Zilliz client."""consistency_level:str="Session""""The consistency level for the Zilliz client."""search_params:Optional[dict]=None"""The search parameters for the Zilliz client."""store:Zilliz"""The underlying Zilliz store."""retriever:BaseRetriever"""The underlying retriever."""@root_validator(pre=True)defcreate_client(cls,values:dict)->dict:values["store"]=Zilliz(values["embedding_function"],values["collection_name"],values["connection_args"],values["consistency_level"],)values["retriever"]=values["store"].as_retriever(search_kwargs={"param":values["search_params"]})returnvalues
[docs]defadd_texts(self,texts:List[str],metadatas:Optional[List[dict]]=None)->None:"""Add text to the Zilliz store Args: texts (List[str]): The text metadatas (List[dict]): Metadata dicts, must line up with existing store """self.store.add_texts(texts,metadatas)
[docs]defZillizRetreiver(*args:Any,**kwargs:Any)->ZillizRetriever:"""Deprecated ZillizRetreiver. Please use ZillizRetriever ('i' before 'e') instead. Args: *args: **kwargs: Returns: ZillizRetriever """warnings.warn("ZillizRetreiver will be deprecated in the future. ""Please use ZillizRetriever ('i' before 'e') instead.",DeprecationWarning,)returnZillizRetriever(*args,**kwargs)