
    +h!                        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r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!y)    )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                       e Zd ZU ded<   d	 fdZddded	 	 	 	 	 	 	 	 	 	 	 d
dZddded	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 	 	 ddZ xZ	S )r   ModelsWithRawResponsewith_raw_responsec                D    t         |   |       t        |       | _        y N)super__init__r   r   selfclient	__class__s     J/var/www/html/venv/lib/python3.12/site-packages/openai/resources/models.pyr   zModels.__init__   s     !6t!<    Nextra_headersextra_query
extra_bodytimeoutc          	     R    | j                  d| t        ||||      t              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&   optionscast_to_getr   r   r!   modelr'   r(   r)   r*   s         r$   retrievezModels.retrieve   s<    0 yyug(+Q[el   
 	
r%   c          
     d    | j                  dt        t           t        ||||      t              S z
        Lists the currently available models, and provides basic information about each
        one such as the owner and availability.
        z/modelsr&   )pager/   r4   )_get_api_listr   r   r   r!   r'   r(   r)   r*   s        r$   listzModels.list=   s>     !!%(+Q[el  " 
 	
r%   c          	     R    | j                  d| t        ||||      t              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
        r-   r&   r.   _deleter   r   r3   s         r$   deletezModels.deleteT   s<    2 ||ug(+Q[el !  
 	
r%   )r"   r   returnNoner4   strr'   Headers | Noner(   Query | Noner)   Body | Noner*   'float | httpx.Timeout | None | NotGivenrA   r   )
r'   rE   r(   rF   r)   rG   r*   rH   rA   zSyncPage[Model]r4   rD   r'   rE   r(   rF   r)   rG   r*   rH   rA   r   
__name__
__module____qualname____annotations__r   r   r5   r;   r@   __classcell__r#   s   @r$   r   r      s    ,,= )-$("&;D

 &
 "
  
 9
 

J )-$("&;D

 &
 "
  
 9
 

: )-$("&;D

 &
 "
  
 9
 

r%   c                       e Zd ZU ded<   d	 fdZddded	 	 	 	 	 	 	 	 	 	 	 d
dZddded	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 	 	 ddZ xZ	S )r   AsyncModelsWithRawResponser   c                D    t         |   |       t        |       | _        y r   )r   r   rR   r   r    s     r$   r   zAsyncModels.__init__y   s     !;D!Ar%   Nr&   c          	     n   K   | j                  d| t        ||||      t               d{   S 7 w)r,   r-   r&   r.   Nr1   r3   s         r$   r5   zAsyncModels.retrieve}   sJ     0 YYug(+Q[el   
 
 	
 
   ,535c          
     d    | j                  dt        t           t        ||||      t              S r7   )r9   r   r   r   r:   s        r$   r;   zAsyncModels.list   s?     !!5!(+Q[el  " 
 	
r%   c          	     n   K   | j                  d| t        ||||      t               d{   S 7 w)r=   r-   r&   r.   Nr>   r3   s         r$   r@   zAsyncModels.delete   sJ     2 \\ug(+Q[el ! " 
 
 	
 
rU   )r"   r   rA   rB   rC   )
r'   rE   r(   rF   r)   rG   r*   rH   rA   z'AsyncPaginator[Model, AsyncPage[Model]]rI   rJ   rP   s   @r$   r   r   v   s    11B )-$("&;D

 &
 "
  
 9
 

J )-$("&;D

 &
 "
  
 9
 
1
: )-$("&;D

 &
 "
  
 9
 

r%   c                      e Zd ZddZy)r   c                    t        |j                        | _        t        |j                        | _        t        |j                        | _        y r   )r   r5   r;   r@   r!   modelss     r$   r   zModelsWithRawResponse.__init__   s?    /OO
 ,KK
	 .MM
r%   N)r[   r   rA   rB   rK   rL   rM   r    r%   r$   r   r          	
r%   r   c                      e Zd ZddZy)rR   c                    t        |j                        | _        t        |j                        | _        t        |j                        | _        y r   )r   r5   r;   r@   rZ   s     r$   r   z#AsyncModelsWithRawResponse.__init__   s?    5OO
 2KK
	 4MM
r%   N)r[   r   rA   rB   r\   r]   r%   r$   rR   rR      r^   r%   rR   )"
__future__r   typingr   httpxtypesr   r   _typesr   r	   r
   r   r   	_resourcer   r   	_responser   r   
paginationr   r   _base_clientr   r   _clientr   r   __all__r   r   r   rR   r]   r%   r$   <module>rl      sh    #    ' > > 9 N , ?-]
#]
_ ]
@]
" ]
@

 



 

r%   