Ë
    îËj¥  ã                   óŽ   — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZ ej                  d«      ZdZ	dZ
d„ Zdd„Zd„ Zd„ Zd	„ Zd
„ Zy)é    Nz^[a-zA-Z0-9_\-]{1,128}$é   éx   c                 ó`   — t         j                  t        | «      «      st        |› d| ›�«      ‚y )Nz$ contiene caracteres no permitidos: )Ú_ID_PATTERNÚmatchÚstrÚ
ValueError)ÚvalorÚnombres     úP/home/fidelitas/Code/central_edictos/procesamiento/batch_openai/openai_client.pyÚ_validar_idr      s0   € Ü×ÑœS ›ZÔ(Ü˜F˜8Ð#GÈÀyÐQÓRÐRð )ó    c           	      óÀ   — |› d| › d|› d�}t        t        j                  «       dz  «      › t        j                  dd«      d›�}	||	z   dd|d|d	œd
|d	œd|d	œgd|dœdœS )NÚ_g    €„.Ar   i'  Ú04dÚPOSTú/v1/chat/completionsÚsystem)ÚroleÚcontentÚuserÚ	assistant)ÚmodelÚmessagesÚtemperatureÚmax_completion_tokens)Ú	custom_idÚmethodÚurlÚbody)ÚintÚtimeÚrandomÚrandint)
Úfecha_edictoÚid_fideÚfuenter   Úsystem_promptÚuser_promptÚ	contenidoÚtokensÚbaseÚextras
             r   Úformatear_linea_batchr.      s‹   € ØˆX�Q�|�n A g Y¨aÐ0€DÜ”4—9‘9“; Ñ$Ó%Ð&¤v§~¡~°a¸Ó'>¸sÐ&CÐD€Eà˜E‘\ØØ%àà!¨mÑ<Ø¨KÑ8Ø$°Ñ;ðð
 Ø%+ñ	
ñ	ð r   c           	      ó  — d}dd|› �i}t        | d«      5 }t        j                  ||dt        j                  j                  | «      |fiddit        ¬«      }d d d «       j                  «        |j                  «       S # 1 sw Y   Œ)xY w)	Nzhttps://api.openai.com/v1/filesÚAuthorizationúBearer ÚrbÚfileÚpurposeÚbatch)ÚheadersÚfilesÚdataÚtimeout)	ÚopenÚrequestsÚpostÚosÚpathÚbasenameÚ_TIMEOUT_LARGOÚraise_for_statusÚjson)Ú	file_pathÚapi_keyr   r6   ÚfÚresponses         r   Úsubir_archivorG   )   s�   € Ø
+€CØ '¨'¨Ð 3Ð4€GÜ	ˆi˜Ó	ð 
 !Ü—=‘=Ø˜ØœBŸG™G×,Ñ,¨YÓ7¸Ð;Ð<Ø˜WÐ%Ü"ô	
ˆ÷
ð ×ÑÔØ�=‰=‹?Ð÷
ð 
ús   –AB Â B	c                 óœ   — d}d|› �ddœ}| dddœ}t        j                  |||t        ¬«      }|j                  «        |j	                  «       S )	Nz!https://api.openai.com/v1/batchesr1   zapplication/json)r0   zContent-Typer   Ú24h)Úinput_file_idÚendpointÚcompletion_window)r6   rB   r9   )r;   r<   Ú_TIMEOUT_CORTOrA   rB   )Úfile_idrD   r   r6   ÚpayloadrF   s         r   Úcrear_batchrP   7   sW   € Ø
-€CØ")¨'¨Ð 3ÐEWÑX€Gà Ø*Ø"ñ€Gô
 �}‰}˜S¨'¸ÌÔX€HØ×ÑÔØ�=‰=‹?Ðr   c                 óª   — t        | d«       d| › �}dd|› �i}t        j                  ||t        ¬«      }|j	                  «        |j                  «       S )NÚbatch_idz"https://api.openai.com/v1/batches/r0   r1   ©r6   r9   )r   r;   ÚgetrM   rA   rB   )rR   rD   r   r6   rF   s        r   Úconsultar_batchrU   D   sS   € Ü�˜*Ô%Ø.¨x¨jÐ
9€CØ '¨'¨Ð 3Ð4€GÜ�|‰|˜C¨¼.ÔI€HØ×ÑÔØ�=‰=‹?Ðr   c                 ó"  — t        | d«       t        j                  |d¬«       t        j                  j	                  «       j                  d«      }t        j                  «       j                  d d }t        j                  j                  |d|› d|› d�«      }d	| › d
�}dd|› �i}t        j                  ||t        ¬«      }|j                  «        t        |d«      5 }	|	j!                  |j"                  «       d d d «       |S # 1 sw Y   |S xY w)NrN   T)Úexist_okz%Y%m%dé   Úoutput_r   z.jsonlz https://api.openai.com/v1/files/z/contentr0   r1   rS   Úwb)r   r=   ÚmakedirsÚdatetimeÚnowÚstrftimeÚuuidÚuuid4Úhexr>   Újoinr;   rT   r@   rA   r:   Úwriter   )
rN   rD   Údirectorio_destinoÚfechaÚ	random_idÚrutar   r6   rF   rE   s
             r   Údescargar_outputrh   M   së   € Ü�˜Ô#Ü‡K�KÐ"¨TÕ2Ü×Ñ×!Ñ!Ó#×,Ñ,¨XÓ6€EÜ—
‘
“× Ñ   !Ð$€IÜ�7‰7�<‰<Ð*¨g°e°W¸A¸i¸[ÈÐ,OÓP€Dà,¨W¨I°XÐ
>€CØ '¨'¨Ð 3Ð4€GÜ�|‰|˜C¨¼.ÔI€HØ×ÑÔä	ˆd�DÓ	ð "˜QØ	�‰�× Ñ Ô!÷"à€K÷"à€Kús   ÃDÄD)iè  )r\   r=   r#   Úrer"   r_   r;   Úcompiler   rM   r@   r   r.   rG   rP   rU   rh   © r   r   ú<module>rl      sT   ðÛ Û 	Û Û 	Û Û ã àˆb�j‰jÐ3Ó4€à€Ø€òSó
ò(ò
òór   