
    7|h                     b    d dl mZmZ d dlZd dlZd dlmZmZ d dlm	Z	 d dl
mZ  G d de      Zy)    )ListOptionalN)#AsyncCallbackManagerForRetrieverRunCallbackManagerForRetrieverRun)Document)BaseRetrieverc                       e Zd ZU dZeed<   	 dZee   ed<   	 dZ	eed<   	 dZ
eed<   	 d	Zeed
<   	 dZeed<   	 dededee   fdZdededee   fdZy)RemoteLangChainRetrieverz`LangChain API` retriever.urlNheadersmessage	input_keyresponseresponse_keypage_contentpage_content_keymetadatametadata_keyqueryrun_managerreturnc                    t        j                  | j                  | j                  |i| j                        }|j                         }|| j                     D cg c])  }t        || j                     || j                           + c}S c c}w )N)jsonr   r   r   )
requestspostr   r   r   r   r   r   r   r   )selfr   r   r   resultrs         n/var/www/html/test/engine/venv/lib/python3.12/site-packages/langchain_community/retrievers/remote_retriever.py_get_relevant_documentsz0RemoteLangChainRetriever._get_relevant_documents   s     ==HHDNNE2DLL
 
 D--.	
  t445$BSBS@T
 	
 
s   .Bc                &  K   t        j                         4 d {   }|j                  d| j                  | j                  | j
                  |i      4 d {   }|j                          d {   }d d d       d {    d d d       d {    | j                     D cg c])  }t        || j                     || j                           + c}S 7 7 7 j7 \# 1 d {  7  sw Y   lxY w7 c# 1 d {  7  sw Y   sxY wc c}w w)NPOST)r   r   r   )aiohttpClientSessionrequestr   r   r   r   r   r   r   r   )r   r   r   sessionr   r   r   s          r    _aget_relevant_documentsz1RemoteLangChainRetriever._aget_relevant_documents+   s     ((* 	/ 	/g$,,dnne=T '  / /'}}./ /	/ 	/ D--.	
  t445$BSBS@T
 	
	// // / / /	/ 	/ 	/ 	/

s   DCD:C7CC7C 1C2C 6C7CC7DC5D'.DDC7C C7 C2	&C)'C2	.C75D7D	=D >D	D)__name__
__module____qualname____doc__str__annotations__r   r   dictr   r   r   r   r   r   r   r!   r   r(        r    r
   r
      s    $	H*"GXd^")Is2"L#"5*c*:"L#"6

*H
	h


*M
	h
r1   r
   )typingr   r   r$   r   langchain_core.callbacksr   r   langchain_core.documentsr   langchain_core.retrieversr   r
   r0   r1   r    <module>r6      s'    !   . 3+
} +
r1   