
    _ii                         S SK r S SKJr  S SKJrJrJr  S SKJr  S SK	J
r
Jr  S SKJrJrJrJr  SrSr " S	 S
\\5      r " S S\5      r " S S\5      r " S S\5      rg)    N)ABC)AnyOptionalUnion)InferenceProviderMapping)RequestParameters_as_dict)BaseConversationalTaskBaseTextGenerationTaskTaskProviderHelperfilter_nonetogetherzhttps://api.together.xyzc                   J   ^  \ rS rSrSrS\4U 4S jjrS\S\S\4S jrS	rU =r	$ )
TogetherTask   z"Base class for Together API tasks.taskc                 4   > [         TU ]  [        [        US9  g )N)providerbase_urlr   super__init__	_PROVIDER	_BASE_URL)selfr   	__class__s     i/var/www/html/land-ocr/venv/lib/python3.13/site-packages/huggingface_hub/inference/_providers/together.pyr   TogetherTask.__init__   s    )idK    mapped_modelapi_keyreturnc                     U R                   S:X  a  gU R                   S:X  a  gU R                   S:X  a  g[        SU R                    S35      e)	Ntext-to-imagez/v1/images/generationsconversationalz/v1/chat/completionsztext-generationz/v1/completionszUnsupported task 'z' for Together API.)r   
ValueError)r   r    r!   s      r   _prepare_routeTogetherTask._prepare_route   sK    99'+YY**)YY++$-dii[8KLMMr    )
__name__
__module____qualname____firstlineno____doc__strr   r'   __static_attributes____classcell__r   s   @r   r   r      s8    ,LS LN3 N N N Nr   r   c                   R   ^  \ rS rSrU 4S jrSS\\\4   S\\	   S\
4S jjrSrU =r$ )	TogetherTextGenerationTask#   c                 2   > [         TU ]  [        [        S9  g N)r   r   r   r   r   s    r   r   #TogetherTextGenerationTask.__init__$       )i@r   responserequest_paramsr"   c                 v    [        U5      S   S   nUS   UR                  S5      UR                  S5      S.S.$ )Nchoicesr   textfinish_reasonseed)r@   rA   )generated_textdetails)r	   get)r   r;   r<   outputs       r   get_response'TogetherTextGenerationTask.get_response'   sD    (#I.q1$Vn!'O!<

6*
 	
r   r)   N)r*   r+   r,   r-   r   r   bytesdictr   r   r   rF   r0   r1   r2   s   @r   r4   r4   #   s8    A
U5$;%7 
RcId 
ps 
 
r   r4   c            	       N   ^  \ rS rSrU 4S jrS\S\S\S\\   4U 4S jjr	Sr
U =r$ )	TogetherConversationalTask2   c                 2   > [         TU ]  [        [        S9  g r7   r   r8   s    r   r   #TogetherConversationalTask.__init__3   r:   r   inputs
parametersprovider_mapping_infor"   c                   > [         TU ]  XU5      nUR                  S5      n[        U[        5      (       aL  UR                  S5      S:X  a7  UR                  S5      n[        U[        5      (       a  SU;   a  SUS   S.US'   U$ )Nresponse_formattypejson_schemaschemajson_object)rU   rW   )r   _prepare_payload_as_dictrD   
isinstancerJ   )r   rP   rQ   rR   payloadrT   json_schema_detailsr   s          r   rY   3TogetherConversationalTask._prepare_payload_as_dict6   s     '26G\]$..):;ot,,1D1DV1LP]1]"1"5"5m"D-t44EX9X)1(;.)*
 r   r)   )r*   r+   r,   r-   r   r   rJ   r   r   rY   r0   r1   r2   s   @r   rL   rL   2   s7    A'+D\	$ r   rL   c            	       r   ^  \ rS rSrU 4S jrS\S\S\S\\   4S jr	SS\
\\4   S	\\   S\4S
 jjrSrU =r$ )TogetherTextToImageTaskF   c                 $   > [         TU ]  S5        g )Nr$   )r   r   r8   s    r   r    TogetherTextToImageTask.__init__G   s    )r   rP   rQ   rR   r"   c                     UR                   n[        U5      nSU;   a  UR                  S5      US'   SU;   a  UR                  S5      US'   USS.UESU0E$ )Nnum_inference_stepsstepsguidance_scaleguidancebase64)promptrT   model)provider_idr   pop)r   rP   rQ   rR   r    s        r   rY   0TogetherTextToImageTask._prepare_payload_as_dictJ   si     -88 ,
 J.",..1F"GJwz)%/^^4D%EJz" XccWVbccr   r;   r<   c                 V    [        U5      n[        R                  " US   S   S   5      $ )Ndatar   b64_json)r	   rh   	b64decode)r   r;   r<   response_dicts       r   rF   $TogetherTextToImageTask.get_responseV   s,     *f 5a 8 DEEr   r)   rH   )r*   r+   r,   r-   r   r   rJ   r   r   rY   r   rI   r   rF   r0   r1   r2   s   @r   r_   r_   F   sj    *
d
d'+
dD\
d	$
dFU5$;%7 FRcId Fps F Fr   r_   )rh   abcr   typingr   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r	   ,huggingface_hub.inference._providers._commonr
   r   r   r   r   r   r   r4   rL   r_   r)   r   r   <module>ry      sf      ' ' ; I  	&	N%s N 
!7 
!7 (Fl Fr   