HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/openai/__pycache__/_client.cpython-310.pyc
o

���g;[�@s�ddlmZddlZddlmZmZmZddlmZm	Z	ddl
Z
ddlmZddl
mZddlmZmZmZmZmZmZmZdd	lmZmZmZdd
lmZddlmZmZm Z m!Z!m"Z"m#Z#m$Z$ddl%m&Z&m'Z'dd
lm(Z(m)Z)ddl*m+Z+m,Z,m-Z-ddl.m/Z/ddl0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7gd�Z8Gdd�de,�Z9Gdd�de-�Z:Gdd�d�Z;Gdd�d�Z<Gdd�d�Z=Gdd �d �Z>e9Z?e:Z@dS)!�)�annotationsN)�Any�Union�Mapping)�Self�override�)�_exceptions��Querystring)�	NOT_GIVEN�Omit�Timeout�NotGiven�	Transport�ProxiesTypes�RequestOptions)�is_given�
is_mapping�get_async_library)�__version__)�files�images�models�batches�
embeddings�completions�moderations)�Stream�AsyncStream)�OpenAIError�APIStatusError)�DEFAULT_MAX_RETRIES�
SyncAPIClient�AsyncAPIClient)�beta)�chat)�audio)�uploads)�fine_tuning)rrrr�OpenAI�AsyncOpenAI�Client�AsyncClientc�@eZdZUded<ded<ded<ded<d	ed
<ded<d
ed<ded<ded<ded<ded<ded<ded<ded<ded<ded <ded!<d"ed#<	d$d$d$d$d$eed$d$d$d%d&�dS�fd6d7�ZeedTd9d:���Z	eedUd<d=���Z
eedV�fd?d@���Zd$d$d$d$d$ed$ed$d$d$d$idA�
dWdIdJ�ZeZ
edXdQdR��Z�ZS)Yr*zcompletions.Completionsrz	chat.Chatr&zembeddings.Embeddingsrzfiles.Filesrz
images.Imagesrzaudio.Audior'zmoderations.Moderationsrz
models.Modelsrzfine_tuning.FineTuningr)z	beta.Betar%zbatches.Batchesrzuploads.Uploadsr(�OpenAIWithRawResponse�with_raw_response�OpenAIWithStreamedResponse�with_streaming_response�str�api_key�
str | None�organization�project�str | httpx.URL | None�websocket_base_urlNF�r4r6r7�base_urlr9�timeout�max_retries�default_headers�
default_query�http_client�_strict_response_validationr;r<�%Union[float, Timeout, None, NotGiven]r=�intr>�Mapping[str, str] | Noner?�Mapping[str, object] | Noner@�httpx.Client | NonerA�bool�return�Nonec
�N|dur
tj�d�}|durtd��||_|durtj�d�}||_|dur,tj�d�}||_||_|dur<tj�d�}|durBd}t�j	t
||||
||	|d�t|_t
�|�|_
t�|�|_t�|�|_t�|�|_t�|�|_t�|�|_t�|�|_t�|�|_t�|�|_t� |�|_t!�"|�|_!t#�$|�|_#t%|�|_&t'|�|_(dS)	aEConstruct a new synchronous openai client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `OPENAI_API_KEY`
        - `organization` from `OPENAI_ORG_ID`
        - `project` from `OPENAI_PROJECT_ID`
        N�OPENAI_API_KEY��The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable�
OPENAI_ORG_ID�OPENAI_PROJECT_ID�OPENAI_BASE_URL�https://api.openai.com/v1��versionr;r=r<r@�custom_headers�custom_queryrA))�os�environ�getr r4r6r7r9�super�__init__rr�_default_stream_clsr�Completionsr&�Chatr�
Embeddingsr�Filesr�Imagesr'�Audior�Moderationsr�Modelsr)�
FineTuningr%�Betar�Batchesr(�Uploadsr/r0r1r2��selfr4r6r7r;r9r<r=r>r?r@rA��	__class__��9/usr/local/lib/python3.10/dist-packages/openai/_client.pyrYJ�V!��
zOpenAI.__init__rcC�
tdd�S�N�brackets)�array_formatr
�rhrkrkrl�qs��
z	OpenAI.qs�dict[str, str]cC�|j}dd|��iS�N�
AuthorizationzBearer �r4�rhr4rkrkrl�auth_headers��zOpenAI.auth_headers�dict[str, str | Omit]csBit�j�d|jdur|jnt�|jdur|jnt�d��|j�S)N�false�zX-Stainless-AsynczOpenAI-OrganizationzOpenAI-Project)rXr>r6r
r7�_custom_headersrrrirkrlr>�s���zOpenAI.default_headers�
r4r6r7r9r;r<r@r=r>�set_default_headersr?�set_default_query�
_extra_kwargs�!float | Timeout | None | NotGiven�int | NotGivenr�r�r��Mapping[str, Any]rc

