
    g                      j    d Z ddlmZmZmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZ  G d d	e      Zy
)z
Translates calls from OpenAI's `/v1/completions` endpoint to TogetherAI's `/v1/completions` endpoint.

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

Docs: https://docs.together.ai/reference/completions-1
    )ListUnioncast)is_tokens_or_list_of_tokens)AllMessageValuesAllPromptValuesOpenAITextCompletionUserMessage   )OpenAITextCompletionConfig_transform_promptc            
       d    e Zd Zdeee   ee   f   defdZde	deee   ee   f   de
de
de
f
dZy)	TogetherAITextCompletionConfigmessagesreturnc                 0   t        |      }t        |t              rt        |      rt	        d      t        |t              r(t        |      dk(  rt        |d   t              r|d   }|S t        |t              rt	        d      t        t        |      }|S )z5
        TogetherAI expects a string prompt.
        )valuez-TogetherAI does not support integers as input   r   z-TogetherAI does not support multiple prompts.)r   
isinstancelistr   
ValueErrorlenstrr   )selfr   initial_prompttogether_prompts       g/var/www/openai/venv/lib/python3.12/site-packages/litellm/llms/together_ai/completion/transformation.pyr   z0TogetherAITextCompletionConfig._transform_prompt   s     +<H*End+0K 1
 LMM~t,N#q(>!,c2,Q/O  -LMM"37O    modeloptional_paramsheadersc                 2    | j                  |      }||d|S )N)r   promptr   )r   r   r   r    r!   r#   s         r   !transform_text_completion_requestz@TogetherAITextCompletionConfig.transform_text_completion_request1   s.     ''1
 
 	
r   N)__name__
__module____qualname__r   r   r   r	   r   r   r   dictr$    r   r   r   r      sz    -.5T0UUV 
4

 -.5T0UUV
 	

 
 

r   r   N)__doc__typingr   r   r   $litellm.llms.openai.completion.utilsr   litellm.types.llms.openair   r   r	    openai.completion.transformationr   openai.completion.utilsr   r   r)   r   r   <module>r0      s5    % $ L  K 8'
%? '
r   