
    dh%                     r    S SK JrJrJrJr  S SKJr  S SKJr  S SK	J
r
Jr  S SKJr  S SKJr   " S S\5      rg	)
    )AnyDictListOptional)CallbackManagerForLLMRun)BaseLLM)
Generation	LLMResult)pre_init)Fieldc                   l   \ rS rSr% SrSr\\S'    Sr\	\
   \S'    Sr\	\   \S'    Sr\
\S	'    S
r\	\
   \S'    Sr\\S'    Sr\\S'    Sr\\S'    Sr\\S'    Sr\\S'    Sr\
\S'    Sr\\S'    Sr\\S'    Sr\\S'    Sr\\S'    Sr\\S'    Sr\\S'    Sr\
\S'    Sr\\S'    Sr\\S'    Sr\\S'    Sr \\S '    S
r!\	\"\      \S!'    S
r#\	\"\
      \S"'    Sr$\\S#'    S$r%\
\S%'    S
r&\	\
   \S&'    S
r'\	\
   \S''    S
r(\	\"\
      \S('    S)r)\\S*'    S)r*\\S+'    S
r+\	\,\\4      \S,'    S-r-\\S.'    S
r.\	\   \S/'    S
r/\	\   \S0'    \0" \1S19r2\,\\34   \S2'    S
r4\3\S3'   \5S4\,S5\,4S6 j5       r6\7S5\,\\34   4S7 j5       r8  S>S8\"\   S!\	\"\      S9\	\9   S:\3S5\:4
S; jjr;\7S5\4S< j5       r<S=r=g
)?	Aphrodite
   z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           	           SSK Jn  U" SUS   US   US   US   US   S	.US
   D6US'   U$ ! [         a    [        S5      ef = f)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   r4   r5   )r   r   r   r4   r5   r8   r9    )	aphroditer=   ImportError)clsr:   AphroditeModels      Z/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/llms/aphrodite.pyvalidate_environmentAphrodite.validate_environment   s    	7 * 
/!'(>!?$%89//
 '(
x '  	I 	s	   - Ac                    0 SU R                   _SU R                  _SU R                  _SU R                  _SU R                  _SU R
                  _SU R                  _SU R                  _S	U R                  _S
U R                  _SU R                  _SU R                  _SU R                  _SU R                  _SU R                  _SU R                  _SU R                   _U R"                  U R$                  U R&                  U R(                  U R*                  U R,                  U R.                  U R0                  U R2                  U R4                  U R6                  S.E$ )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/   r0   r1   r2   )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   r2   selfs    rC   _default_paramsAphrodite._default_params   s   

t||
 $//
 TZZ	

 TZZ
 TZZ
 TZZ
 4++
  5 5
  !7!7
 !$"9"9
 488
 $//
 d11
 
  T//!
" D--#
$ #11"11#33II//#33!%!7!7#'#;#;-1-O-O//9
 	
    promptsrun_managerkwargsc                    SSK Jn  0 U R                  EUESU0EnSU;   a  US	 U" S0 UD6nU R                  R	                  X5      n/ n	U H5  n
U
R
                  S   R                  nU	R                  [        US9/5        M7     [        U	S9$ )z*Run the LLM on the given prompt and input.r   )SamplingParamsr)   r2   )text)generationsr>   )
r?   rP   rI   r9   generateoutputsrQ   appendr	   r
   )rH   rL   r)   rM   rN   rP   paramssampling_paramsrT   rR   outputrQ   s               rC   	_generateAphrodite._generate   s     	- BD((AFAFDA6!|$(262++&&w@F>>!$))D
 567  [11rK   c                     g)zReturn type of llm.r?   r>   rG   s    rC   	_llm_typeAphrodite._llm_type   s     rK   r>   )NN)>__name__
__module____qualname____firstlineno____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/   r0   r1   r2   r   r4   r5   r6   r   dictr8   r   r9   r   rD   propertyrI   r   r
   rY   r\   __static_attributes__r>   rK   rC   r   r   
   sN   #E3O?*+(3-+V(-x~- AsJD!GXc]!G
 "e!F  #u"@ !$#F K; E5= E3O' E5< E57 C J.
  NE" Iu M3  L%M!OT!9NE' !ND < !%D(49
$= +/NHT#Y'. J# JC"Hhsm"A%)OXc])A-1xS	*13 $$I*.!4. .2Jc5j)*1 E3>"&L(3-&! #'L(3-&B',T'Bd38nB FC$ 4  4 
c3h 
 
H %):>	2c2 tCy!2 67	2
 2 
24 3  rK   r   N)typingr   r   r   r   langchain_core.callbacksr   langchain_core.language_modelsr   langchain_core.outputsr	   r
   langchain_core.utilsr   pydanticr   r   r>   rK   rC   <module>rq      s(    , , = 2 8 ) q qrK   