a
    bgp&                  /   @   s  d Z ddlZddlmZmZ er*ddlmZ ddlmZ ddl	m
Z
 ddlmZmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@ dd lAmBZB dd!lCmDZD dd"lEmFZF dd#lGmHZH dd$lImJZJ dd%lKmLZL dd&lMmNZN dd'lOmPZP dd(lQmRZR dd)lSmTZT dd*lUmVZV dd+lWmXZX dd,lYmZZZ dd-l[m\Z\ d.d/d0d1d2d3d3d4d5d6d7d8d9d:d;d<d=d>d=d=d?d@dAdAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdX.Z]e^edYdZd[Z_g d\Z`dS )]a;  **Retriever** class returns Documents given a text **query**.

It is more general than a vector store. A retriever does not need to be able to
store documents, only to return (or retrieve) it. Vector stores can be used as
the backbone of a retriever, but there are other types of retrievers as well.

**Class hierarchy:**

.. code-block::

    BaseRetriever --> <name>Retriever  # Examples: ArxivRetriever, MergerRetriever

**Main helpers:**

.. code-block::

    Document, Serializable, Callbacks,
    CallbackManagerForRetrieverRun, AsyncCallbackManagerForRetrieverRun
    N)TYPE_CHECKINGAny)ArceeRetriever)ArxivRetriever)AskNewsRetriever)AzureAISearchRetrieverAzureCognitiveSearchRetriever)AmazonKnowledgeBasesRetriever)BM25Retriever)BreebsRetriever)ChaindeskRetriever)ChatGPTPluginRetriever)CohereRagRetriever)DocArrayRetriever)DriaRetriever)ElasticSearchBM25Retriever)EmbedchainRetriever)"GoogleDocumentAIWarehouseRetriever)$GoogleCloudEnterpriseSearchRetriever&GoogleVertexAIMultiTurnSearchRetrieverGoogleVertexAISearchRetriever)KayAiRetriever)AmazonKendraRetriever)KNNRetriever)LlamaIndexGraphRetrieverLlamaIndexRetriever)MetalRetriever)MilvusRetriever)NanoPQRetriever)NeedleRetriever)OutlineRetriever)PineconeHybridSearchRetriever)PubMedRetriever)QdrantSparseVectorRetriever)RememberizerRetriever)RemoteLangChainRetriever)SVMRetriever)TavilySearchAPIRetriever)TFIDFRetriever)NeuralDBRetriever)VespaRetriever)WeaviateHybridSearchRetriever)WebResearchRetriever)WikipediaRetriever)YouRetriever)ZepRetriever)ZepCloudRetriever)ZillizRetrieverz%langchain_community.retrievers.kendraz&langchain_community.retrievers.bedrockz$langchain_community.retrievers.arceez$langchain_community.retrievers.arxivz&langchain_community.retrievers.asknewsz.langchain_community.retrievers.azure_ai_searchz#langchain_community.retrievers.bm25z%langchain_community.retrievers.breebsz(langchain_community.retrievers.chaindeskz7langchain_community.retrievers.chatgpt_plugin_retrieverz3langchain_community.retrievers.cohere_rag_retrieverz'langchain_community.retrievers.docarrayz)langchain_community.retrievers.dria_indexz2langchain_community.retrievers.elastic_search_bm25z)langchain_community.retrievers.embedchainz6langchain_community.retrievers.google_vertex_ai_searchz@langchain_community.retrievers.google_cloud_documentai_warehousez"langchain_community.retrievers.knnz"langchain_community.retrievers.kayz*langchain_community.retrievers.llama_indexz$langchain_community.retrievers.metalz%langchain_community.retrievers.milvusz%langchain_community.retrievers.nanopqz%langchain_community.retrievers.needlez&langchain_community.retrievers.outlinez5langchain_community.retrievers.pinecone_hybrid_searchz%langchain_community.retrievers.pubmedz=langchain_community.retrievers.qdrant_sparse_vector_retrieverz+langchain_community.retrievers.rememberizerz/langchain_community.retrievers.remote_retrieverz"langchain_community.retrievers.svmz$langchain_community.retrievers.tfidfz0langchain_community.retrievers.tavily_search_apiz.langchain_community.retrievers.vespa_retrieverz5langchain_community.retrievers.weaviate_hybrid_searchz+langchain_community.retrievers.web_researchz(langchain_community.retrievers.wikipediaz"langchain_community.retrievers.youz"langchain_community.retrievers.zepz(langchain_community.retrievers.zep_cloudz%langchain_community.retrievers.zillizz/langchain_community.retrievers.thirdai_neuraldb).r   r	   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r(   r'   r*   r+   r,   r-   r.   r/   r0   r1   r)   )namereturnc                 C   s8   | t v r tt |  }t|| S tdt d|  d S )Nzmodule z has no attribute )_module_lookup	importlibimport_modulegetattrAttributeError__name__)r2   module r;   u/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/retrievers/__init__.py__getattr__   s    
r=   ).r   r	   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r)   r    r!   r"   r#   r$   r%   r&   r'   r(   r*   r+   r,   r-   r.   r/   r0   r1   )a__doc__r5   typingr   r   Z$langchain_community.retrievers.arceer   Z$langchain_community.retrievers.arxivr   Z&langchain_community.retrievers.asknewsr   Z.langchain_community.retrievers.azure_ai_searchr   r   Z&langchain_community.retrievers.bedrockr	   Z#langchain_community.retrievers.bm25r
   Z%langchain_community.retrievers.breebsr   Z(langchain_community.retrievers.chaindeskr   Z7langchain_community.retrievers.chatgpt_plugin_retrieverr   Z3langchain_community.retrievers.cohere_rag_retrieverr   Z'langchain_community.retrievers.docarrayr   Z)langchain_community.retrievers.dria_indexr   Z2langchain_community.retrievers.elastic_search_bm25r   Z)langchain_community.retrievers.embedchainr   Z@langchain_community.retrievers.google_cloud_documentai_warehouser   Z6langchain_community.retrievers.google_vertex_ai_searchr   r   r   Z"langchain_community.retrievers.kayr   Z%langchain_community.retrievers.kendrar   Z"langchain_community.retrievers.knnr   Z*langchain_community.retrievers.llama_indexr   r   Z$langchain_community.retrievers.metalr   Z%langchain_community.retrievers.milvusr   Z%langchain_community.retrievers.nanopqr   Z%langchain_community.retrievers.needler   Z&langchain_community.retrievers.outliner    Z5langchain_community.retrievers.pinecone_hybrid_searchr!   Z%langchain_community.retrievers.pubmedr"   Z=langchain_community.retrievers.qdrant_sparse_vector_retrieverr#   Z+langchain_community.retrievers.rememberizerr$   Z/langchain_community.retrievers.remote_retrieverr%   Z"langchain_community.retrievers.svmr&   Z0langchain_community.retrievers.tavily_search_apir'   Z$langchain_community.retrievers.tfidfr(   Z/langchain_community.retrievers.thirdai_neuraldbr)   Z.langchain_community.retrievers.vespa_retrieverr*   Z5langchain_community.retrievers.weaviate_hybrid_searchr+   Z+langchain_community.retrievers.web_researchr,   Z(langchain_community.retrievers.wikipediar-   Z"langchain_community.retrievers.your.   Z"langchain_community.retrievers.zepr/   Z(langchain_community.retrievers.zep_cloudr0   Z%langchain_community.retrievers.zillizr1   r4   strr=   __all__r;   r;   r;   r<   <module>   s   2