
    i                      t    d 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 	 ddede	d	ee   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
    )OptionalTuple)verbose_logger)generic_cost_per_token)Usage)get_model_infomodelusageresponse_time_msreturnc                     t        | d      }d|v rE|d   @|>t        j                  d|  d|j                  d       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=z - output_cost_per_second: z; response time:         i  )r	   r
   r   )r   r   debuggetr   )r	   r
   r   
model_infoprompt_costcompletion_costs         t/Users/manta/Documents/Projects/TheRoad-I1/.venv/lib/python3.12/site-packages/litellm/llms/azure/cost_calculation.pycost_per_tokenr      s      eIJ 	!J./0<(::>>Jb;c:ddu  wG  vH  I	
 $%=>AQQTXXO++ "#     N)r   )__doc__typingr   r   litellm._loggingr   .litellm.litellm_core_utils.llm_cost_calc.utilsr   litellm.types.utilsr   litellm.utilsr   strfloatr    r   r   <module>r#      sT   
 # + Q % ( CF$$$08$
5%<$r   