§
    šŠtjN  ã                   ó®   — 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 d dlmZ d dlmZ  G d	„ d
e¦  «        Z G d„ de¦  «        ZdS )é    )ÚAnyÚDictÚListÚOptional)ÚCallbackManagerForLLMRun)ÚBaseLLM)Ú
GenerationÚ	LLMResult)Úpre_init)ÚField)Ú
BaseOpenAI)Úis_openai_v1c                   ót  — 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e                  ed<   	 dZeed<   	 dZe	ed<   	 d	Zee	         ed<   	 dZeed<   	 d	Zee         ed<   	  ee¬¦  «        Zeee f         ed<   	 d	Z!e 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)d	S ))ÚVLLMzVLLM language model.Ú Úmodelé   Útensor_parallel_sizeFÚtrust_remote_codeÚnNÚbest_ofg        Úpresence_penaltyÚfrequency_penaltyg      ð?ÚtemperatureÚtop_péÿÿÿÿÚtop_kÚuse_beam_searchÚstopÚ
ignore_eosi   Úmax_new_tokensÚlogprobsÚautoÚdtypeÚdownload_dir)Údefault_factoryÚvllm_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   )ÚLLMzPCould not import vllm python package. Please install it with `pip install vllm`.r   r   r   r$   r%   )r   r   r   r$   r%   r'   r(   © )Úvllmr,   ÚImportError)Úclsr)   ÚVLLModels      ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/llms/vllm.pyÚvalidate_environmentzVLLM.validate_environmentM   s®   € ð	Ø,Ð,Ð,Ð,Ð,Ð,Ð,øÝð 	ð 	ð 	Ýð=ñô ð ð	øøøð $˜8ð 
Ø˜”/Ø!'Ð(>Ô!?Ø$Ð%8Ô9Ø˜”/Ø Ô/ð
ð 
ð �]Ô#ð
ð 
ˆˆxÑð ˆs   ‚	 ‰#c                 ó˜   — | j         | j        | j        | j        | j        | j        | j        | j        | j        | j	        | j
        | j        dœS )z,Get the default parameters for calling vllm.)r   r   Ú
max_tokensr   r   r   r   r   r   r    r   r"   )r   r   r!   r   r   r   r   r   r   r    r   r"   ©Úselfs    r2   Ú_default_paramszVLLM._default_paramsd   sT   € ð ”Ø”|ØÔ-Ø”ZØ”ZØÔ+Ø $Ô 5Ø!%Ô!7Ø”IØœ/Ø#Ô3Øœð
ð 
ð 	
ó    ÚpromptsÚrun_managerÚkwargsc                 óè  ‡— ddl m} |                     dd¦  «        }i | j        ¥|¥d|i¥}|j                             ¦   «         Š |d
i ˆfd„|                     ¦   «         D ¦   «         ¤Ž}|r| j                             |||¬¦  «        }	n| j                             ||¦  «        }	g }
|	D ]8}|j	        d         j
        }|
                     t          |¬¦  «        g¦  «         Œ9t          |
¬	¦  «        S )z*Run the LLM on the given prompt and input.r   )ÚSamplingParamsÚlora_requestNr   c                 ó$   •— i | ]\  }}|‰v ¯	||“ŒS r-   r-   )Ú.0ÚkÚvÚ
known_keyss      €r2   ú
<dictcomp>z"VLLM._generate.<locals>.<dictcomp>ˆ   s$   ø€ ÐBÐBÐB™˜˜1°!°z°/°/ˆq�!°/°/°/r9   )r?   )Útext)Úgenerationsr-   )r.   r>   Úpopr8   Ú__annotations__ÚkeysÚitemsr(   ÚgenerateÚoutputsrF   Úappendr	   r
   )r7   r:   r   r;   r<   r>   r?   ÚparamsÚsample_paramsrM   rG   ÚoutputrF   rD   s                @r2   Ú	_generatezVLLM._generatev   s;  ø€ ð 	(Ð'Ð'Ð'Ð'Ð'à—z’z .°$Ñ7Ô7ˆð B�DÔ(ÐA¨FÐA°F¸DÐAÐAˆð $Ô3×8Ò8Ñ:Ô:ˆ
Ø&˜ð 
ð 
ØBÐBÐBÐB §¢¡¤ÐBÑBÔBð
ð 
ˆð
 ð 	CØ”k×*Ò*Ø˜°\ð +ñ ô ˆGˆGð ”k×*Ò*¨7°MÑBÔBˆGàˆØð 	8ð 	8ˆFØ”> !Ô$Ô)ˆDØ×Ò¥
