
    	hQ                       d dl mZ d dl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l%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-dS )    )annotations)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)MetadataBatchesAsyncBatchesc                      e Zd Zed'd            Zed(d            Ze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
dS ),r   returnBatchesWithRawResponsec                     t          |           S a  
        This property can be used as a prefix for any HTTP method call to return
        the raw response object instead of the parsed content.

        For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
        )r    selfs    e/var/www/html/web-builder-api.evdpl.com/venv/lib/python3.11/site-packages/openai/resources/batches.pywith_raw_responsezBatches.with_raw_response   s     &d+++    BatchesWithStreamingResponsec                     t          |           S z
        An alternative to `.with_raw_response` that doesn't eagerly read the response body.

        For more information, see https://www.github.com/openai/openai-python#with_streaming_response
        )r(   r#   s    r%   with_streaming_responsezBatches.with_streaming_response$   s     ,D111r'   Nmetadataoutput_expires_afterextra_headersextra_query
extra_bodytimeoutcompletion_windowLiteral['24h']endpointULiteral['/v1/responses', '/v1/chat/completions', '/v1/embeddings', '/v1/completions']input_file_idstrr-   Optional[Metadata] | NotGivenr.   1batch_create_params.OutputExpiresAfter | NotGivenr/   Headers | Noner0   Query | Noner1   Body | Noner2   'float | httpx.Timeout | None | NotGivenr   c       	            |                      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/responses`, `/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 200 MB in size.

          metadata: Set of 16 key-value pairs that can be attached to an object. This can be useful
              for storing additional information about the object in a structured format, and
              querying for objects via API or the dashboard.

              Keys are strings with a maximum length of 64 characters. Values are strings with
              a maximum length of 512 characters.

          output_expires_after: The expiration policy for the output and/or error file that are generated for a
              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r3   r5   r7   r-   r.   r/   r0   r1   r2   bodyoptionscast_to)_postr   r	   BatchCreateParamsr   r   
