Ë
    uPêjƒ  ã                   ó|   — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 	 	 dded	ed
edz  dedz  deeef   f
d„Zy)zf
Helper util for handling azure openai-specific cost calculation
- e.g.: prompt caching, audio tokens
é    )ÚFinal)Úverbose_logger)Úgeneric_cost_per_token)ÚUsage)Úget_model_infoNÚmodelÚusageÚresponse_time_msÚservice_tierÚreturnc                 óÀ   — t        | d¬«      }d|v r?|d   �:|�8t        j                  d| |j                  d«      |«       d}|d   |z  dz  }||fS t	        | |d|¬«      S )aU  
    Calculates the cost per token for a given model, prompt tokens, and completion tokens.

    Input:
        - model: str, the model name without provider prefix
        - usage: LiteLLM Usage block, containing caching and audio token information

    Returns:
        Tuple[float, float] - prompt_cost_in_usd, completion_cost_in_usd
    Úazure)r   Úcustom_llm_providerÚoutput_cost_per_secondz<For model=%s - output_cost_per_second: %s; response time: %sç        iè  )r   r	   r   r   )r   r   ÚdebugÚgetr   )r   r	   r
   r   Ú
model_infoÚprompt_costÚcompletion_costs          úh/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/azure/cost_calculation.pyÚcost_per_tokenr      s”   € ô" '¨UÈÔP€Jð 	! JÑ.ØÐ/Ñ0Ð<ØÐ(ä×ÑØJØØ�N‰NÐ3Ó4Øô		
ð !ˆØ!+Ð,DÑ!EÐHXÑ!XÐ[_Ñ!_ˆØ˜OÐ+Ð+ô "ØØØ#Ø!ô	ð ó    )r   N)Ú__doc__Útypingr   Úlitellm._loggingr   Ú.litellm.litellm_core_utils.llm_cost_calc.utilsr   Úlitellm.types.utilsr   Úlitellm.utilsr   ÚstrÚfloatÚtupler   © r   r   ú<module>r$      sg   ðñõ
 å +Ý QÝ %Ý (ð &)Ø#ñ	+Øð+àð+ð ˜d‘lð+ð ˜‘*ð	+ð
 ˆ5�%ˆ<Ñô+r   