§
    šŠtj‚%  ã                   óz   — d dl 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d	S )
é    )ÚAnyÚDictÚListÚOptional)ÚCallbackManagerForLLMRun)ÚBaseLLM)Ú
GenerationÚ	LLMResult)Úpre_init)ÚFieldc                   óø  — e Zd ZU dZdZeed<   	 dZee	         ed<   	 dZ
ee         ed<   	 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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<   	 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<   	 dZeed<   	 d	Z ee!e                  ed <   	 d	Z"ee!e	                  ed!<   	 dZ#eed"<   	 d#Z$e	ed$<   	 d	Z%ee	         ed%<   	 d	Z&ee	         ed&<   	 d	Z'ee!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d-<   	 d	Z-ee         ed.<   	 d	Z.ee         ed/<   	  e/e0¬0¦  «        Z1e+ee2f         ed1<   	 d	Z3e2ed2<   e4d3e+d4e+fd5„¦   «         Z5e6d4e+ee2f         fd6„¦   «         Z7	 	 d<d7e!e         d ee!e                  d8ee8         d9e2d4e9f
d:„Z:e6d4efd;„¦   «         Z;d	S )=Ú	AphroditezAphrodite language model.Ú Úmodelé   Útensor_parallel_sizeFÚtrust_remote_codeÚnNÚbest_ofg        Úpresence_penaltyÚfrequency_penaltyg      ð?Úrepetition_penaltyÚtemperatureÚtop_péÿÿÿÿÚtop_kÚtop_aÚmin_pÚtfsÚ
eta_cutoffÚepsilon_cutoffÚ	typical_pr   Úmirostat_modeÚmirostat_tauÚuse_beam_searchÚlength_penaltyÚearly_stoppingÚstopÚstop_token_idsÚ
ignore_eosi   Ú
max_tokensÚlogprobsÚprompt_logprobsÚcustom_token_bansTÚskip_special_tokensÚspaces_between_special_tokensÚ
logit_biasÚautoÚdtypeÚdownload_dirÚquantization)Údefault_factoryÚaphrodite_kwargsÚclientÚvaluesÚreturnc           	      óº   — 	 ddl m} n# t          $ r t          d¦  «        ‚w xY w |d|d         |d         |d         |d         |d         d	œ|d
         ¤Ž|d<   |S )z3Validate that python package exists in environment.r   )ÚLLMzhCould not import aphrodite-engine python package. Please install it with `pip install aphrodite-engine`.r   r   r   r3   r4   )r   r   r   r3   r4   r7   r8   © )Ú	aphroditer<   ÚImportError)Úclsr9   ÚAphroditeModels      ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/llms/aphrodite.pyÚvalidate_environmentzAphrodite.validate_environment¡   s°   € ð	Ø7Ð7Ð7Ð7Ð7Ð7Ð7øÝð 	ð 	ð 	ÝðIñô ð ð	øøøð *˜>ð 
