
    Ah	                     b    S SK Jr  S SKJrJr  S SKJrJr  S SKJ	r	J
r
  S SKJr   " S S\	5      rg)	    )Any)#AsyncCallbackManagerForRetrieverRunCallbackManagerForRetrieverRun)BaseDocumentCompressorDocument)BaseRetrieverRetrieverLike)
ConfigDictc            	       ~    \ rS rSr% Sr\\S'    \\S'    \" SS9r	S\
S\S	\S
\\   4S jrS\
S\S	\S
\\   4S jrSrg)ContextualCompressionRetriever   zARetriever that wraps a base retriever and compresses the results.base_compressorbase_retrieverT)arbitrary_types_allowedqueryrun_managerkwargsreturnc                    U R                   R                  " U4SSUR                  5       00UD6nU(       a4  U R                  R	                  UUUR                  5       S9n[        U5      $ / $ )zGet documents relevant for a query.

Args:
    query: string to find relevant documents for

Returns:
    Sequence of relevant documents
config	callbacksr   )r   invoke	get_childr   compress_documentslistselfr   r   r   docscompressed_docss         c/var/www/html/shao/venv/lib/python3.13/site-packages/langchain/retrievers/contextual_compression.py_get_relevant_documents6ContextualCompressionRetriever._get_relevant_documents   s     ""))
!6!6!89
 

 "22EE%//1 F O
 ((	    c                
  #    U R                   R                  " U4SSUR                  5       00UD6I Sh  vN nU(       a<  U R                  R	                  UUUR                  5       S9I Sh  vN n[        U5      $ / $  NI N7f)zGet documents relevant for a query.

Args:
    query: string to find relevant documents for

Returns:
    List of relevant documents
r   r   Nr   )r   ainvoker   r   acompress_documentsr   r   s         r!   _aget_relevant_documents7ContextualCompressionRetriever._aget_relevant_documents6   s      ((00
!6!6!89
 
 

 $($8$8$L$L%//1 %M % O
 ((	
s!   3BA?7B-B.BB N)__name__
__module____qualname____firstlineno____doc__r   __annotations__r	   r
   model_configstrr   r   r   r   r"   r   r(   __static_attributes__r*   r$   r!   r   r      s    K++9!!? $L 4	
  
h: 9	
  
hr$   r   N)typingr   langchain_core.callbacksr   r   langchain_core.documentsr   r   langchain_core.retrieversr   r	   pydanticr
   r   r*   r$   r!   <module>r9      s'     F B E] Er$   