o
    +ifH                     @  s4  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 deZ'G dd deZ(G dd dZ)G dd dZ*G dd dZ+G dd dZ,dS )    )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dZed,ddZeddded	d-ddZdddedd.dd Zeeddded!d/d'd(Z	dddedd.d)d*Z
dS )0r   returnBatchesWithRawResponsec                 C     t | S N)r   self r$   Q/var/www/html/corbot_env/lib/python3.10/site-packages/openai/resources/batches.pywith_raw_response      zBatches.with_raw_responseBatchesWithStreamingResponsec                 C  r    r!   )r(   r"   r$   r$   r%   with_streaming_response#   r'   zBatches.with_streaming_responseNmetadataextra_headersextra_query
extra_bodytimeoutcompletion_windowLiteral['24h']endpointDLiteral['/v1/chat/completions', '/v1/embeddings', '/v1/completions']input_file_idstrr+   #Optional[Dict[str, str]] | NotGivenr,   Headers | Noner-   Query | Noner.   Body | Noner/   'float | httpx.Timeout | None | NotGivenr   c          	   	   C  s0   | j dt||||dtjt||||dtd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r0   r2   r4   r+   r,   r-   r.   r/   bodyoptionscast_to)_postr   r	   BatchCreateParamsr   r   	r#   r0   r2   r4   r+   r,   r-   r.   r/   r$   r$   r%   create'   s   .	zBatches.creater>   batch_idc                C  s4   |s	t d|| jd| t||||dtd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/r>   rA   rB   
ValueError_getr   r   r#   rG   r,   r-   r.   r/   r$   r$   r%   retrievef   s   zBatches.retrieveafterlimitr,   r-   r.   r/   rR   str | NotGivenrS   int | NotGivenSyncCursorPage[Batch]c                C  2   | j dtt t||||t||dtjdtd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
        r<   )rR   rS   )r,   r-   r.   r/   query)pagerA   model)_get_api_listr   r   r   r   r   BatchListParamsr#   rR   rS   r,   r-   r.   r/   r$   r$   r%   list   "   !zBatches.listc                C  s6   |s	t d|| jd| dt||||dtd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
        rI   rJ   /cancelr>   rK   rM   rC   r   r   rO   r$   r$   r%   cancel   s   
zBatches.cancel)r   r   )r   r(   r0   r1   r2   r3   r4   r5   r+   r6   r,   r7   r-   r8   r.   r9   r/   r:   r   r   rG   r5   r,   r7   r-   r8   r.   r9   r/   r:   r   r   )rR   rT   rS   rU   r,   r7   r-   r8   r.   r9   r/   r:   r   rV   __name__
__module____qualname__r   r&   r)   r
   rF   rP   r_   rd   r$   r$   r$   r%   r      8    	E$:c                   @  r   )0r   r   AsyncBatchesWithRawResponsec                 C  r    r!   )rl   r"   r$   r$   r%   r&      r'   zAsyncBatches.with_raw_response!AsyncBatchesWithStreamingResponsec                 C  r    r!   )rm   r"   r$   r$   r%   r)      r'   z$AsyncBatches.with_streaming_responseNr*   r0   r1   r2   r3   r4   r5   r+   r6   r,   r7   r-   r8   r.   r9   r/   r:   r   c          	   	     s>   | j dt||||dtjI dH t||||dtdI dH S )r;   r<   r=   Nr>   r?   )rC   r   r	   rD   r   r   rE   r$   r$   r%   rF      s    .	zAsyncBatches.creater>   rG   c                  s<   |s
t d|| jd| t||||dtdI dH S )rH   rI   rJ   r>   rK   NrL   rO   r$   r$   r%   rP   (  s   zAsyncBatches.retrieverQ   rR   rT   rS   rU   -AsyncPaginator[Batch, AsyncCursorPage[Batch]]c                C  rW   rX   )r\   r   r   r   r   r   r]   r^   r$   r$   r%   r_   I  r`   zAsyncBatches.listc                  s>   |s
t d|| jd| dt||||dtdI dH S )ra   rI   rJ   rb   r>   rK   Nrc   rO   r$   r$   r%   rd   }  s   
zAsyncBatches.cancel)r   rl   )r   rm   re   rf   )rR   rT   rS   rU   r,   r7   r-   r8   r.   r9   r/   r:   r   rn   rg   r$   r$   r$   r%   r      rk   c                   @     e Zd ZdddZdS )	r   batchesr   r   Nonec                 C  B   || _ t|j| _t|j| _t|j| _t|j| _d S r!   )_batchesr   to_raw_response_wrapperrF   rP   r_   rd   r#   rp   r$   r$   r%   __init__     
zBatchesWithRawResponse.__init__Nrp   r   r   rq   rh   ri   rj   rv   r$   r$   r$   r%   r         r   c                   @  ro   )	rl   rp   r   r   rq   c                 C  rr   r!   )rs   r   async_to_raw_response_wrapperrF   rP   r_   rd   ru   r$   r$   r%   rv     rw   z$AsyncBatchesWithRawResponse.__init__Nrp   r   r   rq   ry   r$   r$   r$   r%   rl     rz   rl   c                   @  ro   )	r(   rp   r   r   rq   c                 C  :   || _ t|j| _t|j| _t|j| _t|j| _d S r!   )rs   r   rF   rP   r_   rd   ru   r$   r$   r%   rv        
z%BatchesWithStreamingResponse.__init__Nrx   ry   r$   r$   r$   r%   r(     rz   r(   c                   @  ro   )	rm   rp   r   r   rq   c                 C  r}   r!   )rs   r   rF   rP   r_   rd   ru   r$   r$   r%   rv     r~   z*AsyncBatchesWithStreamingResponse.__init__Nr|   ry   r$   r$   r$   r%   rm     rz   rm   )-
__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   rl   r(   rm   r$   r$   r$   r%   <module>   s.    C C