U
    &Jj)                     @  s   d dl mZ d dlZddl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	lmZ dd
l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   )BodyQueryHeadersNotGiven	not_given)cached_property)SyncAPIResourceAsyncAPIResource)to_raw_response_wrapperto_streamed_response_wrapperasync_to_raw_response_wrapper"async_to_streamed_response_wrapper)Model)make_request_options)ModelDeleted)ModelListResponse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 a  
        This property can be used as a prefix for any HTTP method call to return
        the raw response object instead of the parsed content.

        For more information, see https://www.github.com/groq/groq-python#accessing-raw-response-data-eg-headers
        )r   self r   v/var/www/api.dyntland.com/public_html/python_social_comments/venv/lib/python3.8/site-packages/groq/resources/models.pywith_raw_response   s    zModels.with_raw_responseModelsWithStreamingResponsec                 C  s   t | S z
        An alternative to `.with_raw_response` that doesn't eagerly read the response body.

        For more information, see https://www.github.com/groq/groq-python#with_streaming_response
        )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"   optionsZ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"   r1   r5   r   r   r   r#   r$   r%   r&   r   r   r   listM   s       zModels.listr   c                C  s4   |st d|| 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/   r0   r"   r1   r4   _deleter   r   r6   r   r   r   delete`   s       zModels.delete
__name__
__module____qualname__r	   r   r!   r   r7   r=   rA   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   )rF   r   r   r   r   r      s    zAsyncModels.with_raw_response AsyncModelsWithStreamingResponsec                 C  s   t | S r    )rG   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/   r0   r"   r1   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"   r1   Nr;   r<   r   r   r   r=      s       zAsyncModels.listr   c                  s:   |st d|| jd| t||||dtdI dH S )r>   r/   r0   r"   r1   Nr?   r6   r   r   r   rA      s       zAsyncModels.deleterB   r   r   r   r   r      s&   	&c                   @  s   e Zd ZdddddZdS )r   r   Nonemodelsr   c                 C  s.   || _ t|j| _t|j| _t|j| _d S N)_modelsr   r7   r=   rA   r   rJ   r   r   r   __init__   s    zModelsWithRawResponse.__init__NrC   rD   rE   rN   r   r   r   r   r      s   r   c                   @  s   e Zd ZdddddZdS )rF   r   rH   rI   c                 C  s.   || _ t|j| _t|j| _t|j| _d S rK   )rL   r   r7   r=   rA   rM   r   r   r   rN      s    z#AsyncModelsWithRawResponse.__init__NrO   r   r   r   r   rF      s   rF   c                   @  s   e Zd ZdddddZdS )r   r   rH   rI   c                 C  s.   || _ t|j| _t|j| _t|j| _d S rK   )rL   r   r7   r=   rA   rM   r   r   r   rN     s    z$ModelsWithStreamingResponse.__init__NrO   r   r   r   r   r   
  s   r   c                   @  s   e Zd ZdddddZdS )rG   r   rH   rI   c                 C  s.   || _ t|j| _t|j| _t|j| _d S rK   )rL   r   r7   r=   rA   rM   r   r   r   rN     s    z)AsyncModelsWithStreamingResponse.__init__NrO   r   r   r   r   rG     s   rG   )"
__future__r   Zhttpx_typesr   r   r   r   r   Z_compatr	   Z	_resourcer
   r   	_responser   r   r   r   Ztypes.modelr   Z_base_clientr   Ztypes.model_deletedr   Ztypes.model_list_responser   __all__r   r   r   rF   r   rG   r   r   r   r   <module>   s    jj