Source code for langchain_community.retrievers.zilliz

import warnings
from typing import Any, Dict, List, Optional

from langchain_core.callbacks import CallbackManagerForRetrieverRun
from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings
from langchain_core.pydantic_v1 import root_validator
from langchain_core.retrievers import BaseRetriever

from langchain_community.vectorstores.zilliz import Zilliz

# TODO: Update to ZillizClient + Hybrid Search when available


[docs]class ZillizRetriever(BaseRetriever): """`Zilliz API` 检索器。""" embedding_function: Embeddings """从中检索文档的基础嵌入函数。""" collection_name: str = "LangChainCollection" """Zilliz中集合的名称。""" connection_args: Optional[Dict[str, Any]] = None """Zilliz客户端的连接参数。""" consistency_level: str = "Session" """Zilliz客户端的一致性级别。""" search_params: Optional[dict] = None """Zilliz客户端的搜索参数。""" store: Zilliz """Zilliz存储的基础。""" retriever: BaseRetriever """基础的检索器。""" @root_validator(pre=True) def create_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"]} ) return values
[docs] def add_texts( self, texts: List[str], metadatas: Optional[List[dict]] = None ) -> None: """将文本添加到Zilliz存储库 参数: texts (List[str]): 文本 metadatas (List[dict]): 元数据字典,必须与现有存储库对齐 """ self.store.add_texts(texts, metadatas)
def _get_relevant_documents( self, query: str, *, run_manager: CallbackManagerForRetrieverRun, **kwargs: Any, ) -> List[Document]: return self.retriever.invoke( query, run_manager=run_manager.get_child(), **kwargs )
[docs]def ZillizRetreiver(*args: Any, **kwargs: Any) -> ZillizRetriever: """已弃用的ZillizRetreiver。 请改用ZillizRetriever(在“e”之前加上“i”)。 参数: *args: **kwargs: 返回: ZillizRetriever """ warnings.warn( "ZillizRetreiver will be deprecated in the future. " "Please use ZillizRetriever ('i' before 'e') instead.", DeprecationWarning, ) return ZillizRetriever(*args, **kwargs)