Ë
    ÝªgN  ã                   óN   — d dl Z d dlmZ d dlZd dlmZ d dlmZ  G d„ de«      Zy)é    N)ÚOptional)ÚOpenAITextCompletionConfig)ÚGenericStreamingChunkc                   óL  ‡ — e Zd ZU dZdZee   ed<   dZee	   ed<   dZ
ee	   ed<   dZee	   ed<   dZee   ed<   dZee	   ed<   	 	 	 	 	 	 	 	 ddee   dee	   d	ee   dee	   dee	   dee   dee	   d
ee   ddfd„Zeˆ fd„«       Zdefd„Zdededededef
d„Zdedefd„Zˆ xZS )ÚCodestralTextCompletionConfigzO
    Reference: https://docs.mistral.ai/api/#operation/createFIMCompletion
    NÚsuffixÚtemperatureÚ
max_tokensÚ
min_tokensÚstreamÚrandom_seedÚtop_pÚstopÚreturnc	                 ó¤   — t        «       j                  «       }	|	j                  «       D ]%  \  }
}|
dk7  sŒ|€Œt        | j                  |
|«       Œ' y )NÚself)ÚlocalsÚcopyÚitemsÚsetattrÚ	__class__)r   r   r	   r   r
   r   r   r   r   Úlocals_ÚkeyÚvalues               úe/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/codestral/completion/transformation.pyÚ__init__z&CodestralTextCompletionConfig.__init__   sA   € ô “(—-‘-“/ˆØ!Ÿ-™-ž/‰JˆCØf‹} Ñ!2Ü˜Ÿ™¨¨UÕ3ñ *ó    c                 ó    •— t         ‰|   «       S )N)ÚsuperÚ
get_config)Úclsr   s    €r   r    z(CodestralTextCompletionConfig.get_config$   s   ø€ ä‰wÑ!Ó#Ð#r   Úmodelc                 ó
   — g d¢S )N)r   r	   r   r
   Úmax_completion_tokensr   Úseedr   © )r   r"   s     r   Úget_supported_openai_paramsz9CodestralTextCompletionConfig.get_supported_openai_params(   s   € ò	
ð 		
r   Únon_default_paramsÚoptional_paramsÚdrop_paramsc                 óê   — |j                  «       D ]_  \  }}|dk(  r||d<   |dk(  r||d<   |dk(  r||d<   |dk(  s|dk(  r||d<   |dk(  r	|du r||d<   |dk(  r||d<   |d	k(  r||d
<   |dk(  sŒ[||d<   Œa |S )Nr   r	   r   r
   r$   r   Tr   r%   r   r   )r   )r   r(   r)   r"   r*   Úparamr   s          r   Úmap_openai_paramsz/CodestralTextCompletionConfig.map_openai_params4   s¿   € ð /×4Ñ4Ö6‰LˆE5Ø˜Ò Ø,1 Ñ)Ø˜Ò%Ø16 Ñ.Ø˜ÒØ+0 Ñ(Ø˜Ò$¨Ð1HÒ(HØ05 Ñ-Ø˜Ò  U¨d¡]Ø,1 Ñ)Ø˜ŠØ*/ Ñ'Ø˜ŠØ16 Ñ.Ø˜Ó$Ø05 Ò-ð! 7ð$ Ðr   Ú
chunk_datac                 óè  — d}d}d }d }|j                  dd«      }|j                  «       }t        |«      dk(  s|dk(  rd||dœS t        j                  |«      }t        j                  di |¤ddi¤Ž}|j                  d	g «      xs g }|d   }	|	j                  d
i «      j                  dd«      }|	j                  d«      $d}|	j                  d«      }|	j                  d«      }t        |||||¬«      S )NÚ Fzdata:r   z[DONE])ÚtextÚis_finishedÚfinish_reasonr   TÚchoicesÚdeltaÚcontentr3   Úlogprobs)r1   Úoriginal_chunkr2   r3   r7   r&   )	ÚreplaceÚstripÚlenÚjsonÚloadsÚlitellmÚModelResponseÚgetr   )
r   r.   r1   r2   r3   r7   Úchunk_data_dictr8   Ú_choicesÚ_choices
             r   Ú_chunk_parserz+CodestralTextCompletionConfig._chunk_parserO   s  € ØˆØˆØˆØˆà×'Ñ'¨°Ó4ˆ
Ø×%Ñ%Ó'ˆ
Üˆz‹?˜aÒ :°Ò#9àØ*Ø!.ñð ô
 Ÿ*™* ZÓ0ˆÜ ×.Ñ.ÑN°ÑNÈÒNˆØ"×&Ñ& y°"Ó5Ò;¸ˆØ˜1‘+ˆØ{‰{˜7 BÓ'×+Ñ+¨I°rÓ:ˆà;‰;Ó'Ð3ØˆKØ#ŸK™K¨Ó8ˆMØ—{‘{ :Ó.ˆHä$ØØ)Ø#Ø'Øô
ð 	
r   )NNNNNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚstrÚ__annotations__r	   Úintr
   r   r   Úboolr   Úfloatr   Úclassmethodr    r'   Údictr-   r   rD   Ú__classcell__)r   s   @r   r   r      s^  ø… ñð !€FˆHS‰MÓ Ø!%€K˜#‘Ó%Ø $€J˜‘Ó$Ø $€J˜‘Ó$Ø!€FˆHT‰NÓ!Ø!%€K˜#‘Ó%ð !%Ø%)Ø!%Ø$(Ø$(Ø!%Ø%)Ø"ñ4à˜‘ð4ð ˜c‘]ð4ð ˜‰ð	4ð
 ˜S‘Mð4ð ˜S‘Mð4ð ˜‘ð4ð ˜c‘]ð4ð s‰mð4ð 
ó4ð  ó$ó ð$ð

°ó 

ðà ðð ðð ð	ð
 ðð 
óð6
¨ð 
Ð0E÷ 
r   r   )	r<   Útypingr   r>   Ú-litellm.llms.openai.completion.transformationr   Úlitellm.types.llms.databricksr   r   r&   r   r   Ú<module>rT      s#   ðÛ Ý ã Ý TÝ ?ôf
Ð$>õ f
r   