U
    	fG                     @  s8  d dl 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ZddlmZmZmZmZmZ ddl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m Z  ddl!m"Z"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 )    )annotations)DictListUnionIterableOptionaloverload)LiteralN   )	NOT_GIVENBodyQueryHeadersNotGiven)maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_raw_response_wrapperto_streamed_response_wrapperasync_to_raw_response_wrapper"async_to_streamed_response_wrapper)StreamAsyncStream)ChatCompletioncompletion_create_params)make_request_options)ChatCompletionChunkCompletionsAsyncCompletionsc                   @  s  e Zd ZeddddZeddddZeeeeeeeeeeeeeeeeeddded	d
dddddddddddddddddddddddddZeeeeeeeeeeeeeeeedddedd
dddddddddddddddddddddd dd!dZeeeeeeeeeeeeeeeedddedd
ddddddddddd"ddddddddddd#dd$dZeeeeeeeeeeeeeeeeddded	d
ddddddddddd%ddddddddddd#dd&dZdS )'r   CompletionsWithRawResponsereturnc                 C  s   t | S N)r    self r&   b/var/www/html/apigroqsegura/apigroq/lib/python3.8/site-packages/groq/resources/chat/completions.pywith_raw_response   s    zCompletions.with_raw_response CompletionsWithStreamingResponsec                 C  s   t | S r#   )r)   r$   r&   r&   r'   with_streaming_response#   s    z#Completions.with_streaming_responseNfrequency_penalty
logit_biaslogprobs
max_tokensnpresence_penaltyresponse_formatseedstopstreamtemperaturetool_choicetoolstop_logprobstop_puserextra_headersextra_query
extra_bodytimeout*Iterable[completion_create_params.Message]strfloat | NotGivenDict[str, int] | NotGivenbool | NotGivenint | NotGiven2completion_create_params.ResponseFormat | NotGiven0Union[Optional[str], List[str], None] | NotGiven#Optional[Literal[False]] | NotGiven.completion_create_params.ToolChoice | NotGiven2Iterable[completion_create_params.Tool] | NotGivenstr | NotGivenHeaders | NoneQuery | NoneBody | None'float | httpx.Timeout | None | NotGivenr   messagesmodelr,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r"   c                C  s   d S r#   r&   r%   rQ   rR   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r&   r&   r'   create'   s    zCompletions.creater,   r-   r.   r/   r0   r1   r2   r3   r4   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   Literal[True]zStream[ChatCompletionChunk]c                C  s   d S r#   r&   rS   r&   r&   r'   rT   F   s    boolz,ChatCompletion | Stream[ChatCompletionChunk]c                C  s   d S r#   r&   rS   r&   r&   r'   rT   e   s    3Optional[Literal[False]] | Literal[True] | NotGivenc                C  sX   | j dt|||||||||	|
||||||||dtjt||||dt|pLdtt dS )  
        Creates a completion for a chat prompt

        Args:
          stop: Up to 4 sequences where the API will stop generating further tokens. The
              returned text will not contain the stop sequence.

          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
        /openai/v1/chat/completionsrQ   rR   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   FbodyoptionsZcast_tor5   Z
stream_cls)_postr   r   CompletionCreateParamsr   r   r   r   rS   r&   r&   r'   rT      sD    +   	__name__
__module____qualname__r   r(   r*   r   r   rT   r&   r&   r&   r'   r      s   @@@#c                   @  s  e Zd ZeddddZeddddZeeeeeeeeeeeeeeeeeddded	d
dddddddddddddddddddddddddZeeeeeeeeeeeeeeeedddedd
dddddddddddddddddddddd dd!dZeeeeeeeeeeeeeeeedddedd
ddddddddddd"ddddddddddd#dd$dZeeeeeeeeeeeeeeeeddded	d
ddddddddddd%ddddddddddd#dd&dZdS )'r   AsyncCompletionsWithRawResponser!   c                 C  s   t | S r#   )rf   r$   r&   r&   r'   r(      s    z"AsyncCompletions.with_raw_response%AsyncCompletionsWithStreamingResponsec                 C  s   t | S r#   )rg   r$   r&   r&   r'   r*      s    z(AsyncCompletions.with_streaming_responseNr+   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   r   rP   c                  s   d S r#   r&   rS   r&   r&   r'   rT      s    zAsyncCompletions.createrU   rV   z AsyncStream[ChatCompletionChunk]c                  s   d S r#   r&   rS   r&   r&   r'   rT      s    rW   z1ChatCompletion | AsyncStream[ChatCompletionChunk]c                  s   d S r#   r&   rS   r&   r&   r'   rT     s    rX   c                  s^   | j dt|||||||||	|
||||||||dtjt||||dt|pLdtt dI dH S )rY   rZ   r[   r\   Fr]   N)r`   r   r   ra   r   r   r   r   rS   r&   r&   r'   rT   7  sD    +   rb   r&   r&   r&   r'   r      s   @@@#c                   @  s   e Zd ZdddddZdS )r    r   Nonecompletionsr"   c                 C  s   || _ t|j| _d S r#   )_completionsr   rT   r%   rj   r&   r&   r'   __init__  s    z#CompletionsWithRawResponse.__init__Nrc   rd   re   rm   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| _d S r#   )rk   r   rT   rl   r&   r&   r'   rm     s    z(AsyncCompletionsWithRawResponse.__init__Nrn   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| _d S r#   )rk   r   rT   rl   r&   r&   r'   rm     s    z)CompletionsWithStreamingResponse.__init__Nrn   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| _d S r#   )rk   r   rT   rl   r&   r&   r'   rm     s    z.AsyncCompletionsWithStreamingResponse.__init__Nrn   r&   r&   r&   r'   rg     s   rg   )/
__future__r   typingr   r   r   r   r   r   typing_extensionsr	   httpx_typesr   r   r   r   r   _utilsr   _compatr   	_resourcer   r   	_responser   r   r   r   
_streamingr   r   Z
types.chatr   r   _base_clientr   Zlib.chat_completion_chunkr   __all__r   r   r    rf   r)   rg   r&   r&   r&   r'   <module>   s*     4 4			