Ë
    uPêj¡  ã                   óŽ   — d Z ddlmZ ddlmZmZ ddlZddlmZm	Z	 ddl
mZ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
Azure Batches API Handler
é    )Ú	Coroutine)ÚFinalÚcastN)ÚAsyncOpenAIÚOpenAI)ÚAsyncAzureOpenAIÚAzureOpenAI)ÚCancelBatchRequestÚCreateBatchRequestÚRetrieveBatchRequest)ÚLiteLLMBatché   )ÚBaseAzureLLMc                   óÐ  ‡ — e Zd ZdZdˆ fd„Zdedeez  defd„Z		 	 dde
ded	edz  d
edz  dedz  deej                  z  dedz  deez  ez  ez  dz  dedz  deeeeef   z  fd„Zdedeez  defd„Z	 	 dde
ded	edz  d
edz  dedz  deej                  z  dedz  deez  ez  ez  dz  dedz  fd„Zdedeez  defd„Z	 	 dde
ded	edz  d
edz  dedz  deej                  z  dedz  deez  ez  ez  dz  dedz  fd„Z	 	 ddeez  dedz  dedz  fd„Z	 	 	 	 dde
d	edz  d
edz  dedz  deej                  z  dedz  dedz  dedz  deez  ez  ez  dz  dedz  fd„Zˆ xZS )ÚAzureBatchesAPIz‚
    Azure methods to support for batches
    - create_batch()
    - retrieve_batch()
    - cancel_batch()
    - list_batch()
    ÚreturnNc                 ó"   •— t         ‰| �  «        y )N)ÚsuperÚ__init__)ÚselfÚ	__class__s    €úg/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/azure/batches/handler.pyr   zAzureBatchesAPI.__init__   s   ø€ Ü‰ÑÕó    Úcreate_batch_dataÚazure_clientc              ƒ   óœ   K  —  |j                   j                  di |¤Žƒ d {  –—† }t        j                  |j	                  «       «      S 7 Œ'­w©N© )ÚbatchesÚcreater   Úmodel_validateÚ
model_dump)r   r   r   Úresponses       r   Úacreate_batchzAzureBatchesAPI.acreate_batch"   sG   è ø€ ð
 !< × 4Ñ 4× ;Ñ ;Ñ PÐ>OÑ P×PˆÜ×*Ñ*¨8×+>Ñ+>Ó+@ÓAÐAð Qúó   ‚ A¢A
£(AÚ	_is_asyncÚapi_keyÚapi_baseÚapi_versionÚtimeoutÚmax_retriesÚclientÚlitellm_paramsc
           	      ój  — | j                  ||||||	xs i ¬«      }
|
€t        d«      ‚|du r4t        |
t        t        f«      st        d«      ‚| j                  ||
¬«      S  t        t        t        z  |
«      j                  j                  di |¤Ž}t        j                  |j                  «       «      S )N©r'   r(   r)   r,   r&   r-   újOpenAI client is not initialized. Make sure api_key is passed or OPENAI_API_KEY is set in the environment.Tú\OpenAI client is not an instance of AsyncOpenAI. Make sure you passed an AsyncOpenAI client.)r   r   r   )Úget_azure_openai_clientÚ
ValueErrorÚ
isinstancer   r   r$   r   r	   r   r   r    r   r!   r"   )r   r&   r   r'   r(   r)   r*   r+   r,   r-   r   r#   s               r   Úcreate_batchzAzureBatchesAPI.create_batch*   sÓ   € ð VZ×UqÑUqØØØ#ØØØ)Ò/¨Rð Vró V
ˆð ÐÜØ|óð ð ˜ÑÜ˜lÔ-=¼{Ð,KÔLÜ Øróð ð ×%Ñ%Ð8IÐXdÐ%ÓeÐeØJ”4œ¤fÑ,¨lÓ;×CÑC×JÑJÑ_ÐM^Ñ_ˆÜ×*Ñ*¨8×+>Ñ+>Ó+@ÓAÐAr   Úretrieve_batch_datac              ƒ   óœ   K  —  |j                   j                  di |¤Žƒ d {  –—† }t        j                  |j	                  «       «      S 7 Œ'­wr   )r   Úretriever   r!   r"   )r   r6   r,   r#   s       r   Úaretrieve_batchzAzureBatchesAPI.aretrieve_batchL   sE   è ø€ ð
 !8 §¡× 7Ñ 7Ñ NÐ:MÑ N×NˆÜ×*Ñ*¨8×+>Ñ+>Ó+@ÓAÐAð Oúr%   c
           	      ój  — | j                  ||||||	xs i ¬«      }
|
€t        d«      ‚|du r4t        |
t        t        f«      st        d«      ‚| j                  ||
¬«      S  t        t        t        z  |
«      j                  j                  di |¤Ž}t        j                  |j                  «       «      S )Nr/   r0   Tr1   )r6   r,   r   )r2   r3   r4   r   r   r9   r   r	   r   r   r8   r   r!   r"   )r   r&   r6   r'   r(   r)   r*   r+   r,   r-   r   r#   s               r   Úretrieve_batchzAzureBatchesAPI.retrieve_batchT   sÓ   € ð VZ×UqÑUqØØØ#ØØØ)Ò/¨Rð Vró V
ˆð ÐÜØ|óð ð ˜ÑÜ˜lÔ-=¼{Ð,KÔLÜ Øróð ð ×'Ñ'Ð<OÐXdÐ'ÓeÐeØSœ$œ{¬VÑ3°\ÓB×JÑJ×SÑSÑjÐViÑjˆÜ×*Ñ*¨8×+>Ñ+>Ó+@ÓAÐAr   Úcancel_batch_datac              ƒ   óœ   K  —  |j                   j                  di |¤Žƒ d {  –—† }t        j                  |j	                  «       «      S 7 Œ'­wr   )r   Úcancelr   r!   r"   )r   r<   r,   r#   s       r   Úacancel_batchzAzureBatchesAPI.acancel_batchv   sE   è ø€ ð
 !6 §¡× 5Ñ 5Ñ JÐ8IÑ J×JˆÜ×*Ñ*¨8×+>Ñ+>Ó+@ÓAÐAð Kúr%   c
           	      ó‚  — | j                  ||||||	xs i ¬«      }