°Ð 5Ñ 5Ô 5Ð6Ñ7Ô7Ð7Ð7å [Ð1Ñ1Ô1Ð1r9   c                 ó   — dS )úReturn type of llm.r.   r-   r6   s    r2   Ú	_llm_typezVLLM._llm_typeš   s	   € ð ˆvr9   )NN)*Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrrI   r   r   Úintr   Úboolr   r   r   Úfloatr   r   r   r   r   r   r   r    r!   r"   r$   r%   r   Údictr'   r   r   r(   r   r3   Úpropertyr8   r   r
   rR   rU   r-   r9   r2   r   r      sª  € € € € € € ØÐà€Eˆ3€O€O�OØ?à*+Ð˜( 3œ-Ð+Ð+Ñ+ØVà(-Ð�x ”~Ð-Ð-Ñ-ðð €A€s€J€J�JØDà!€GˆX�cŒ]Ð!Ð!Ñ!ØHà!Ð�eÐ!Ð!Ñ!ðð  #Ð�uÐ"Ð"Ñ"ðð €K�ÐÐÑØ=à€Eˆ5ÐÐÑØWà€Eˆ3€O€O�OØEà!€O�TÐ!Ð!Ñ!Ø9à $€Dˆ(�4˜”9Ô
Ð$Ð$Ñ$ØKà€J�ÐÐÑð#ð €N�CÐÐÑØCà"€Hˆh�sŒmÐ"Ð"Ñ"ØAà€Eˆ3ÐÐÑØ>à"&€L�(˜3”-Ð&Ð&Ñ&ð!ð #( %¸Ð"=Ñ"=Ô"=€K��c˜3�h”Ð=Ð=Ñ=ØXà€FˆCÐÐÑàð¨$ð °4ð ð ð ñ „Xðð, ð
  c¨3 h¤ð 
ð 
ð 
ñ „Xð
ð( %)Ø:>ð	"2ð "2à�c”ð"2ð �t˜C”yÔ!ð"2ð Ð6Ô7ð	"2ð
 ð"2ð 
ð"2ð "2ð "2ð "2ðH ð˜3ð ð ð ñ „Xðð ð r9   r   c                   óv   — e Zd ZdZedefd„¦   «         Zedee	e
f         fd„¦   «         Zede	fd„¦   «         ZdS )Ú
VLLMOpenAIz!vLLM OpenAI-compatible API clientr*   c                 ó   — dS )NFr-   )r0   s    r2   Úis_lc_serializablezVLLMOpenAI.is_lc_serializable£   s   € àˆur9   c                 óŽ   — d| j         i| j        ¥ddi¥}t          ¦   «         s"|                     | j        | j        dœ¦  «         |S )z,Get the parameters used to invoke the model.r   Ú
logit_biasN)Úapi_keyÚapi_base)Ú
model_namer8   r   ÚupdateÚopenai_api_keyÚopenai_api_base)r7   rO   s     r2   Ú_invocation_paramszVLLMOpenAI._invocation_params§   so   € ð
 �T”_ð"
àÔ"ð"
ð ˜$ð"
ð "
ˆõ
 ‰~Œ~ð 	Ø�MŠMà#Ô2Ø $Ô 4ðð ñô ð ð ˆr9   c                 ó   — dS )rT   zvllm-openair-   r6   s    r2   rU   zVLLMOpenAI._llm_typeº   s	   € ð ˆ}r9   N)rV   rW   rX   rY   Úclassmethodr\   rc   r_   r   rZ   r   rl   rU   r-   r9   r2   ra   ra       s•   € € € € € Ø+Ð+àð 4ð ð ð ñ „[ðð ð D¨¨c¨¤Nð ð ð ñ „Xðð$ ð˜3ð ð ð ñ „Xðð ð r9   ra   N)Útypingr   r   r   r   Úlangchain_core.callbacksr   Ú#langchain_core.language_models.llmsr   Úlangchain_core.outputsr	   r
   Úlangchain_core.utilsr   Úpydanticr   Úlangchain_community.llms.openair   Ú langchain_community.utils.openair   r   ra   r-   r9   r2   ú<module>rw      s  ðØ ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à =Ð =Ð =Ð =Ð =Ð =Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9ðPð Pð Pð Pð Pˆ7ñ Pô Pð Pðfð ð ð ð �ñ ô ð ð ð r9   