
    Ng%                     *   d Z ddlZddlmZmZ erd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 i d-d.d/d0d1d2d3d4d5d6d7d8d9d8d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMi dNdOdPdMdQdMdRdSdTdUdVdWdXdWdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxZ[dye\dzefd{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)OutlineRetriever)PineconeHybridSearchRetriever)PubMedRetriever)QdrantSparseVectorRetriever)RememberizerRetriever)RemoteLangChainRetriever)SVMRetriever)TavilySearchAPIRetriever)TFIDFRetriever)NeuralDBRetriever)VespaRetriever)WeaviateHybridSearchRetriever)WebResearchRetriever)WikipediaRetriever)YouRetriever)ZepRetriever)ZepCloudRetriever)ZillizRetrieverr   z%langchain_community.retrievers.kendrar
   z&langchain_community.retrievers.bedrockr   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.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   z6langchain_community.retrievers.google_vertex_ai_searchr   z@langchain_community.retrievers.google_cloud_documentai_warehouser   r   r   z"langchain_community.retrievers.knnr   z"langchain_community.retrievers.kayr   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.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.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/   r0   r1   r)   namereturnc                     | t           v r/t          j        t           |                    }t          ||           S t	          dt
           d|            )Nzmodule z has no attribute )_module_lookup	importlibimport_modulegetattrAttributeError__name__)r2   modules     c/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/retrievers/__init__.py__getattr__r=      sQ    ~()=>>vt$$$
E8EEtEE
F
FF    )-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   )___doc__r6   typingr   r   $langchain_community.retrievers.arceer   $langchain_community.retrievers.arxivr   &langchain_community.retrievers.asknewsr   .langchain_community.retrievers.azure_ai_searchr   r	   &langchain_community.retrievers.bedrockr
   #langchain_community.retrievers.bm25r   %langchain_community.retrievers.breebsr   (langchain_community.retrievers.chaindeskr   7langchain_community.retrievers.chatgpt_plugin_retrieverr   3langchain_community.retrievers.cohere_rag_retrieverr   'langchain_community.retrievers.docarrayr   )langchain_community.retrievers.dria_indexr   2langchain_community.retrievers.elastic_search_bm25r   )langchain_community.retrievers.embedchainr   @langchain_community.retrievers.google_cloud_documentai_warehouser   6langchain_community.retrievers.google_vertex_ai_searchr   r   r   "langchain_community.retrievers.kayr   %langchain_community.retrievers.kendrar   "langchain_community.retrievers.knnr   *langchain_community.retrievers.llama_indexr   r   $langchain_community.retrievers.metalr   %langchain_community.retrievers.milvusr   %langchain_community.retrievers.nanopqr   &langchain_community.retrievers.outliner    5langchain_community.retrievers.pinecone_hybrid_searchr!   %langchain_community.retrievers.pubmedr"   =langchain_community.retrievers.qdrant_sparse_vector_retrieverr#   +langchain_community.retrievers.rememberizerr$   /langchain_community.retrievers.remote_retrieverr%   "langchain_community.retrievers.svmr&   0langchain_community.retrievers.tavily_search_apir'   $langchain_community.retrievers.tfidfr(   /langchain_community.retrievers.thirdai_neuraldbr)   .langchain_community.retrievers.vespa_retrieverr*   5langchain_community.retrievers.weaviate_hybrid_searchr+   +langchain_community.retrievers.web_researchr,   (langchain_community.retrievers.wikipediar-   "langchain_community.retrievers.your.   "langchain_community.retrievers.zepr/   (langchain_community.retrievers.zep_cloudr0   %langchain_community.retrievers.zillizr1   r5   strr=   __all__ r>   r<   <module>rm      sX   (     % % % % % % % % y                                                                                      
                                 FEEEEE                                              RQQQQQ           QPPPPP                         
.D.#%M. <. <	.
 @. N. $%U. :. >. D. W. O. B. @. !"V.  F!." +,d#. .$ )*l%.& -.f'.( $%]).* 8+., :-..  L/.0 G1.2 <3.4 >5.6 >7.8 @9.: $%\;.< >=.> "#b?.@ JA.B  QC.D 8E. .F = RF%\ID88C>J[. . .bGc Gc G G G G. . .r>   