
    KKi                      F   S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJrJrJr   " S S\5      r\R:                  SSS.S\	S\S\S\S-  S\S\4S jjr \R:                  \R:                  SSSSSSSSSS.S\	S\S\S\S\S \S-  S!\	S-  S"\	S-  S\S-  S#\!S$\S%\!S-  S\S\4S& jjr"\R:                  \RF                  SS'SSS(.S\	S)\S*\S\S+\S,\	S-  S\S-  S\S\4S- jjr$  S0S\	S.\S\S-  S\S\4
S/ jjr%g)1zLoad summarizing chains.    )Mapping)AnyProtocol)	Callbacks)BaseLanguageModel)BasePromptTemplate)BaseCombineDocumentsChain)MapReduceDocumentsChain)ReduceDocumentsChain)RefineDocumentsChain)StuffDocumentsChain)LLMChain)map_reduce_promptrefine_promptsstuff_promptc                   .    \ rS rSrSrS\S\S\4S jrSr	g)	LoadingCallable   z2Interface for loading the combine documents chain.llmkwargsreturnc                     g)z-Callable to load the combine documents chain.N )selfr   r   s      j/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/langchain_classic/chains/summarize/chain.py__call__LoadingCallable.__call__   s        r   N)
__name__
__module____qualname____firstlineno____doc__r   r   r	   r   __static_attributes__r   r   r   r   r      s&    <<< < 
#	<r   r   textN)promptdocument_variable_nameverboser   r&   r'   r(   r   r   c                6    [        XUS9n [        SUUUS.UD6$ )Nr   r&   r(   )	llm_chainr'   r(   r   )r   r   )r   r&   r'   r(   r   r+   s         r   _load_stuff_chainr,   $   s<     SAI  5 	 r   i  )
map_promptcombine_promptcombine_document_variable_name!map_reduce_document_variable_namecollapse_prompt
reduce_llmcollapse_llmr(   	token_max	callbackscollapse_max_retriesr-   r.   r/   r0   r1   r2   r3   r4   r5   r6   c          	      
   [        U UUU
S9nU=(       d    U n[        UUUU
S9n [        UUUU
S9nUc  S nUb  Sn[        U5      eOU=(       d    U n[        [        UUUU
S9US9n[        UUU	UU
US9n[	        SUUUUU
S.UD6$ )N)r   r&   r(   r5   )r+   r'   r(   r5   zfcollapse_llm provided, but collapse_prompt was not: please provide one or stop providing collapse_llm.)r+   r'   )combine_documents_chaincollapse_documents_chainr4   r(   r5   r6   )r+   reduce_documents_chainr'   r(   r5   r   )r   r   
ValueErrorr   r
   )r   r-   r.   r/   r0   r1   r2   r3   r(   r4   r5   r6   r   	map_chain_reduce_llmreduce_chainr8   collapse_chainmsg_collapse_llmr:   s                        r   _load_map_reduce_chainrB   D   s     	I #K	L@ 2=	 #>  S/! $ %+,!&#	 $B
 2 7!/1 # 5@  r   existing_answer)question_promptrefine_promptr'   initial_response_name
refine_llmr(   rD   rE   rF   rG   c          	      b    [        XUS9nU=(       d    U n	[        XUS9n
[        SUU
UUUS.UD6$ )Nr*   )initial_llm_chainrefine_llm_chainr'   rF   r(   r   )r   r   )r   rD   rE   r'   rF   rG   r(   r   initial_chain_refine_llmrefine_chains              r   _load_refine_chainrN      sQ     gNM#K7SL '%53  r   
chain_typec                     [         [        [        S.nX;  a!  SU SUR                  5        3n[	        U5      eXA   " U 4SU0UD6$ )a  Load summarizing chain.

Args:
    llm: Language Model to use in the chain.
    chain_type: Type of document combining chain to use. Should be one of "stuff",
        "map_reduce", and "refine".
    verbose: Whether chains should be run in verbose mode or not. Note that this
        applies to all chains that make up the final chain.
    **kwargs: Additional keyword arguments.

Returns:
    A chain to use for summarizing.
)stuff
map_reducerefinezGot unsupported chain type: z. Should be one of r(   )r,   rB   rN   keysr;   )r   rO   r(   r   loader_mappingr@   s         r   load_summarize_chainrV      se    ( #,$5N
 '*:, 7  . 3 3 568 	 o%cE7EfEEr   )rQ   N)&r#   collections.abcr   typingr   r   langchain_core.callbacksr   langchain_core.language_modelsr   langchain_core.promptsr   /langchain_classic.chains.combine_documents.baser	   5langchain_classic.chains.combine_documents.map_reducer
   1langchain_classic.chains.combine_documents.reducer   1langchain_classic.chains.combine_documents.refiner   0langchain_classic.chains.combine_documents.stuffr   langchain_classic.chains.llmr   "langchain_classic.chains.summarizer   r   r   r   PROMPTstrboolr,   intrB   REFINE_PROMPTrN   rV   r   r   r   <module>rh      sI    #   . < 5 U S R P 1 <h < ".!4!4"(	   	
 D[  F &7%=%=):)A)A*0-315+/-1'+e	e #e '	e
 %(e (+e ($.e "D(e $d*e D[e e e *e e eV +9*?*?(6(D(D"(!2+/	 ( &	
    "D( D[  4 F	FF D[F 	F
 Fr   