C��|	dur|
durtd��|dur|durtd��|j}|	dur&i|�|	�}n|
dur,|
}|j}|dur:i|�|�}n|dur@|}|pD|j}|jd|pL|j|pP|j|pT|j|pX|j|p\|j	t
|t�rd|jn||t
|�rl|n|j||d�
|
��S�z~
        Create a new client instance re-using the same options given to the current client with optional overriding.
        NzPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusive)
r4r6r7r9r;r<r@r=r>r?rk��
ValueErrorr��
_custom_query�_clientrjr4r6r7r9r;�
isinstancerr<rr=�rhr4r6r7r9r;r<r@r=r>r�r?r�r��headers�paramsrkrkrl�copy��:
��zOpenAI.copy�err_msg�body�object�response�httpx.Responser!cC�t|�r
|�d|�n|}|jdkrtj|||d�S|jdkr&tj|||d�S|jdkr3tj|||d�S|jdkr@tj|||d�S|jdkrMtj|||d�S|jdkrZtj	|||d�S|jd	krgtj
|||d�S|jd
krttj|||d�St|||d�S�N�errori�)r�r�i�i�i�i�i�i�i��
rrW�status_coder	�BadRequestError�AuthenticationError�PermissionDeniedError�
NotFoundError�
ConflictError�UnprocessableEntityError�RateLimitError�InternalServerErrorr!�rhr�r�r��datarkrkrl�_make_status_error��$







zOpenAI._make_status_error)r4r5r6r5r7r5r;r8r9r8r<rBr=rCr>rDr?rEr@rFrArGrHrI�rHr�rHru�rHr})r4r5r6r5r7r5r9r8r;r8r<r�r@rFr=r�r>rDr�rDr?rEr�rEr�r�rHr�r�r3r�r�r�r�rHr!��__name__�
__module__�__qualname__�__annotations__rr"rY�propertyrrsr{r>r��with_optionsr��
__classcell__rkrkrirlr*-�t

	�T�7r*cr.)Yr+zcompletions.AsyncCompletionsrzchat.AsyncChatr&zembeddings.AsyncEmbeddingsrzfiles.AsyncFilesrzimages.AsyncImagesrzaudio.AsyncAudior'zmoderations.AsyncModerationsrzmodels.AsyncModelsrzfine_tuning.AsyncFineTuningr)zbeta.AsyncBetar%zbatches.AsyncBatchesrzuploads.AsyncUploadsr(�AsyncOpenAIWithRawResponser0�AsyncOpenAIWithStreamedResponser2r3r4r5r6r7r8r9NFr:r;r<rBr=rCr>rDr?rEr@�httpx.AsyncClient | NonerArGrHrIc
rJ)	a?Construct a new async openai client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `OPENAI_API_KEY`
        - `organization` from `OPENAI_ORG_ID`
        - `project` from `OPENAI_PROJECT_ID`
        NrKrLrMrNrOrPrQ))rUrVrWr r4r6r7r9rXrYrrrZr�AsyncCompletionsr&�	AsyncChatr�AsyncEmbeddingsr�
AsyncFilesr�AsyncImagesr'�
AsyncAudior�AsyncModerationsr�AsyncModelsr)�AsyncFineTuningr%�	AsyncBetar�AsyncBatchesr(�AsyncUploadsr�r0r�r2rgrirkrlrY-rmzAsyncOpenAI.__init__rcCrnror
rrrkrkrlrs�rtzAsyncOpenAI.qsrucCrvrwryrzrkrkrlr{�r|zAsyncOpenAI.auth_headersr}csJit�j�dt���|jdur|jnt�|jdur|jnt�d��|j�S)Nzasync:r)rXr>rr6r
r7r�rrrirkrlr>�s�
��zAsyncOpenAI.default_headersr�r�r�r�r�r�r�rc

