a
    !f!                     @  s   d dl mZ d dlmZ d dl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mZ dd	lmZmZ dd
lmZmZ erd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!dS )    )annotations)TYPE_CHECKINGN   )ModelModelDeleted)	NOT_GIVENBodyQueryHeadersNotGiven)SyncAPIResourceAsyncAPIResource)to_raw_response_wrapperasync_to_raw_response_wrapper)SyncPage	AsyncPage)AsyncPaginatormake_request_options)OpenAIAsyncOpenAIModelsAsyncModelsc                      s   e Zd ZU ded< ddd fddZddded	d
ddddddddZddded	ddddddddZddded	d
ddddddddZ  Z	S )r   ModelsWithRawResponsewith_raw_responser   Noneclientreturnc                   s   t  | t| | _d S N)super__init__r   r   selfr   	__class__ X/var/www/html/python-backend/venv/lib/python3.9/site-packages/openai/resources/models.pyr       s    zModels.__init__Nextra_headersextra_query
extra_bodytimeoutstrHeaders | NoneQuery | NoneBody | None'float | httpx.Timeout | None | NotGivenr   modelr(   r)   r*   r+   r   c                C  s"   | j d| t||||dtdS )  
        Retrieves a model instance, providing basic information about the model such as
        the owner and permissioning.

        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
        /models/r'   optionsZcast_to_getr   r   r"   r2   r(   r)   r*   r+   r%   r%   r&   retrieve   s    zModels.retrievezSyncPage[Model]r(   r)   r*   r+   r   c             	   C  s"   | j dtt t||||dtdS z
        Lists the currently available models, and provides basic information about each
        one such as the owner and availability.
        z/modelsr'   )pager6   r2   )_get_api_listr   r   r   r"   r(   r)   r*   r+   r%   r%   r&   list=   s    zModels.listr   c                C  s"   | j d| t||||dtdS )  Delete a fine-tuned model.

        You must have the Owner role in your organization to
        delete a model.

        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
        r4   r'   r5   _deleter   r   r9   r%   r%   r&   deleteT   s    zModels.delete
__name__
__module____qualname____annotations__r    r   r:   r@   rD   __classcell__r%   r%   r#   r&   r      s"   

%c                      s   e Zd ZU ded< ddd fddZddded	d
ddddddddZddded	ddddddddZddded	d
ddddddddZ  Z	S )r   AsyncModelsWithRawResponser   r   r   r   c                   s   t  | t| | _d S r   )r   r    rK   r   r!   r#   r%   r&   r    y   s    zAsyncModels.__init__Nr'   r,   r-   r.   r/   r0   r   r1   c                  s(   | j d| t||||dtdI dH S )r3   r4   r'   r5   Nr7   r9   r%   r%   r&   r:   }   s    zAsyncModels.retrievez'AsyncPaginator[Model, AsyncPage[Model]]r;   c             	   C  s"   | j dtt t||||dtdS r<   )r>   r   r   r   r?   r%   r%   r&   r@      s    zAsyncModels.listr   c                  s(   | j d| t||||dtdI dH S )rA   r4   r'   r5   NrB   r9   r%   r%   r&   rD      s    zAsyncModels.deleterE   r%   r%   r#   r&   r   v   s"   

%c                   @  s   e Zd ZdddddZdS )r   r   r   modelsr   c                 C  s(   t |j| _t |j| _t |j| _d S r   )r   r:   r@   rD   r"   rM   r%   r%   r&   r       s    zModelsWithRawResponse.__init__NrF   rG   rH   r    r%   r%   r%   r&   r      s   r   c                   @  s   e Zd ZdddddZdS )rK   r   r   rL   c                 C  s(   t |j| _t |j| _t |j| _d S r   )r   r:   r@   rD   rN   r%   r%   r&   r       s    z#AsyncModelsWithRawResponse.__init__NrO   r%   r%   r%   r&   rK      s   rK   )"
__future__r   typingr   Zhttpxtypesr   r   _typesr   r   r	   r
   r   Z	_resourcer   r   	_responser   r   Z
paginationr   r   Z_base_clientr   r   Z_clientr   r   __all__r   r   r   rK   r%   r%   r%   r&   <module>   s   ``