
    OYhfH                    X   d dl mZ d dlmZmZ d dlmZ d dlZddlm	Z	 ddl
mZmZ ddlmZmZmZmZmZ dd	lmZmZ dd
lmZ ddlmZmZ ddlmZmZ ddlmZm Z  ddl!m"Z" ddl#m$Z$m%Z% ddgZ& G d de      Z' G d de      Z( G d d      Z) G d d      Z* G d d      Z+ G d d      Z,y)    )annotations)DictOptional)LiteralN   )_legacy_response)batch_list_paramsbatch_create_params)	NOT_GIVENBodyQueryHeadersNotGiven)maybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncCursorPageAsyncCursorPage)Batch)AsyncPaginatormake_request_optionsBatchesAsyncBatchesc                      e Zd Zedd       Zedd       Zeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 	 	 ddZeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 dd	Z	ddded	 	 	 	 	 	 	 	 	 	 	 dd
Z
y)r   c                    t        |       S N)BatchesWithRawResponseselfs    W/var/www/feuerwehr-webapp/venv/lib/python3.12/site-packages/openai/resources/batches.pywith_raw_responsezBatches.with_raw_response   s    %d++    c                    t        |       S r    )BatchesWithStreamingResponser"   s    r$   with_streaming_responsezBatches.with_streaming_response#   s    +D11r&   Nmetadataextra_headersextra_query
extra_bodytimeoutc          
         | j                  dt        ||||dt        j                        t	        ||||      t
              S )  
        Creates and executes a batch from an uploaded file of requests

        Args:
          completion_window: The time frame within which the batch should be processed. Currently only `24h`
              is supported.

          endpoint: The endpoint to be used for all requests in the batch. Currently
              `/v1/chat/completions`, `/v1/embeddings`, and `/v1/completions` are supported.
              Note that `/v1/embeddings` batches are also restricted to a maximum of 50,000
              embedding inputs across all requests in the batch.

          input_file_id: The ID of an uploaded file that contains requests for the new batch.

              See [upload file](https://platform.openai.com/docs/api-reference/files/create)
              for how to upload a file.

              Your input file must be formatted as a
              [JSONL file](https://platform.openai.com/docs/api-reference/batch/request-input),
              and must be uploaded with the purpose `batch`. The file can contain up to 50,000
              requests, and can be up to 100 MB in size.

          metadata: Optional custom metadata for the batch.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        /batchescompletion_windowendpointinput_file_idr+   r,   r-   r.   r/   bodyoptionscast_to)_postr   r
   BatchCreateParamsr   r   	r#   r4   r5   r6   r+   r,   r-   r.   r/   s	            r$   createzBatches.create'   s\    \ zz ): (%2 (	 $55 )+Q[el   
 	
r&   r7   c          	     r    |st        d|      | j                  d| t        ||||      t              S )F  
        Retrieves a batch.

        Args:
          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        7Expected a non-empty value for `batch_id` but received 	/batches/r7   r:   r;   
ValueError_getr   r   r#   batch_idr,   r-   r.   r/   s         r$   retrievezBatches.retrievef   sT    . VW_Vbcddyyz"(+Q[el   
 	
r&   afterlimitr,   r-   r.   r/   c                   | j                  dt        t           t        ||||t	        ||dt
        j                              t              S a,  List your organization's batches.

        Args:
          after: A cursor for use in pagination.

        `after` is an object ID that defines your place
              in the list. For instance, if you make a list request and receive 100 objects,
              ending with obj_foo, your subsequent call can include after=obj_foo in order to
              fetch the next page of the list.

          limit: A limit on the number of objects to be returned. Limit can range between 1 and
              100, and the default is 20.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        r2   )rL   rM   )r,   r-   r.   r/   query)pager:   model)_get_api_listr   r   r   r   r	   BatchListParamsr#   rL   rM   r,   r-   r.   r/   s          r$   listzBatches.list   s_    B !!&(+'%%!&!& &55 ! " 
 	
