
    g                     F    d Z ddlmZ ddlmZmZ ddlmZ  G d de      Zy)	z
Support for OpenAI's `/v1/chat/completions` endpoint. 

Calls done in OpenAI/openai.py as TogetherAI is openai-compatible.

Docs: https://docs.together.ai/reference/completions-1
    )Optional)get_model_infoverbose_logger   )OpenAIGPTConfigc            
       H     e Zd Zdedef fdZdededededef
 fdZ xZ	S )TogetherAIConfigmodelreturnc                    d}	 t        |d      }|j                  dd      }t
        |   |      }|durYt        j                  d       |j                  d	       |j                  d
       |j                  d       |j                  d       |S # t        $ r"}t        j                  d|        Y d}~d}~ww xY w)z
        Only some together models support response_format / tool calling

        Docs: https://docs.together.ai/docs/json-mode
        Ntogether_ai)custom_llm_providersupports_function_callingFz'Error getting supported openai params: TzyOnly some together models support function calling/response_format. Docs - https://docs.together.ai/docs/function-callingtoolstool_choicefunction_callresponse_format)	r   get	Exceptionr   debugsuperget_supported_openai_paramswarningremove)selfr
   r   
model_infoeoptional_params	__class__s         R/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/together_ai/chat.pyr   z,TogetherAIConfig.get_supported_openai_params   s     59!	'=QJ(2+U)%  '=eD$D0"" L ""7+""=1""?3""#45  	  #J1#!NO	s   B 	B=B88B=non_default_paramsr   drop_paramsc                 j    t         |   ||||      }d|v r|d   ddik(  r|j                  d       |S )Nr   typetext)r   map_openai_paramspop)r   r!   r   r
   r"   mapped_openai_paramsr   s         r    r&   z"TogetherAIConfig.map_openai_params,   sX      %w8 
  449M:
f: !$$%67##    )
__name__
__module____qualname__strlistr   dictboolr&   __classcell__)r   s   @r    r	   r	      sP      6$ $ $ 	$
 $ 
$ $r)   r	   N)	__doc__typingr   litellmr   r   openai.chat.gpt_transformationr   r	    r)   r    <module>r7      s!     2 <+$ +$r)   