U
    	f%                     @  s   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mZ ddlmZ ddlmZmZ ddlmZmZmZmZ dd	l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 )    )annotationsN   )Model	ModelList)	NOT_GIVENBodyQueryHeadersNoneTypeNotGiven)cached_property)SyncAPIResourceAsyncAPIResource)to_raw_response_wrapperto_streamed_response_wrapperasync_to_raw_response_wrapper"async_to_streamed_response_wrapper)make_request_optionsModelsAsyncModelsc                   @  s   e Zd ZeddddZedd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	dS )r   ModelsWithRawResponsereturnc                 C  s   t | S N)r   self r   X/var/www/html/apigroqsegura/apigroq/lib/python3.8/site-packages/groq/resources/models.pywith_raw_response   s    zModels.with_raw_responseModelsWithStreamingResponsec                 C  s   t | S r   )r   r   r   r   r   with_streaming_response   s    zModels.with_streaming_responseN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  s4   |st d|| jd| t||||dtdS )H  
        Get a specific 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
        4Expected a non-empty value for `model` but received /openai/v1/models/r!   optionscast_to
ValueError_getr   r   r   r,   r"   r#   r$   r%   r   r   r   retrieve!   s       zModels.retriever   r"   r#   r$   r%   r   c                C  s   | j dt||||dtdS )get all available models/openai/v1/modelsr!   r0   r5   r   r   r   r"   r#   r$   r%   r   r   r   listB   s       zModels.listNonec                C  sD   |st d|ddi|pi }| jd| t||||dtdS )B  
        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.   Accept*/*r/   r!   r0   r4   _deleter   r
   r6   r   r   r   deleteU   s       zModels.delete
__name__
__module____qualname__r   r   r    r   r7   r=   rD   r   r   r   r   r      s&   	&c                   @  s   e Zd ZeddddZedd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	dS )r   AsyncModelsWithRawResponser   c                 C  s   t | S r   )rI   r   r   r   r   r   y   s    zAsyncModels.with_raw_response AsyncModelsWithStreamingResponsec                 C  s   t | S r   )rJ   r   r   r   r   r    }   s    z#AsyncModels.with_streaming_responseNr!   r&   r'   r(   r)   r*   r   r+   c                  s:   |st d|| jd| t||||dtdI dH S )r-   r.   r/   r!   r0   Nr3   r6   r   r   r   r7      s       zAsyncModels.retriever   r8   c                  s"   | j dt||||dtdI dH S )r9   r:   r!   r0   Nr;   r<   r   r   r   r=      s       zAsyncModels.listr>   c                  sJ   |st d|ddi|pi }| jd| t||||dtdI dH S )r?   r.   r@   rA   r/   r!   r0   NrB   r6   r   r   r   rD      s       zAsyncModels.deleterE   r   r   r   r   r   x   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   )_modelsr   r7   r=   rD   r   rL   r   r   r   __init__   s    zModelsWithRawResponse.__init__NrF   rG   rH   rO   r   r   r   r   r      s   r   c                   @  s   e Zd ZdddddZdS )rI   r   r>   rK   c                 C  s.   || _ t|j| _t|j| _t|j| _d S r   )rM   r   r7   r=   rD   rN   r   r   r   rO      s    z#AsyncModelsWithRawResponse.__init__NrP   r   r   r   r   rI      s   rI   c                   @  s   e Zd ZdddddZdS )r   r   r>   rK   c                 C  s.   || _ t|j| _t|j| _t|j| _d S r   )rM   r   r7   r=   rD   rN   r   r   r   rO      s    z$ModelsWithStreamingResponse.__init__NrP   r   r   r   r   r      s   r   c                   @  s   e Zd ZdddddZdS )rJ   r   r>   rK   c                 C  s.   || _ t|j| _t|j| _t|j| _d S r   )rM   r   r7   r=   rD   rN   r   r   r   rO     s    z)AsyncModelsWithStreamingResponse.__init__NrP   r   r   r   r   rJ     s   rJ   ) 
__future__r   httpxtypesr   r   _typesr   r   r   r	   r
   r   _compatr   	_resourcer   r   	_responser   r   r   r   _base_clientr   __all__r   r   r   rI   r   rJ   r   r   r   r   <module>   s    ``