Ë
    uPêj:
  ã                   óˆ   — d Z ddlmZmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZmZ erddlZddlmZ eZneZ G d	„ d
e«      Zy)a  
*New config* for using aiohttp to make the request to the custom OpenAI-like provider

This leads to 10x higher RPS than httpx
https://github.com/BerriAI/litellm/issues/6592

New config to ensure we introduce this without causing breaking changes for users
é    )ÚTYPE_CHECKINGÚAnyÚFinal)ÚClientResponse)ÚOpenAILikeChatConfig)ÚAllMessageValues)ÚChoicesÚModelResponseN)ÚLoggingc                   óÖ   — e Zd Z	 ddedz  dedz  dededededz  defd	„Z	 	 dd
ededee   dedededz  dedz  defd„Z		 	 ddede
dedededee   dededddedz  dedz  defd„Zy)ÚAiohttpOpenAIChatConfigNÚapi_baseÚapi_keyÚmodelÚoptional_paramsÚlitellm_paramsÚstreamÚreturnc                 ó:   — |€d}|j                  d«      s|dz  }|S )zI
        Ensure - /v1/chat/completions is at the end of the url

        zhttps://api.openai.comz/chat/completions)Úendswith)Úselfr   r   r   r   r   r   s          út/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/aiohttp_openai/chat/transformation.pyÚget_complete_urlz(AiohttpOpenAIChatConfig.get_complete_url   s.   € ð ÐØ/ˆHà× Ñ Ð!4Ô5ØÐ+Ñ+ˆHØˆó    ÚheadersÚmessagesc                 ó   — dd|› �iS )NÚAuthorizationzBearer © )r   r   r   r   r   r   r   r   s           r   Úvalidate_environmentz,AiohttpOpenAIChatConfig.validate_environment1   s   € ð   7¨7¨)Ð!4Ð5Ð5r   Úraw_responseÚmodel_responseÚlogging_objÚrequest_dataÚencodingztiktoken.Encoding | NoneÚ	json_modec              ƒ   ó‚  K  — |j                  «       ƒ d {  –—† }|j                  d«      |_        |j                  d«      D �cg c]  }t        di |¤Ž‘Œ c}|_        |j                  d«      |_        |j                  d«      |_        |j                  d«      |_        |j                  d«      |_        |S 7 Œ¡c c}w ­w)NÚidÚchoicesÚcreatedr   ÚobjectÚsystem_fingerprintr   )	ÚjsonÚgetr(   r	   r)   r*   r   r+   r,   )r   r   r!   r"   r#   r$   r   r   r   r%   r   r&   Ú_json_responseÚchoices                 r   Útransform_responsez*AiohttpOpenAIChatConfig.transform_response=   s®   è ø€ ð '3×&7Ñ&7Ó&9× 9ˆØ*×.Ñ.¨tÓ4ˆÔØBP×BTÑBTÐU^ÓB_Ö!`¸¤'Ñ"3¨FÓ"3Ò!`ˆÔØ!/×!3Ñ!3°IÓ!>ˆÔØ-×1Ñ1°'Ó:ˆÔØ .× 2Ñ 2°8Ó <ˆÔØ,:×,>Ñ,>Ð?SÓ,TˆÔ)ØÐð !:úâ!`ùs"   ‚B?–B8—-B?ÁB:ÁA#B?Â:B?)N)NN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚdictÚboolr   Úlistr   r    r   r
   ÚLiteLLMLoggingObjr1   r   r   r   r   r      sV  „ ð #ñà˜‘*ðð �t‘ðð ð	ð
 ðð ðð �t‘ðð 
óð6 #Ø#ñ
6àð
6ð ð
6ð Ð'Ñ(ð	
6ð
 ð
6ð ð
6ð �t‘ð
6ð ˜‘*ð
6ð 
ó
6ð. #Ø!%ñàðð %ðð &ð	ð
 'ðð ðð Ð'Ñ(ðð ðð ðð -ðð �t‘ðð ˜$‘;ðð 
ôr   r   )Ú__doc__Útypingr   r   r   Úaiohttpr   Ú,litellm.llms.openai_like.chat.transformationr   Úlitellm.types.llms.openair   Úlitellm.types.utilsr	   r
   ÚtiktokenÚ*litellm.litellm_core_utils.litellm_loggingr   Ú_LiteLLMLoggingObjr9   r   r   r   r   ú<module>rC      s@   ðñ÷ -Ñ ,å "å MÝ 6ß 6áÛåXà*ÑàÐô6Ð2õ 6r   