Ë
    µŒjf  ã                   ó    — 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y)é    )ÚAnyÚDictÚListÚOptional)ÚCallbackManagerForLLMRun)ÚBaseLLM)Ú
GenerationÚ	LLMResult)Úpre_init)ÚField)Ú
BaseOpenAI)Úis_openai_v1c                   ó  — 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)y	))Ú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}  |d|d   |d   |d   |d   |d   d	œ|d
   ¤Ž|d<   |S # t        $ r t        d«      ‚w xY w)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      úg/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/llms/vllm.pyÚvalidate_environmentzVLLM.validate_environmentM   s�   € ð	Ý,ñ $ð 
Ø˜‘/Ø!'Ð(>Ñ!?Ø$Ð%8Ñ9Ø˜‘/Ø Ñ/ñ
ð �]Ñ#ñ
ˆˆxÑð ˆøô ò 	Üð=óð ð	ús	   ‚- ­A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   sl   € ð —‘Ø—|‘|Ø×-Ñ-Ø—Z‘ZØ—Z‘ZØ×+Ñ+Ø $× 5Ñ 5Ø!%×!7Ñ!7Ø—I‘IØŸ/™/Ø#×3Ñ3ØŸ™ñ
ð 	
ó    ÚpromptsÚrun_managerÚkwargsc           
      ó  — ddl m} |j                  dd«      }i | j                  ¥|¥d|i¥}|j                  j                  «       } |d	i |j                  «       D �	�
ci c]  \  }	}
|	|v sŒ|	|
“Œ c}
}	¤Ž}|r| j                  j                  |||¬«      }n| j                  j                  ||«      }g }|D ]7  }|j                  d   j                  }|j                  t        |¬«      g«       Œ9 t        |¬«      S c c}
}	w )
z*Run the LLM on the given prompt and input.r   )ÚSamplingParamsÚlora_requestNr   )r?   )Útext)Úgenerationsr-   )r.   r>   Úpopr8   Ú__annotations__ÚkeysÚitemsr(   ÚgenerateÚoutputsr@   Úappendr	   r
   )r7   r:   r   r;   r<   r>   r?   ÚparamsÚ
known_keysÚkÚvÚsample_paramsrG   rA   Úoutputr@   s                   r2   Ú	_generatezVLLM._generatev   s
  € õ 	(à—z‘z .°$Ó7ˆð B�D×(Ñ(ÐA¨FÐA°F¸DÑAˆð $×3Ñ3×8Ñ8Ó:ˆ
Ù&ñ 
Ø &§¡¤ÔB¡™˜˜1°!°z²/ˆq�!‰t ÒBñ
ˆñ
 Ø—k‘k×*Ñ*Ø˜°\ð +ó ‰Gð —k‘k×*Ñ*¨7°MÓBˆGàˆÛˆFØ—>‘> !Ñ$×)Ñ)ˆDØ×Ñ¤
°Ô 5Ð6Õ7ð ô  [Ô1Ð1ùó! Cs   ÁC=Á+C=c                  ó   — y)úReturn type of llm.r.   r-   r6   s    r2   Ú	_llm_typezVLLM._llm_typeš   s   € ð r9   )NN)*Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrrC   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
   rO   rR   r-   r9   r2   r   r      sç  … Ùà€Eˆ3ƒOØ?à*+Ð˜( 3™-Ó+ØVà(-Ð�x ‘~Ó-ðð €A€sƒJØDà!€GˆX�c‰]Ó!ØHà!Ð�eÓ!ðð  #Ð�uÓ"ðð €K�ÓØ=à€Eˆ5ÓØWà€Eˆ3ƒ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ò ó ðð, ð
  c¨3 h¡ò 
ó ð
ð( %)Ø:>ñ	"2à�c‘ð"2ð �t˜C‘yÑ!ð"2ð Ð6Ñ7ð	"2ð
 ð"2ð 
ó"2ðH ð˜3ò ó ñr9   r   c                   ó\   — 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y)Ú
VLLMOpenAIz!vLLM OpenAI-compatible API clientr*   c                  ó   — y)NFr-   )r0   s    r2   Úis_lc_serializablezVLLMOpenAI.is_lc_serializable£   s   € àr9   c                 ó¦   — d| j                   i| j                  ¥ddi¥}t        «       s(|j                  | 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   rI   s     r2   Ú_invocation_paramszVLLMOpenAI._invocation_params§   s_   € ð
 �T—_‘_ð"
à×"Ñ"ð"
ð ˜$ñ"
ˆô
 Œ~Ø�M‰Mà#×2Ñ2Ø $× 4Ñ 4ñôð ˆr9   c                  ó   — y)rQ   zvllm-openair-   r6   s    r2   rR   zVLLMOpenAI._llm_typeº   s   € ð r9   N)rS   rT   rU   rV   ÚclassmethodrY   r`   r\   r   rW   r   ri   rR   r-   r9   r2   r^   r^       s\   „ Ù+àð 4ò ó ðð ð D¨¨c¨¡Nò ó ðð$ ð˜3ò ó ñr9   r^   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   r^   r-   r9   r2   Ú<module>rt      s;   ðß ,Ó ,å =Ý 7ß 8Ý )Ý å 6Ý 9ôPˆ7ô Pôf�õ r9   