r&   c          	     t    |st        d|      | j                  d| dt        ||||      t              S )
  Cancels an in-progress batch.

        The batch will be in status `cancelling` for up to
        10 minutes, before changing to `cancelled`, where it will have partial results
        (if any) available in the output file.

        Args:
          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        rB   rC   /cancelr7   rD   rF   r<   r   r   rH   s         r$   cancelzBatches.cancel   sV    4 VW_Vbcddzzz)(+Q[el   
 	
r&   )returnr!   )r\   r(   r4   zLiteral['24h']r5   zDLiteral['/v1/chat/completions', '/v1/embeddings', '/v1/completions']r6   strr+   z#Optional[Dict[str, str]] | NotGivenr,   Headers | Noner-   Query | Noner.   Body | Noner/   'float | httpx.Timeout | None | NotGivenr\   r   rI   r^   r,   r_   r-   r`   r.   ra   r/   rb   r\   r   )rL   str | NotGivenrM   int | NotGivenr,   r_   r-   r`   r.   ra   r/   rb   r\   zSyncCursorPage[Batch]__name__
__module____qualname__r   r%   r)   r   r?   rJ   rV   r[    r&   r$   r   r      s   , , 2 2 9B )-$("&;D=
 *=
 W	=

 =
 6=
 &=
 "=
  =
 9=
 
=
J )-$("&;D

 &
 "
  
 9
 

H !* ) )-$("&;D2
 2
 	2
 &2
 "2
  2
 92
 
2
t )-$("&;D"
"
 &"
 ""
  "
 9"
 
"
r&   c                      e Zd Zedd       Zedd       Zeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 	 	 ddZeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 dd	Z	ddded	 	 	 	 	 	 	 	 	 	 	 dd
Z
y)r   c                    t        |       S r    )AsyncBatchesWithRawResponser"   s    r$   r%   zAsyncBatches.with_raw_response   s    *400r&   c                    t        |       S r    )!AsyncBatchesWithStreamingResponser"   s    r$   r)   z$AsyncBatches.with_streaming_response   s    066r&   Nr*   c          
        K   | j                  dt        ||||dt        j                         d{   t	        ||||      t
               d{   S 7 $7 w)r1   r2   r3   Nr7   r8   )r<   r   r
   r=   r   r   r>   s	            r$   r?   zAsyncBatches.create   su     \ ZZ,): (%2 (	 $55  )+Q[el    
 
 	

s!   /AA
AAAAr7   c          	        K   |st        d|      | j                  d| t        ||||      t               d{   S 7 w)rA   rB   rC   r7   rD   NrE   rH   s         r$   rJ   zAsyncBatches.retrieve(  sb     . VW_VbcddYYz"(+Q[el   
 
 	
 
s   <AAArK   c                   | j                  dt        t           t        ||||t	        ||dt
        j                              t              S rO   )rS   r   r   r   r   r	   rT   rU   s          r$   rV   zAsyncBatches.listI  s_    B !! '(+'%%!&!& &55 ! " 
 	
r&   c          	        K   |st        d|      | j                  d| dt        ||||      t               d{   S 7 w)rX   rB   rC   rY   r7   rD   NrZ   rH   s         r$   r[   zAsyncBatches.cancel}  sd     4 VW_VbcddZZz)(+Q[el    
 
 	
 
s   =AA A)r\   rm   )r\   ro   r]   rc   )rL   rd   rM   re   r,   r_   r-   r`   r.   ra   r/   rb   r\   z-AsyncPaginator[Batch, AsyncCursorPage[Batch]]rf   rj   r&   r$   r   r      s   1 1 7 7 9B )-$("&;D=
 *=
 W	=

 =
 6=
 &=
 "=
  =
 9=
 
=
J )-$("&;D

 &
 "
  
 9
 

H !* ) )-$("&;D2
 2
 	2
 &2
 "2
  2
 92
 
72
t )-$("&;D"
"
 &"
 ""
  "
 9"
 
"
r&   c                      e Zd ZddZy)r!   c                2   || _         t        j                  |j                        | _        t        j                  |j                        | _        t        j                  |j
                        | _        t        j                  |j                        | _        y r    )_batchesr   to_raw_response_wrapperr?   rJ   rV   r[   r#   batchess     r$   __init__zBatchesWithRawResponse.__init__  su    &>>NN
 )@@
 %<<LL
	 '>>NN
r&   Nry   r   r\   Nonerg   rh   ri   rz   rj   r&   r$   r!   r!         
r&   r!   c                      e Zd ZddZy)rm   c                2   || _         t        j                  |j                        | _        t        j                  |j                        | _        t        j                  |j
                        | _        t        j                  |j                        | _        y r    )rv   r   async_to_raw_response_wrapperr?   rJ   rV   r[   rx   s     r$   rz   z$AsyncBatchesWithRawResponse.__init__  su    &DDNN
 )FF
 %BBLL
	 'DDNN
r&   Nry   r   r\   r|   r}   rj   r&   r$   rm   rm     r~   r&   rm   c                      e Zd ZddZy)r(   c                    || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        t        |j
                        | _        y r    )rv   r   r?   rJ   rV   r[   rx   s     r$   rz   z%BatchesWithStreamingResponse.__init__  s]    2NN
 5
 1LL
	 3NN
r&   Nr{   r}   rj   r&   r$   r(   r(     r~   r&   r(   c                      e Zd ZddZy)ro   c                    || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        t        |j
                        | _        y r    )rv   r   r?   rJ   rV   r[   rx   s     r$   rz   z*AsyncBatchesWithStreamingResponse.__init__  s]    8NN
 ;
 7LL
	 9NN
r&   Nr   r}   rj   r&   r$   ro   ro     r~   r&   ro   )-
__future__r   typingr   r   typing_extensionsr   httpx r   typesr	   r
   _typesr   r   r   r   r   _utilsr   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   types.batchr   _base_clientr   r   __all__r   r   r!   rm   r(   ro   rj   r&   r$   <module>r      s    # ! %   : > > & 9 X 8 
 n
%
o 
D
# 
D
 
$
 
$
 
$
 
r&   