
    dh                     f    S SK JrJrJr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\	5      rg)	    )AnyDictListMappingOptional)CallbackManagerForLLMRun)LLM)pre_init)
ConfigDictc                       \ rS rSr% SrSr\\S'   Sr\	\
   \S'   \" SS9r\S\
S	\
4S
 j5       r\S	\\\4   4S j5       r\S	\4S j5       r  SS\S\	\\      S\	\   S\S	\4
S jjrSrg)ManifestWrapper	   z HazyResearch's Manifest library.Nclient
llm_kwargsforbid)extravaluesreturnc                 |     SSK Jn  [        US   U5      (       d  [        e U$ ! [         a    [	        S5      ef = f)z3Validate that python package exists in environment.r   )Manifestr   z[Could not import manifest python package. Please install it with `pip install manifest-ml`.)manifestr   
isinstance
ValueErrorImportError)clsr   r   s      Y/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/llms/manifest.pyvalidate_environment$ManifestWrapper.validate_environment   sR    		)fX.99   :   	D 	s    % ;c                     U R                   =(       d    0 n0 U R                  R                  R                  5       R	                  5       EUE$ )N)r   r   client_poolget_current_clientget_model_params)selfkwargss     r   _identifying_params#ManifestWrapper._identifying_params"   sF    &B
kk%%88:KKM

 	
    c                     g)zReturn type of llm.r    )r#   s    r   	_llm_typeManifestWrapper._llm_type*   s     r'   promptstoprun_managerr$   c                     Ub  [        U5      S:w  a  [        SU 35      eU R                  =(       d    0 n0 UEUEnUb  X%S'   U R                  R                  " U40 UD6$ )z!Call out to LLM through Manifest.   z:Manifest currently only supports a single stop token, got 
stop_token)lenNotImplementedErrorr   r   run)r#   r,   r-   r.   r$   paramss         r   _callManifestWrapper._call/   sp     D	Q%LTFS  &B%F%f%#'< {{v000r'   r)   )NN)__name__
__module____qualname____firstlineno____doc__r   r   __annotations__r   r   r   r   model_configr
   r   propertyr   strr%   r*   r   r   r6   __static_attributes__r)   r'   r   r   r   	   s    *FC!%J%L $ 4   
WS#X%6 
 
 3   %):>	11 tCy!1 67	1
 1 
1 1r'   r   N)typingr   r   r   r   r   langchain_core.callbacksr   #langchain_core.language_models.llmsr	   langchain_core.utilsr
   pydanticr   r   r)   r'   r   <module>rG      s#    5 5 = 3 ) 61c 61r'   