|
€t        d«      ‚|du r4t        |
t        t        f«      st        d«      ‚| j                  ||
¬«      S t        |
t        t        f«      st        d«      ‚ |
j                  j                  di |¤Ž}t        j                  |j                  «       «      S )Nr/   r0   TziAzure client is not an instance of AsyncAzureOpenAI or AsyncOpenAI. Make sure you passed an async client.)r<   r,   z]Azure client is not an instance of AzureOpenAI or OpenAI. Make sure you passed a sync client.r   )r2   r3   r4   r   r   r?   r	   r   r   r>   r   r!   r"   )r   r&   r<   r'   r(   r)   r*   r+   r,   r-   r   r#   s               r   Úcancel_batchzAzureBatchesAPI.cancel_batch~   sê   € ð VZ×UqÑUqØØØ#ØØØ)Ò/¨Rð Vró V
ˆð ÐÜØ|óð ð ˜ÑÜ˜lÔ-=¼{Ð,KÔLÜ Øóð ð ×%Ñ%Ð8IÐR^Ð%Ó_Ð_ô ˜,¬´fÐ(=Ô>ÜØoóð ð 6˜,×.Ñ.×5Ñ5ÑJÐ8IÑJˆÜ×*Ñ*¨8×+>Ñ+>Ó+@ÓAÐAr   ÚafterÚlimitc              ƒ   ó\   K  — |j                   j                  ||¬«      ƒ d {  –—† }|S 7 Œ­w)N©rB   rC   )r   Úlist)r   r,   rB   rC   r#   s        r   Úalist_batcheszAzureBatchesAPI.alist_batches¦   s/   è ø€ ð !'§¡× 3Ñ 3¸%ÀuÐ 3Ó M×MˆØˆð Nús   ‚!,£*¤,c           	      ó  — | j                  ||||	||
xs i ¬«      }|€t        d«      ‚|du r5t        |t        t        f«      st        d«      ‚| j                  |||¬«      S |j                  j                  ||¬«      }|S )Nr/   r0   Tr1   )r,   rB   rC   rE   )r2   r3   r4   r   r   rG   r   rF   )r   r&   r'   r(   r)   r*   r+   rB   rC   r,   r-   r   r#   s                r   Úlist_batcheszAzureBatchesAPI.list_batches¯   s±   € ð VZ×UqÑUqØØØ#ØØØ)Ò/¨Rð Vró V
ˆð ÐÜØ|óð ð ˜ÑÜ˜lÔ-=¼{Ð,KÔLÜ Øróð ð ×%Ñ%¨\ÀÈeÐ%ÓTÐTØ&×.Ñ.×3Ñ3¸%ÀuÐ3ÓMˆØˆr   )r   N)NN)NNNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r$   ÚboolÚstrÚfloatÚhttpxÚTimeoutÚintr	   r   Údictr   Úobjectr5   r   r9   r;   r
   r?   rA   rG   rI   Ú__classcell__)r   s   @r   r   r      sx  ø„ ñõðBà-ðBð '¨Ñ4ðBð 
ó	Bð" PTØ&*ñ Bàð Bð .ð Bð �t‘ð	 Bð
 ˜‘*ð Bð ˜4‘Zð Bð ˜Ÿ™Ñ&ð Bð ˜4‘Zð Bð Ð.Ñ.°Ñ7¸+ÑEÈÑLð Bð ˜t™ð Bð 
˜	 &¨&°,Ð">Ñ?Ñ	?ó BðDBà1ðBð ! ;Ñ.ðBð 
ó	Bð" PTØ&*ñ Bàð Bð 2ð Bð �t‘ð	 Bð
 ˜‘*ð Bð ˜4‘Zð Bð ˜Ÿ™Ñ&ð Bð ˜4‘Zð Bð Ð.Ñ.°Ñ7¸+ÑEÈÑLð Bð ˜t™ó BðDBà-ðBð ! ;Ñ.ðBð 
ó	Bð" PTØ&*ñ&Bàð&Bð .ð&Bð �t‘ð	&Bð
 ˜‘*ð&Bð ˜4‘Zð&Bð ˜Ÿ™Ñ&ð&Bð ˜4‘Zð&Bð Ð.Ñ.°Ñ7¸+ÑEÈÑLð&Bð ˜t™ó&BðV !Ø ñ	à  ;Ñ.ðð �T‰zðð �T‰zó	ð" !Ø ØOSØ&*ñ!àð!ð �t‘ð!ð ˜‘*ð	!ð
 ˜4‘Zð!ð ˜Ÿ™Ñ&ð!ð ˜4‘Zð!ð �T‰zð!ð �T‰zð!ð Ð.Ñ.°Ñ7¸+ÑEÈÑLð!ð ˜t™÷!r   r   )rM   Úcollections.abcr   Útypingr   r   rQ   Úopenair   r   Úlitellm.llms.azure.azurer   r	   Úlitellm.types.llms.openair
   r   r   Úlitellm.types.utilsr   Úcommon_utilsr   r   r   r   r   ú<module>r^      s;   ðñõ &ß ã ß &ç B÷ñ õ
 -å 'ôz�lõ zr   