Ë
    µŒj5  ã                   óv   — d dl mZmZmZmZ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  G d„ de	«      Zy	)
é    )ÚAnyÚDictÚListÚOptionalÚUnion)ÚCallbackManagerForLLMRun)ÚBaseLLM)Ú
GenerationÚ	LLMResult)Úpre_init)ÚFieldc                   ó”  — e Zd ZU dZdZeed<   	 dZeed<   	 dZeed<   	 dZ	e
eee   f   ed<   	 d	Ze
eeeef   f   ed
<   	 dZeed<   	 dZeed<   	 dZeed<   	 dZeed<   	 dZeed<   dZeed<    ee¬«      Zeeef   ed<   	 ededefd„«       Zedeeef   fd„«       Z	 	 d dee   deee      dee   dede f
d„Z!edefd„«       Z"y)!ÚCTranslate2zCTranslate2 language model.Ú Ú
model_pathÚtokenizer_nameÚcpuÚdevicer   Údevice_indexÚdefaultÚcompute_typei   Ú
max_lengthé   Úsampling_topkÚsampling_toppÚsampling_temperatureNÚclientÚ	tokenizer)Údefault_factoryÚctranslate2_kwargsÚvaluesÚreturnc                 ó  — 	 ddl }	 ddl} |j                  d|d   |d   |d   |d   d	œ|d
   ¤Ž|d<   |j                  j                  |d   «      |d<   |S # t        $ r t        d«      ‚w xY w# t        $ r t        d«      ‚w xY w)z3Validate that python package exists in environment.r   Nz^Could not import ctranslate2 python package. Please install it with `pip install ctranslate2`.z`Could not import transformers python package. Please install it with `pip install transformers`.r   r   r   r   )r   r   r   r   r    r   r   r   © )Úctranslate2ÚImportErrorÚtransformersÚ	GeneratorÚAutoTokenizerÚfrom_pretrained)Úclsr!   r%   r'   s       ún/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/llms/ctranslate2.pyÚvalidate_environmentz CTranslate2.validate_environment6   sÔ   € ð	Ûð	Ûð 1˜;×0Ñ0ð 
Ø˜lÑ+Ø˜(Ñ#Ø Ñ/Ø Ñ/ñ	
ð
 Ð)Ñ*ñ
ˆˆxÑð +×8Ñ8×HÑHØÐ#Ñ$ó
ˆˆ{Ñð ˆøô5 ò 	ÜðDóð ð	ûô ò 	ÜðEóð ð	ús   ‚A ‡A/ ÁA,Á/Bc                 ó`   — | j                   | j                  | j                  | j                  dœS )zGet the default parameters.©r   r   r   r   r/   ©Úselfs    r,   Ú_default_paramszCTranslate2._default_paramsX   s0   € ð Ÿ/™/Ø!×/Ñ/Ø!×/Ñ/Ø$(×$=Ñ$=ñ	
ð 	
ó    ÚpromptsÚstopÚrun_managerÚkwargsc                 óÜ  — i | j                   ¥|¥}| j                  |«      d   }|D �cg c]  }| j                  j                  |«      ‘Œ }} | j                  j                  |fi |¤Ž}	|	D �
cg c]  }
|
j
                  d   ‘Œ }}
|D �cg c]  }| j                  j                  |«      ‘Œ }}g }|D ]  }|j                  t        |¬«      g«       Œ  t        |¬«      S c c}w c c}
w c c}w )NÚ	input_idsr   )Útext)Úgenerations)
r2   r   Úconvert_ids_to_tokensr   Úgenerate_batchÚsequences_idsÚdecodeÚappendr
   r   )r1   r4   r5   r6   r7   ÚparamsÚencoded_promptsÚencoded_promptÚtokenized_promptsÚresultsÚresultÚ	sequencesÚseqÚdecoded_sequencesr;   r:   s                   r,   Ú	_generatezCTranslate2._generateb   s   € ð 4�D×(Ñ(Ð3¨FÐ3ˆð Ÿ.™.¨Ó1°+Ñ>ˆñ #2ó
á"1�ð �N‰N×0Ñ0°Õ@Ø"1ð 	ð 
ð
 -�$—+‘+×,Ñ,Ð->ÑIÀ&ÑIˆá;BÓC¹7°�V×)Ñ)¨!Ó,¸7ˆ	ÐCÙCLÓMÁ9¸C˜TŸ^™^×2Ñ2°3Õ7À9ÐÐMàˆÛ%ˆDØ×Ñ¤
°Ô 5Ð6Õ7ð &ô  [Ô1Ð1ùò
ùò DùÚMs   ©"CÁ.C$Â
"C)c                  ó   — y)zReturn type of llm.r%   r$   r0   s    r,   Ú	_llm_typezCTranslate2._llm_type~   s   € ð r3   )NN)#Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrÚ__annotations__r   r   r   r   Úintr   r   r   r   r   r   Úfloatr   r   r   r   r   Údictr    r   r-   Úpropertyr2   r   r   r   rJ   rL   r$   r3   r,   r   r   
   s€  … Ù%à€J�ÓØ2à€N�CÓØVà€FˆCÓØ?à*+€L�%˜˜T #™Y˜Ñ'Ó+Ø6à/8€L�%˜˜T # s (™^Ð+Ñ,Ó8ðð €J�ÓØ$à€M�3ÓØ@à€M�5ÓØXà"#Ð˜%Ó#Ø?à€FˆCÓà€IˆsÓá).¸tÔ)DÐ˜˜S #˜X™ÓDðð
 ð¨$ð °4ò ó ððB ð
  c¨3 h¡ò 
ó ð
ð %)Ø:>ñ	2à�c‘ð2ð �t˜C‘yÑ!ð2ð Ð6Ñ7ð	2ð
 ð2ð 
ó2ð8 ð˜3ò ó ñr3   r   N)Útypingr   r   r   r   r   Úlangchain_core.callbacksr   Ú#langchain_core.language_models.llmsr	   Úlangchain_core.outputsr
   r   Úlangchain_core.utilsr   Úpydanticr   r   r$   r3   r,   Ú<module>r]      s(   ðß 3Õ 3å =Ý 7ß 8Ý )Ý ôw�'õ wr3   