Ë
    uPêj.  ã            
       ó’   — U d Z ddlmZ ddlmZ ddlmZ ddlmZ  edddd	d
dddœ«      Z	ee
d<   dedefd„Zdededeeef   fd„Zy)zb
Helper util for handling databricks-specific cost calculation
- e.g.: handling 'dbrx-instruct-*'
é    )ÚMappingProxyType)ÚFinal)Úgeneric_cost_per_token)ÚUsagezdatabricks-dbrx-instructz&databricks-meta-llama-3-1-70b-instructz'databricks-meta-llama-3-1-405b-instructz databricks-mixtral-8x7b-instructzdatabricks-bge-large-enzdatabricks-gte-large-enzdatabricks-llama-2-70b-chat)zdbrx-instructzmeta-llama-3.1-70b-instructzmeta-llama-3.1-405b-instructzmixtral-8x7b-instruct-v0.1zbge-large-enzgte-large-enzllama-2-70b-chatÚ_LEGACY_ENDPOINT_NAMESÚmodelÚreturnc                 ót   ‡— | j                  d«      Št        ˆfd„t        j                  «       D «       ‰«      S )Nzdatabricks/c              3   óL   •K  — | ]  \  }}‰j                  |«      sŒ|–— Œ y ­w)N)Ú
startswith)Ú.0ÚprefixÚkeyÚnames      €úl/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/databricks/cost_calculator.pyú	<genexpr>z _registry_key.<locals>.<genexpr>   s!   øè ø€ ÒZ‘�˜À$Ç/Á/ÐRXÕBYŒÑZùs   ƒ$�$)ÚremoveprefixÚnextr   Úitems)r   r   s    @r   Ú_registry_keyr      s5   ø€ Ø×$Ñ$ ]Ó3€DÜÛZÔ 6× <Ñ <Ó >ÔZØóð ó    Úusagec                 ó0   — t        t        | «      |d¬«      S )aO  
    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 anthropic caching information

    Returns:
        Tuple[float, float] - prompt_cost_in_usd, completion_cost_in_usd
    Ú
databricks)r   r   Úcustom_llm_provider)r   r   )r   r   s     r   Úcost_per_tokenr   !   s   € ô "Ü˜EÓ"ØØ(ôð r   N)Ú__doc__Útypesr   Útypingr   Ú.litellm.litellm_core_utils.llm_cost_calc.utilsr   Úlitellm.types.utilsr   r   Ú__annotations__Ústrr   ÚtupleÚfloatr   © r   r   ú<module>r'      sz   ðòõ
 #Ý å QÝ %á 0à3Ø'OØ(QØ&HØ1Ø1Ø9ñó
!Ð ˜ó 
ð˜ð  ó ð˜#ð  eð °°e¸U°lÑ0Cô r   