Ë
    uPêjA  ã                   ó–   — d Z ddlZddlmZ ddlmZ ddlmZmZm	Z	m
Z
mZmZmZmZ ddlmZ dedeeef   d	efd
„Zded	efd„Zd	efd„Zy)z1
Handles calculating cost for together ai models
é    N)ÚMapping)ÚFinal)ÚTOGETHER_AI_4_BÚTOGETHER_AI_8_BÚTOGETHER_AI_21_BÚTOGETHER_AI_41_BÚTOGETHER_AI_80_BÚTOGETHER_AI_110_BÚTOGETHER_AI_EMBEDDING_150_MÚTOGETHER_AI_EMBEDDING_350_M)Ú	CallTypesÚmodelÚcost_mapÚreturnc                 óx   — | j                  d«      }|j                  d|› �«      }t        |t        «      xr d|v S )Nztogether_ai/Úinput_cost_per_token)ÚremoveprefixÚgetÚ
isinstancer   )r   r   ÚstrippedÚentrys       úm/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/together_ai/cost_calculator.pyÚhas_together_registry_pricingr      s?   € Ø×(Ñ(¨Ó8€HØ—<‘< ,¨x¨jÐ 9Ó:€EÜ�eœWÓ%ÒIÐ*@ÀEÐ*IÐIó    Ú	call_typec                 óÌ  — |t         j                  k(  s|t         j                  k(  rt        | ¬«      S | j	                  «       } t        j                  d| «      }d}|�‡t        |j                  d«      «      }|j                  dd«      }|�t        |«      }n| S |t        k  rd}n;|t        k  rd}n/|t        k  rd	}n#|t        k  rd
}n|t        k  rd}n|t         k  rd}|�|S | S )z‘
    Helper function for calculating together ai pricing.

    Returns
    - str - model pricing category if mapped else received model name
    )Ú
model_namez(\d+b)Né   ÚbÚ ztogether-ai-up-to-4bztogether-ai-4.1b-8bztogether-ai-8.1b-21bztogether-ai-21.1b-41bztogether-ai-41.1b-80bztogether-ai-81.1b-110b)r   Ú	embeddingÚ
aembeddingÚ(get_model_params_and_category_embeddingsÚlowerÚreÚsearchÚstrÚgroupÚreplaceÚfloatr   r   r   r   r	   r
   )r   r   Úre_params_matchÚcategoryÚparams_matchÚparams_billions         r   Úget_model_params_and_categoryr/      só   € ð ”I×'Ñ'Ò'¨9¼	×8LÑ8LÒ+LÜ7À:ÔNÐNØ×!Ñ!Ó#€JÜŸY™Y y°*Ó=€OØ€HØÐ"Ü˜?×0Ñ0°Ó3Ó4ˆØ#×+Ñ+¨C°Ó4ˆØÐ#Ü$)¨,Ó$7‰NàÐàœ_Ò,Ø-‰HØœÒ.Ø,‰HØÔ/Ò/Ø-‰HØÔ/Ò/Ø.‰HØÔ/Ò/Ø.‰HØÔ0Ò0Ø/ˆHØÐØˆOàÐr   c                 ó  — | j                  «       } t        j                  d| «      }d}|�Wt        |j	                  d«      «      }|j                  dd«      }|�t        |«      }n| S |t        k  rd}n|t        k  rd}|�|S | S )z›
    Helper function for calculating together ai embedding pricing.

    Returns
    - str - model pricing category if mapped else received model name
    z(\d+m)Nr   Úmr    z together-ai-embedding-up-to-150mz"together-ai-embedding-151m-to-350m)	r$   r%   r&   r'   r(   r)   r*   r   r   )r   r+   r,   r-   Úparams_millions        r   r#   r#   D   s—   € ð ×!Ñ!Ó#€JÜŸY™Y y°*Ó=€OØ€HØÐ"Ü˜?×0Ñ0°Ó3Ó4ˆØ#×+Ñ+¨C°Ó4ˆØÐ#Ü$)¨,Ó$7‰NàÐàÔ8Ò8Ø9‰HØÔ:Ò:Ø;ˆHØÐØˆOàÐr   )Ú__doc__r%   Úcollections.abcr   Útypingr   Úlitellm.constantsr   r   r   r   r	   r
   r   r   Úlitellm.types.utilsr   r'   ÚobjectÚboolr   r/   r#   © r   r   ú<module>r;      sq   ðñó 
Ý #Ý ÷	÷ 	ó 	õ *ðJ¨ð J¸ÀÀVÀÑ8Lð JÐQUó Jð#¸ð #Àsó #ðL¸Cô r   