Ø˜”/Ø!'Ð(>Ô!?Ø$Ð%8Ô9Ø˜”/Ø Ô/ð
ð 
ð Ð'Ô(ð
ð 
ˆˆxÑð ˆs   ‚	 ‰#c                 ó   — i d| j         “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “d	| j        “d
| j	        “d| j
        “d| j        “d| j        “d| j        “d| j        “d| j        “d| j        “| j        | j        | j        | j        | j        | j        | j        | j        | j        | j        | j        dœ¥S )z1Get the default parameters for calling aphrodite.r   r   r+   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   )r&   r'   r%   r(   r*   r,   r-   r.   r/   r0   r1   )r   r   r+   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r&   r'   r%   r(   r*   r,   r-   r.   r/   r0   r1   ©Úselfs    rB   Ú_default_paramszAphrodite._default_params¼   sL  € ð
Ø�”ð
à�t”|ð
ð ˜$œ/ð
ð �T”Zð	
ð
 �T”Zð
ð �T”Zð
ð �T”Zð
ð ˜4Ô+ð
ð  Ô 5ð
ð   Ô!7ð
ð ! $Ô"9ð
ð �4”8ð
ð ˜$œ/ð
ð ˜dÔ1ð
ð ˜œð
ð  ˜TÔ/ð!
ð" ˜DÔ-ð#
ð$ #Ô1Ø"Ô1Ø#Ô3Ø”IØœ/ØœØ#Ô3Ø!%Ô!7Ø#'Ô#;Ø-1Ô-OØœ/ð9
ð 
ð 
ð 	
ó    ÚpromptsÚrun_managerÚkwargsc                 ó  — ddl m} i | j        ¥|¥d|i¥}d|v r|d=  |di |¤Ž}| j                             ||¦  «        }g }	|D ]8}
|
j        d         j        }|	                     t          |¬¦  «        g¦  «         Œ9t          |	¬¦  «        S )z*Run the LLM on the given prompt and input.r   )ÚSamplingParamsr(   r1   )Útext)Úgenerationsr=   )
r>   rM   rG   r8   ÚgenerateÚoutputsrN   Úappendr	   r
   )rF   rI   r(   rJ   rK   rM   ÚparamsÚsampling_paramsrQ   rO   ÚoutputrN   s               rB   Ú	_generatezAphrodite._generateÞ   sÍ   € ð 	-Ð,Ð,Ð,Ð,Ð,ð B�DÔ(ÐA¨FÐA°F¸DÐAÐAˆØ˜6Ð!Ð!Ø�|Ð$Ø(˜.Ð2Ð2¨6Ð2Ð2ˆà”+×&Ò& w°Ñ@Ô@ˆàˆØð 	8ð 	8ˆFØ”> !Ô$Ô)ˆDØ×Ò¥
°Ð 5Ñ 5Ô 5Ð6Ñ7Ô7Ð7Ð7å [Ð1Ñ1Ô1Ð1rH   c                 ó   — dS )zReturn type of llm.r>   r=   rE   s    rB   Ú	_llm_typezAphrodite._llm_typeø   s	   € ð ˆ{rH   )NN)<Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrÚ__annotations__r   r   Úintr   Úboolr   r   r   Úfloatr   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r   r)   r*   r+   r,   r-   r.   r/   r0   r1   r   r3   r4   r5   r   Údictr7   r   r8   r   rC   ÚpropertyrG   r   r
   rV   rX   r=   rH   rB   r   r   
   s}  € € € € € € Ø#Ð#à€Eˆ3€O€O�OØ?à*+Ð˜( 3œ-Ð+Ð+Ñ+ØVà(-Ð�x ”~Ð-Ð-Ñ-ðð €A€s€J€J�JØDà!€GˆX�cŒ]Ð!Ð!Ñ!ðGð
 "Ð�eÐ!Ð!Ñ!ðFð  #Ð�uÐ"Ð"Ñ"ð@ð !$Ð˜Ð#Ð#Ñ#ðFð €K�ÐÐÑð;ð €Eˆ5ÐÐÑð=ð €Eˆ3€O€O�Oð'ð €Eˆ5ÐÐÑð<ð €Eˆ5ÐÐÑð7ð €CˆÐÐÑðð €J�ÐÐÑð.ð
  €N�EÐÐÑð"ð €IˆuÐÐÑðð €M�3ÐÐÑð ð €L�%ÐÐÑØMà!€O�TÐ!Ð!Ñ!Ø9à€N�EÐÐÑð'ð !€N�DÐ Ð Ñ ð<ð !%€Dˆ(�4˜”9Ô
Ð$Ð$Ñ$ð=ð +/€N�H˜T #œYÔ'Ð.Ð.Ñ.ðð €J�ÐÐÑð#ð €J�ÐÐÑØCà"€Hˆh�sŒmÐ"Ð"Ñ"ØAà%)€O�X˜c”]Ð)Ð)Ñ)ØAà-1Ð�x  S¤	Ô*Ð1Ð1Ñ1Ø3à $Ð˜Ð$Ð$Ñ$ØIà*.Ð! 4Ð.Ð.Ñ.ðð .2€J�˜˜c 5˜jÔ)Ô*Ð1Ð1Ñ1ðð €Eˆ3ÐÐÑØ>à"&€L�(˜3”-Ð&Ð&Ñ&ð!ð #'€L�(˜3”-Ð&Ð&Ñ&ØBà', u¸TÐ'BÑ'BÔ'BÐ�d˜3 ˜8”nÐBÐBÑBðð €FˆCÐÐÑàð¨$ð °4ð ð ð ñ „Xðð4 ð
  c¨3 h¤ð 
ð 
ð 
ñ „Xð
ðH %)Ø:>ð	2ð 2à�c”ð2ð �t˜C”yÔ!ð2ð Ð6Ô7ð	2ð
 ð2ð 
ð2ð 2ð 2ð 2ð4 ð˜3ð ð ð ñ „Xðð ð rH   r   N)Útypingr   r   r   r   Úlangchain_core.callbacksr   Úlangchain_core.language_modelsr   Úlangchain_core.outputsr	   r
   Úlangchain_core.utilsr   Úpydanticr   r   r=   rH   rB   ú<module>rj      sÇ   ðØ ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à =Ð =Ð =Ð =Ð =Ð =Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð ðqð qð qð qð q�ñ qô qð qð qð qrH   