r$   r3   r5   r7   r-   r.   r/   r0   r1   r2   s
             r%   createzBatches.create-   su    n zz ): (%2 (,@  $5	 	 )+Q[el     
 
 	
r'   rC   batch_idc          	         |st          d|          |                     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/rC   rF   rG   
ValueError_getr   r   r$   rL   r/   r0   r1   r2   s         r%   retrievezBatches.retrievev   sm    .  	ecW_ccdddyy"""(+Q[el     
 
 	
r'   afterlimitr/   r0   r1   r2   rX   str | NotGivenrY   int | NotGivenSyncCursorPage[Batch]c                   |                      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
        rA   )rX   rY   )r/   r0   r1   r2   query)pagerF   model)_get_api_listr   r   r   r   r   BatchListParamsr$   rX   rY   r/   r0   r1   r2   s          r%   listzBatches.list   su    B !!&(+'%%!&!&  &5    ! " 
 
 	
r'   c          	         |st          d|          |                     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
        rO   rP   /cancelrC   rQ   rS   rH   r   r   rU   s         r%   cancelzBatches.cancel   sp    4  	ecW_ccdddzz))))(+Q[el     
 
 	
r'   )r   r    )r   r(   r3   r4   r5   r6   r7   r8   r-   r9   r.   r:   r/   r;   r0   r<   r1   r=   r2   r>   r   r   rL   r8   r/   r;   r0   r<   r1   r=   r2   r>   r   r   )rX   rZ   rY   r[   r/   r;   r0   r<   r1   r=   r2   r>   r   r\   __name__
__module____qualname__r   r&   r+   r
   rK   rV   re   rj    r'   r%   r   r      s       , , , _, 2 2 2 _2 3<R[ )-$("&;DG
 G
 G
 G
 G
 G
^ )-$("&;D
 
 
 
 
 
H !* ) )-$("&;D2
 2
 2
 2
 2
 2
t )-$("&;D"
 "
 "
 "
 "
 "
 "
 "
r'   c                      e Zd Zed'd            Zed(d            Ze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
dS ),r   r   AsyncBatchesWithRawResponsec                     t          |           S r"   )rs   r#   s    r%   r&   zAsyncBatches.with_raw_response   s     +4000r'   !AsyncBatchesWithStreamingResponsec                     t          |           S r*   )ru   r#   s    r%   r+   z$AsyncBatches.with_streaming_response   s     1666r'   Nr,   r3   r4   r5   r6   r7   r8   r-   r9   r.   r:   r/   r;   r0   r<   r1   r=   r2   r>   r   c       	           K   |                      dt          |||||dt          j                   d{V t	          ||||	          t
                     d{V S )r@   rA   rB   NrC   rD   )rH   r   r	   rI   r   r   rJ   s
             r%   rK   zAsyncBatches.create  s      n ZZ,): (%2 (,@  $5	 	 	 	 	 	 	 	 )+Q[el      
 
 
 
 
 
 
 
 	
r'   rC   rL   c          	        K   |st          d|          |                     d| t          ||||          t                     d{V S )rN   rO   rP   rC   rQ   NrR   rU   s         r%   rV   zAsyncBatches.retrieveM  s      .  	ecW_ccdddYY"""(+Q[el     
 
 
 
 
 
 
 
 	
r'   rW   rX   rZ   rY   r[   -AsyncPaginator[Batch, AsyncCursorPage[Batch]]c                   |                      dt          t                   t          ||||t	          ||dt
          j                            t                    S r^   )rb   r   r   r   r   r   rc   rd   s          r%   re   zAsyncBatches.listn  su    B !! '(+'%%!&!&  &5    ! " 
 
 	
r'   c          	        K   |st          d|          |                     d| dt          ||||          t                     d{V S )rg   rO   rP   rh   rC   rQ   Nri   rU   s         r%   rj   zAsyncBatches.cancel  s      4  	ecW_ccdddZZ))))(+Q[el      
 
 
 
 
 
 
 
 	
r'   )r   rs   )r   ru   rk   rl   )rX   rZ   rY   r[   r/   r;   r0   r<   r1   r=   r2   r>   r   ry   rm   rq   r'   r%   r   r      s       1 1 1 _1 7 7 7 _7 3<R[ )-$("&;DG
 G
 G
 G
 G
 G
^ )-$("&;D
 
 
 
 
 
H !* ) )-$("&;D2
 2
 2
 2
 2
 2
t )-$("&;D"
 "
 "
 "
 "
 "
 "
 "
r'   c                      e Zd ZddZdS )r    batchesr   r   Nonec                   || _         t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        d S N)_batchesr   to_raw_response_wrapperrK   rV   re   rj   r$   r}   s     r%   __init__zBatchesWithRawResponse.__init__  sx    &>N
 
 )@
 
 %<L
 
	 '>N
 
r'   Nr}   r   r   r~   rn   ro   rp   r   rq   r'   r%   r    r      (        
 
 
 
 
 
r'   r    c                      e Zd ZddZdS )rs   r}   r   r   r~   c                   || _         t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        d S r   )r   r   async_to_raw_response_wrapperrK   rV   re   rj   r   s     r%   r   z$AsyncBatchesWithRawResponse.__init__  sx    &DN
 
 )F
 
 %BL
 
	 'DN
 
r'   Nr}   r   r   r~   r   rq   r'   r%   rs   rs     r   r'   rs   c                      e Zd ZddZdS )r(   r}   r   r   r~   c                    || _         t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        d S r   )r   r   rK   rV   re   rj   r   s     r%   r   z%BatchesWithStreamingResponse.__init__  sl    2N
 
 5
 
 1L
 
	 3N
 
r'   Nr   r   rq   r'   r%   r(   r(     r   r'   r(   c                      e Zd ZddZdS )ru   r}   r   r   r~   c                    || _         t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        d S r   )r   r   rK   rV   re   rj   r   s     r%   r   z*AsyncBatchesWithStreamingResponse.__init__  sl    8N
 
 ;
 
 7L
 
	 9N
 
r'   Nr   r   rq   r'   r%   ru   ru     r   r'   ru   ).
__future__r   typingr   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   types.shared_params.metadatar   __all__r   r   r    rs   r(   ru   rq   r'   r%   <module>r      sc   # " " " " "       % % % % % %        : : : : : : : : > > > > > > > > > > > > > > ; ; ; ; ; ; ; ; % % % % % % 9 9 9 9 9 9 9 9 X X X X X X X X 8 8 8 8 8 8 8 8       ? ? ? ? ? ? ? ? 3 3 3 3 3 3n
%T
 T
 T
 T
 T
o T
 T
 T
nT
 T
 T
 T
 T
# T
 T
 T
n
 
 
 
 
 
 
 
$
 
 
 
 
 
 
 
$
 
 
 
 
 
 
 
$
 
 
 
 
 
 
 
 
 
r'   