
    Y j8                         S SK r S SKJr  S SK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)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     ~/root/GenerationalWealth/GenerationalWealth/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                   N   ^  \ rS rSrU 4S jrS	S\\-  S\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   N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>   r?   )generated_textdetails)r   get)r   r9   r:   outputs       r   get_response'TogetherTextGenerationTask.get_response'   sD    (#I.q1$Vn!'O!<

6*
 	
r   r'   N)r(   r)   r*   r+   r   bytesdictr   r   rD   r.   r/   r0   s   @r   r2   r2   #   s4    A
UT\ 
CTW[C[ 
gj 
 
r   r2   c            	       N   ^  \ rS rSrU 4S jrS\S\S\S\S-  4U 4S jjrS	r	U =r
$ )
TogetherConversationalTask2   c                 2   > [         TU ]  [        [        S9  g r5   r   r6   s    r   r   #TogetherConversationalTask.__init__3   r8   r   inputs
parametersprovider_mapping_infor    Nc                   > [         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)rS   rU   )r   _prepare_payload_as_dictrB   
isinstancerH   )r   rN   rO   rP   payloadrR   json_schema_detailsr   s          r   rW   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   rH   r   rW   r.   r/   r0   s   @r   rJ   rJ   2   s7    A'+D\	 r   rJ   c            	       n   ^  \ rS rSrU 4S jrS\S\S\S\S-  4S jrSS	\	\-  S
\
S-  S\4S jjrSrU =r$ )TogetherTextToImageTaskF   c                 $   > [         TU ]  S5        g )Nr"   )r   r   r6   s    r   r    TogetherTextToImageTask.__init__G   s    )r   rN   rO   rP   r    Nc                     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)promptrR   model)provider_idr   pop)r   rN   rO   rP   r   s        r   rW   0TogetherTextToImageTask._prepare_payload_as_dictJ   si     -88 ,
 J.",..1F"GJwz)%/^^4D%EJz" XccWVbccr   r9   r:   c                 V    [        U5      n[        R                  " US   S   S   5      $ )Ndatar   b64_json)r   rf   	b64decode)r   r9   r:   response_dicts       r   rD   $TogetherTextToImageTask.get_responseV   s,     *f 5a 8 DEEr   r'   rF   )r(   r)   r*   r+   r   r   rH   r   rW   rG   r   rD   r.   r/   r0   s   @r   r]   r]   F   sf    *
d
d'+
dD\
d	
dFUT\ FCTW[C[ Fgj F Fr   r]   )rf   abcr   typingr   huggingface_hub.hf_apir   !huggingface_hub.inference._commonr   r   ,huggingface_hub.inference._providers._commonr   r	   r
   r   r   r   r   r2   rJ   r]   r'   r   r   <module>rw      sc       ; I  	&	N%s N 
!7 
!7 (Fl Fr   