
    hp&                     8   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\ i d.d/d0d1d2d3d4d5d6d7d8d9d:d9d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNi dOdPdQdNdRdNdSdTdUdVdWdXdYdXdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzZ]d{e^d|efd}Z_g d~Z`y)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)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.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_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/   r0   r1   r2   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__)r3   modules     e/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/langchain_community/retrievers/__init__.py__getattr__r>      sE    ~(()=>vt$$
78*,>tfE
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   r2   )a__doc__r7   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.needler    &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.zepr0   (langchain_community.retrievers.zep_cloudr1   %langchain_community.retrievers.zillizr2   r6   strr>   __all__ r?   r=   <module>ro      s  (  % 
 FE R Q
/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/: @;/< $%\=/> >?/@ "#bA/B JC/D  QE/F 9< RF%\ID88C>J]/dGc Gc G/r?   