Cr�r�r�r�rkrkrlr��r�zAsyncOpenAI.copyr�r�r�r�r�r!cCr�r�r�r�rkrkrlr��r�zAsyncOpenAI._make_status_error)r4r5r6r5r7r5r;r8r9r8r<rBr=rCr>rDr?rEr@r�rArGrHrIr�r�r�)r4r5r6r5r7r5r9r8r;r8r<r�r@r�r=r�r>rDr�rDr?rEr�rEr�r�rHrr�r�rkrkrirlr+r�r+c@�eZdZddd�ZdS)	r/�clientr*rHrIcC�t�|j�|_t�|j�|_t�|j�|_t�|j�|_t�	|j�|_t
�|j
�|_
t�
|j�|_t�|j�|_t�|j�|_t�|j�|_t�|j�|_t�|j�|_dS�N)r�CompletionsWithRawResponser&�ChatWithRawResponser�EmbeddingsWithRawResponser�FilesWithRawResponser�ImagesWithRawResponser'�AudioWithRawResponser�ModerationsWithRawResponser�ModelsWithRawResponser)�FineTuningWithRawResponser%�BetaWithRawResponser�BatchesWithRawResponser(�UploadsWithRawResponse�rhr�rkrkrlrY��zOpenAIWithRawResponse.__init__N�r�r*rHrI�r�r�r�rYrkrkrkrlr/��r/c@r�)	r�r�r+rHrIcCr�r�)r�AsyncCompletionsWithRawResponser&�AsyncChatWithRawResponser�AsyncEmbeddingsWithRawResponser�AsyncFilesWithRawResponser�AsyncImagesWithRawResponser'�AsyncAudioWithRawResponser�AsyncModerationsWithRawResponser�AsyncModelsWithRawResponser)�AsyncFineTuningWithRawResponser%�AsyncBetaWithRawResponser�AsyncBatchesWithRawResponser(�AsyncUploadsWithRawResponser�rkrkrlrYr�z#AsyncOpenAIWithRawResponse.__init__N�r�r+rHrIr�rkrkrkrlr�r�r�c@r�)	r1r�r*rHrIcCr�r�)r� CompletionsWithStreamingResponser&�ChatWithStreamingResponser�EmbeddingsWithStreamingResponser�FilesWithStreamingResponser�ImagesWithStreamingResponser'�AudioWithStreamingResponser� ModerationsWithStreamingResponser�ModelsWithStreamingResponser)�FineTuningWithStreamingResponser%�BetaWithStreamingResponser�BatchesWithStreamingResponser(�UploadsWithStreamingResponser�rkrkrlrYr�z#OpenAIWithStreamedResponse.__init__Nr�r�rkrkrkrlr1r�r1c@r�)	r�r�r+rHrIcCr�r�)r�%AsyncCompletionsWithStreamingResponser&�AsyncChatWithStreamingResponser�$AsyncEmbeddingsWithStreamingResponser�AsyncFilesWithStreamingResponser� AsyncImagesWithStreamingResponser'�AsyncAudioWithStreamingResponser�%AsyncModerationsWithStreamingResponser� AsyncModelsWithStreamingResponser)�$AsyncFineTuningWithStreamingResponser%�AsyncBetaWithStreamingResponser�!AsyncBatchesWithStreamingResponser(�!AsyncUploadsWithStreamingResponser�rkrkrlrY$r�z(AsyncOpenAIWithStreamedResponse.__init__Nr�r�rkrkrkrlr�#r�r�)A�
__future__rrU�typingrrr�typing_extensionsrr�httpx�r	�_qsr�_typesrr
rrrrr�_utilsrrr�_versionr�	resourcesrrrrrrr�
_streamingrrr r!�_base_clientr"r#r$�resources.betar%�resources.chatr&�resources.audior'�resources.uploadsr(�resources.fine_tuningr)�__all__r*r+r/r�r1r�r,r-rkrkrkrl�<module>s<$	$dd