
    h                     `    d Z ddl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fdZdefdZy)	z1
Handles calculating cost for together ai models
    N)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	call_typereturnc                    |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         d/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/llms/together_ai/cost_calculator.pyget_model_params_and_categoryr"      s     I'''9	8L8L+L7:NN!!#Jii:O H"?0034#++C4#"<0N_,-H.,H//-H//.H//.H00/HO    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   >   s     !!#Jii:O H"?0034#++C4#"<0N889H::;HOr#   )__doc__r   litellm.constantsr   r   r   r   r   r   r	   r
   litellm.types.utilsr   r   r"   r    r#   r!   <module>r+      sC    
	 	 	 *
% %s %PC r#   