
    RX9io                         S SK r S SKJr  S SKJr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Dict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     m/var/www/html/land-doc-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)rA   rB   )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   bytesr   r   r	   r   rG   r1   r2   r3   s   @r   r5   r5   #   s8    A
U5$;%7 
RcId 
ps 
 
r    r5   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 r8   r   r9   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_dictrE   
isinstancedict)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   r   r   r   rY   r1   r2   r3   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   r9   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
   ri   	b64decode)r   r<   r=   response_dicts       r   rG   $TogetherTextToImageTask.get_responseV   s,     *f 5a 8 DEEr    r*   rI   )r+   r,   r-   r.   r   r   r   r   r   rY   r   rJ   r	   rG   r1   r2   r3   s   @r   r`   r`   F   sj    *
d
d'+
dD\
d	$
dFU5$;%7 FRcId Fps F Fr    r`   )ri   abcr   typingr   r   r   r   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr	   r
   ,huggingface_hub.inference._providers._commonr   r   r   r   r   r   r   r5   rL   r`   r*   r    r   <module>rz      sf      - - ; I  	&	N%s N 
!7 
!7 (Fl Fr    