§
    ÒÁ³g<è  ã                  ó–  — d dl 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ZddlmZ ddlmZ ddlmZmZmZmZmZ dd	l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! ddl"m#Z#m$Z$ ddl%m&Z& ddl'm(Z( ddl)m*Z* ddgZ+ G d„ de¦  «        Z, G d„ de¦  «        Z- G d„ d¦  «        Z. G d„ d¦  «        Z/ G d„ d¦  «        Z0 G d„ d¦  «        Z1dS )é    )Úannotations)ÚDictÚListÚUnionÚIterableÚOptional)ÚLiteralÚoverloadNé   )Ú_legacy_response)Úcompletion_create_params)Ú	NOT_GIVENÚBodyÚQueryÚHeadersÚNotGiven)Úrequired_argsÚmaybe_transformÚasync_maybe_transform)Úcached_property)ÚSyncAPIResourceÚAsyncAPIResource)Úto_streamed_response_wrapperÚ"async_to_streamed_response_wrapper)ÚStreamÚAsyncStream)Úmake_request_options)Ú
Completion)Ú ChatCompletionStreamOptionsParamÚCompletionsÚAsyncCompletionsc                  óf  — e Zd Zed9d„¦   «         Ze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.„¦   «         Zeeeeeeeeeeeeeeeeddded/œd<d2„¦   «         Zeeeeeeeeeeeeeeeeddded/œd=d5„¦   «         Z e	dd
gg d6¢¦  «        eeeeeeeeeeeeeeeedddedœd>d8„¦   «         ZdS )?r    ÚreturnÚCompletionsWithRawResponsec                ó    — 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/openai/openai-python#accessing-raw-response-data-eg-headers
        )r$   ©Úselfs    úZ/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/openai/resources/completions.pyÚwith_raw_responsezCompletions.with_raw_response    s   € õ *¨$Ñ/Ô/Ð/ó    Ú CompletionsWithStreamingResponsec                ó    — 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/openai/openai-python#with_streaming_response
        )r,   r'   s    r)   Úwith_streaming_responsez#Completions.with_streaming_response*   s   € õ 0°Ñ5Ô5Ð5r+   N©Úbest_ofÚechoÚfrequency_penaltyÚ
logit_biasÚlogprobsÚ
max_tokensÚnÚpresence_penaltyÚseedÚstopÚstreamÚstream_optionsÚsuffixÚtemperatureÚtop_pÚuserÚextra_headersÚextra_queryÚ
extra_bodyÚtimeoutÚmodelúKUnion[str, Literal['gpt-3.5-turbo-instruct', 'davinci-002', 'babbage-002']]ÚpromptúCUnion[str, List[str], Iterable[int], Iterable[Iterable[int]], None]r1   úOptional[int] | NotGivenr2   úOptional[bool] | NotGivenr3   úOptional[float] | NotGivenr4   ú#Optional[Dict[str, int]] | NotGivenr5   r6   r7   r8   r9   r:   ú0Union[Optional[str], List[str], None] | NotGivenr;   ú#Optional[Literal[False]] | NotGivenr<   ú5Optional[ChatCompletionStreamOptionsParam] | NotGivenr=   úOptional[str] | NotGivenr>   r?   r@   ústr | NotGivenrA   úHeaders | NonerB   úQuery | NonerC   úBody | NonerD   ú'float | httpx.Timeout | None | NotGivenr   c               ó   — dS ©uå  
        Creates a completion for the provided prompt and parameters.

        Args:
          model: ID of the model to use. You can use the
              [List models](https://platform.openai.com/docs/api-reference/models/list) API to
              see all of your available models, or see our
              [Model overview](https://platform.openai.com/docs/models) for descriptions of
              them.

          prompt: The prompt(s) to generate completions for, encoded as a string, array of
              strings, array of tokens, or array of token arrays.

              Note that <|endoftext|> is the document separator that the model sees during
              training, so if a prompt is not specified the model will generate as if from the
              beginning of a new document.

          best_of: Generates `best_of` completions server-side and returns the "best" (the one with
              the highest log probability per token). Results cannot be streamed.

              When used with `n`, `best_of` controls the number of candidate completions and
              `n` specifies how many to return â€“ `best_of` must be greater than `n`.

              **Note:** Because this parameter generates many completions, it can quickly
              consume your token quota. Use carefully and ensure that you have reasonable
              settings for `max_tokens` and `stop`.

          echo: Echo back the prompt in addition to the completion

          frequency_penalty: Number between -2.0 and 2.0. Positive values penalize new tokens based on their
              existing frequency in the text so far, decreasing the model's likelihood to
              repeat the same line verbatim.

              [See more information about frequency and presence penalties.](https://platform.openai.com/docs/guides/text-generation)

          logit_bias: Modify the likelihood of specified tokens appearing in the completion.

              Accepts a JSON object that maps tokens (specified by their token ID in the GPT
              tokenizer) to an associated bias value from -100 to 100. You can use this
              [tokenizer tool](/tokenizer?view=bpe) to convert text to token IDs.
              Mathematically, the bias is added to the logits generated by the model prior to
              sampling. The exact effect will vary per model, but values between -1 and 1
              should decrease or increase likelihood of selection; values like -100 or 100
              should result in a ban or exclusive selection of the relevant token.

              As an example, you can pass `{"50256": -100}` to prevent the <|endoftext|> token
              from being generated.

          logprobs: Include the log probabilities on the `logprobs` most likely output tokens, as
              well the chosen tokens. For example, if `logprobs` is 5, the API will return a
              list of the 5 most likely tokens. The API will always return the `logprob` of
              the sampled token, so there may be up to `logprobs+1` elements in the response.

              The maximum value for `logprobs` is 5.

          max_tokens: The maximum number of [tokens](/tokenizer) that can be generated in the
              completion.

              The token count of your prompt plus `max_tokens` cannot exceed the model's
              context length.
              [Example Python code](https://cookbook.openai.com/examples/how_to_count_tokens_with_tiktoken)
              for counting tokens.

          n: How many completions to generate for each prompt.

              **Note:** Because this parameter generates many completions, it can quickly
              consume your token quota. Use carefully and ensure that you have reasonable
              settings for `max_tokens` and `stop`.

          presence_penalty: Number between -2.0 and 2.0. Positive values penalize new tokens based on
              whether they appear in the text so far, increasing the model's likelihood to
              talk about new topics.

              [See more information about frequency and presence penalties.](https://platform.openai.com/docs/guides/text-generation)

          seed: If specified, our system will make a best effort to sample deterministically,
              such that repeated requests with the same `seed` and parameters should return
              the same result.

              Determinism is not guaranteed, and you should refer to the `system_fingerprint`
              response parameter to monitor changes in the backend.

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

          stream: Whether to stream back partial progress. If set, tokens will be sent as
              data-only
              [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format)
              as they become available, with the stream terminated by a `data: [DONE]`
              message.
              [Example Python code](https://cookbook.openai.com/examples/how_to_stream_completions).

          stream_options: Options for streaming response. Only set this when you set `stream: true`.

          suffix: The suffix that comes after a completion of inserted text.

              This parameter is only supported for `gpt-3.5-turbo-instruct`.

          temperature: What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
              make the output more random, while lower values like 0.2 will make it more
              focused and deterministic.

              We generally recommend altering this or `top_p` but not both.

          top_p: An alternative to sampling with temperature, called nucleus sampling, where the
              model considers the results of the tokens with top_p probability mass. So 0.1
              means only the tokens comprising the top 10% probability mass are considered.

              We generally recommend altering this or `temperature` but not both.

          user: A unique identifier representing your end-user, which can help OpenAI to monitor
              and detect abuse.
              [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#end-user-ids).

          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
        N© ©r(   rE   rG   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   s                          r)   ÚcreatezCompletions.create3   ó
   € ðn 	ˆr+   ©r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r<   r=   r>   r?   r@   rA   rB   rC   rD   úLiteral[True]úStream[Completion]c               ó   — dS ©uå  
        Creates a completion for the provided prompt and parameters.

        Args:
          model: ID of the model to use. You can use the
              [List models](https://platform.openai.com/docs/api-reference/models/list) API to
              see all of your available models, or see our
              [Model overview](https://platform.openai.com/docs/models) for descriptions of
              them.

          prompt: The prompt(s) to generate completions for, encoded as a string, array of
              strings, array of tokens, or array of token arrays.

              Note that <|endoftext|> is the document separator that the model sees during
              training, so if a prompt is not specified the model will generate as if from the
              beginning of a new document.

          stream: Whether to stream back partial progress. If set, tokens will be sent as
              data-only
              [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format)
              as they become available, with the stream terminated by a `data: [DONE]`
              message.
              [Example Python code](https://cookbook.openai.com/examples/how_to_stream_completions).

          best_of: Generates `best_of` completions server-side and returns the "best" (the one with
              the highest log probability per token). Results cannot be streamed.

              When used with `n`, `best_of` controls the number of candidate completions and
              `n` specifies how many to return â€“ `best_of` must be greater than `n`.

              **Note:** Because this parameter generates many completions, it can quickly
              consume your token quota. Use carefully and ensure that you have reasonable
              settings for `max_tokens` and `stop`.

          echo: Echo back the prompt in addition to the completion

          frequency_penalty: Number between -2.0 and 2.0. Positive values penalize new tokens based on their
              existing frequency in the text so far, decreasing the model's likelihood to
              repeat the same line verbatim.

              [See more information about frequency and presence penalties.](https://platform.openai.com/docs/guides/text-generation)

          logit_bias: Modify the likelihood of specified tokens appearing in the completion.

              Accepts a JSON object that maps tokens (specified by their token ID in the GPT
              tokenizer) to an associated bias value from -100 to 100. You can use this
              [tokenizer tool](/tokenizer?view=bpe) to convert text to token IDs.
              Mathematically, the bias is added to the logits generated by the model prior to
              sampling. The exact effect will vary per model, but values between -1 and 1
              should decrease or increase likelihood of selection; values like -100 or 100
              should result in a ban or exclusive selection of the relevant token.

              As an example, you can pass `{"50256": -100}` to prevent the <|endoftext|> token
              from being generated.

          logprobs: Include the log probabilities on the `logprobs` most likely output tokens, as
              well the chosen tokens. For example, if `logprobs` is 5, the API will return a
              list of the 5 most likely tokens. The API will always return the `logprob` of
              the sampled token, so there may be up to `logprobs+1` elements in the response.

              The maximum value for `logprobs` is 5.

          max_tokens: The maximum number of [tokens](/tokenizer) that can be generated in the
              completion.

              The token count of your prompt plus `max_tokens` cannot exceed the model's
              context length.
              [Example Python code](https://cookbook.openai.com/examples/how_to_count_tokens_with_tiktoken)
              for counting tokens.

          n: How many completions to generate for each prompt.

              **Note:** Because this parameter generates many completions, it can quickly
              consume your token quota. Use carefully and ensure that you have reasonable
              settings for `max_tokens` and `stop`.

          presence_penalty: Number between -2.0 and 2.0. Positive values penalize new tokens based on
              whether they appear in the text so far, increasing the model's likelihood to
              talk about new topics.

              [See more information about frequency and presence penalties.](https://platform.openai.com/docs/guides/text-generation)

          seed: If specified, our system will make a best effort to sample deterministically,
              such that repeated requests with the same `seed` and parameters should return
              the same result.

              Determinism is not guaranteed, and you should refer to the `system_fingerprint`
              response parameter to monitor changes in the backend.

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

          stream_options: Options for streaming response. Only set this when you set `stream: true`.

          suffix: The suffix that comes after a completion of inserted text.

              This parameter is only supported for `gpt-3.5-turbo-instruct`.

          temperature: What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
              make the output more random, while lower values like 0.2 will make it more
              focused and deterministic.

              We generally recommend altering this or `top_p` but not both.

          top_p: An alternative to sampling with temperature, called nucleus sampling, where the
              model considers the results of the tokens with top_p probability mass. So 0.1
              means only the tokens comprising the top 10% probability mass are considered.

              We generally recommend altering this or `temperature` but not both.

          user: A unique identifier representing your end-user, which can help OpenAI to monitor
              and detect abuse.
              [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#end-user-ids).

          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
        NrX   ©r(   rE   rG   r;   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r<   r=   r>   r?   r@   rA   rB   rC   rD   s                          r)   rZ   zCompletions.createÌ   r[   r+   ÚboolúCompletion | Stream[Completion]c               ó   — dS r`   rX   ra   s                          r)   rZ   zCompletions.createe  r[   r+   ©rE   rG   r;   ú3Optional[Literal[False]] | Literal[True] | NotGivenc          
     ó&  — |                       dt          i d|“d|“d|“d|“d|“d|“d|“d	|“d
|	“d|
“d|“d|“d|“d|“d|“d|“d|“d|i¥t          j        ¦  «        t	          ||||¬¦  «        t
          |pdt          t
                   ¬¦  «        S ©Nz/completionsrE   rG   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   )rA   rB   rC   rD   F)ÚbodyÚoptionsÚcast_tor;   Ú
stream_cls)Ú_postr   r   ÚCompletionCreateParamsr   r   r   rY   s                          r)   rZ   zCompletions.createþ  sJ  € ð: �zŠzØÝ ðØ˜Uðà˜fðð ˜wðð ˜Dð	ð
 (Ð):ðð ! *ðð  ðð ! *ðð ˜ðð 'Ð(8ðð ˜Dðð ˜Dðð ˜fðð % nðð ˜fðð  " ;ð!ð" ˜Uð#ð$ ˜Dð%ð õ( )Ô?ñ+ô õ. )Ø+¸ÐQ[Ðelðñ ô õ Ø�?˜UÝ�jÔ)ð= ñ 
ô 
ð 	
r+   )r#   r$   )r#   r,   ©.rE   rF   rG   rH   r1   rI   r2   rJ   r3   rK   r4   rL   r5   rI   r6   rI   r7   rI   r8   rK   r9   rI   r:   rM   r;   rN   r<   rO   r=   rP   r>   rK   r?   rK   r@   rQ   rA   rR   rB   rS   rC   rT   rD   rU   r#   r   ).rE   rF   rG   rH   r;   r]   r1   rI   r2   rJ   r3   rK   r4   rL   r5   rI   r6   rI   r7   rI   r8   rK   r9   rI   r:   rM   r<   rO   r=   rP   r>   rK   r?   rK   r@   rQ   rA   rR   rB   rS   rC   rT   rD   rU   r#   r^   ).rE   rF   rG   rH   r;   rb   r1   rI   r2   rJ   r3   rK   r4   rL   r5   rI   r6   rI   r7   rI   r8   rK   r9   rI   r:   rM   r<   rO   r=   rP   r>   rK   r?   rK   r@   rQ   rA   rR   rB   rS   rC   rT   rD   rU   r#   rc   ).rE   rF   rG   rH   r1   rI   r2   rJ   r3   rK   r4   rL   r5   rI   r6   rI   r7   rI   r8   rK   r9   rI   r:   rM   r;   rf   r<   rO   r=   rP   r>   rK   r?   rK   r@   rQ   rA   rR   rB   rS   rC   rT   rD   rU   r#   rc   ©
Ú__name__Ú
__module__Ú__qualname__r   r*   r/   r
   r   rZ   r   rX   r+   r)   r    r       s#  € € € € € Øð0ð 0ð 0ñ „_ð0ð ð6ð 6ð 6ñ „_ð6ð ð -6Ø*3Ø8AØ:CØ-6Ø/8Ø&/Ø7@Ø)2ØAJØ6?ØPYØ+4Ø2;Ø,5Ø(ð )-Ø$(Ø"&Ø;Dð5Vð Vð Vð Vð Vñ „XðVðp ð -6Ø*3Ø8AØ:CØ-6Ø/8Ø&/Ø7@Ø)2ØAJØPYØ+4Ø2;Ø,5Ø(ð )-Ø$(Ø"&Ø;Dð5Vð Vð Vð Vð Vñ „XðVðp ð -6Ø*3Ø8AØ:CØ-6Ø/8Ø&/Ø7@Ø)2ØAJØPYØ+4Ø2;Ø,5Ø(ð )-Ø$(Ø"&Ø;Dð5Vð Vð Vð Vð Vñ „XðVðp €]�G˜XÐ&Ð(EÐ(EÐ(EÑFÔFð -6Ø*3Ø8AØ:CØ-6Ø/8Ø&/Ø7@Ø)2ØAJØFOØPYØ+4Ø2;Ø,5Ø(ð )-Ø$(Ø"&Ø;Dð5;
ð ;
ð ;
ð ;
ð ;
ñ GÔFð;
ð ;
ð ;
r+   c                  óf  — e Zd Zed9d„¦   «         Ze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.„¦   «         Zeeeeeeeeeeeeeeeeddded/œd<d2„¦   «         Zeeeeeeeeeeeeeeeeddded/œd=d5„¦   «         Z e	dd
gg d6¢¦  «        eeeeeeeeeeeeeeeedddedœd>d8„¦   «         ZdS )?r!   r#   ÚAsyncCompletionsWithRawResponsec                ó    — t          | ¦  «        S r&   )ru   r'   s    r)   r*   z"AsyncCompletions.with_raw_response>  s   € õ /¨tÑ4Ô4Ð4r+   Ú%AsyncCompletionsWithStreamingResponsec                ó    — t          | ¦  «        S r.   )rw   r'   s    r)   r/   z(AsyncCompletions.with_streaming_responseH  s   € õ 5°TÑ:Ô:Ð:r+   Nr0   rE   rF   rG   rH   r1   rI   r2   rJ   r3   rK   r4   rL   r5   r6   r7   r8   r9   r:   rM   r;   rN   r<   rO   r=   rP   r>   r?   r@   rQ   rA   rR   rB   rS   rC   rT   rD   rU   r   c             ƒ  ó
   K  — dS rW   rX   rY   s                          r)   rZ   zAsyncCompletions.createQ  ó   è è € ðn 	ˆr+   r\   r]   úAsyncStream[Completion]c             ƒ  ó
   K  — dS r`   rX   ra   s                          r)   rZ   zAsyncCompletions.createê  rz   r+   rb   ú$Completion | AsyncStream[Completion]c             ƒ  ó
   K  — dS r`   rX   ra   s                          r)   rZ   zAsyncCompletions.createƒ  rz   r+   re   rf   c          
   ƒ  óB  K  — |                       dt          i d|“d|“d|“d|“d|“d|“d|“d	|“d
|	“d|
“d|“d|“d|“d|“d|“d|“d|“d|i¥t          j        ¦  «        ƒ d {V —†t	          ||||¬¦  «        t
          |pdt          t
                   ¬¦  «        ƒ d {V —†S rh   )rm   r   r   rn   r   r   r   rY   s                          r)   rZ   zAsyncCompletions.create  sŠ  è è € ð: —Z’ZØÝ,ðØ˜Uðà˜fðð ˜wðð ˜Dð	ð
 (Ð):ðð ! *ðð  ðð ! *ðð ˜ðð 'Ð(8ðð ˜Dðð ˜Dðð ˜fðð % nðð ˜fðð  " ;ð!ð" ˜Uð#ð$ ˜Dð%ð õ( )Ô?ñ+ô ð ð ð ð ð ð õ. )Ø+¸ÐQ[Ðelðñ ô õ Ø�?˜UÝ"¥:Ô.ð=  ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
r+   )r#   ru   )r#   rw   ro   ).rE   rF   rG   rH   r;   r]   r1   rI   r2   rJ   r3   rK   r4   rL   r5   rI   r6   rI   r7   rI   r8   rK   r9   rI   r:   rM   r<   rO   r=   rP   r>   rK   r?   rK   r@   rQ   rA   rR   rB   rS   rC   rT   rD   rU   r#   r{   ).rE   rF   rG   rH   r;   rb   r1   rI   r2   rJ   r3   rK   r4   rL   r5   rI   r6   rI   r7   rI   r8   rK   r9   rI   r:   rM   r<   rO   r=   rP   r>   rK   r?   rK   r@   rQ   rA   rR   rB   rS   rC   rT   rD   rU   r#   r}   ).rE   rF   rG   rH   r1   rI   r2   rJ   r3   rK   r4   rL   r5   rI   r6   rI   r7   rI   r8   rK   r9   rI   r:   rM   r;   rf   r<   rO   r=   rP   r>   rK   r?   rK   r@   rQ   rA   rR   rB   rS   rC   rT   rD   rU   r#   r}   rp   rX   r+   r)   r!   r!   =  s#  € € € € € Øð5ð 5ð 5ñ „_ð5ð ð;ð ;ð ;ñ „_ð;ð ð -6Ø*3Ø8AØ:CØ-6Ø/8Ø&/Ø7@Ø)2ØAJØ6?ØPYØ+4Ø2;Ø,5Ø(ð )-Ø$(Ø"&Ø;Dð5Vð Vð Vð Vð Vñ „XðVðp ð -6Ø*3Ø8AØ:CØ-6Ø/8Ø&/Ø7@Ø)2ØAJØPYØ+4Ø2;Ø,5Ø(ð )-Ø$(Ø"&Ø;Dð5Vð Vð Vð Vð Vñ „XðVðp ð -6Ø*3Ø8AØ:CØ-6Ø/8Ø&/Ø7@Ø)2ØAJØPYØ+4Ø2;Ø,5Ø(ð )-Ø$(Ø"&Ø;Dð5Vð Vð Vð Vð Vñ „XðVðp €]�G˜XÐ&Ð(EÐ(EÐ(EÑFÔFð -6Ø*3Ø8AØ:CØ-6Ø/8Ø&/Ø7@Ø)2ØAJØFOØPYØ+4Ø2;Ø,5Ø(ð )-Ø$(Ø"&Ø;Dð5;
ð ;
ð ;
ð ;
ð ;
ñ GÔFð;
ð ;
ð ;
r+   c                  ó   — e Zd Zdd„ZdS )r$   Úcompletionsr    r#   ÚNonec                óP   — || _         t          j        |j        ¦  «        | _        d S ©N)Ú_completionsr   Úto_raw_response_wrapperrZ   ©r(   r�   s     r)   Ú__init__z#CompletionsWithRawResponse.__init__\  s(   € Ø'ˆÔå&Ô>ØÔñ
ô 
ˆŒˆˆr+   N©r�   r    r#   r‚   ©rq   rr   rs   rˆ   rX   r+   r)   r$   r$   [  ó(   € € € € € ð
ð 
ð 
ð 
ð 
ð 
r+   r$   c                  ó   — e Zd Zdd„ZdS )ru   r�   r!   r#   r‚   c                óP   — || _         t          j        |j        ¦  «        | _        d S r„   )r…   r   Úasync_to_raw_response_wrapperrZ   r‡   s     r)   rˆ   z(AsyncCompletionsWithRawResponse.__init__e  s(   € Ø'ˆÔå&ÔDØÔñ
ô 
ˆŒˆˆr+   N©r�   r!   r#   r‚   rŠ   rX   r+   r)   ru   ru   d  r‹   r+   ru   c                  ó   — e Zd Zdd„ZdS )r,   r�   r    r#   r‚   c                óF   — || _         t          |j        ¦  «        | _        d S r„   )r…   r   rZ   r‡   s     r)   rˆ   z)CompletionsWithStreamingResponse.__init__n  s%   € Ø'ˆÔå2ØÔñ
ô 
ˆŒˆˆr+   Nr‰   rŠ   rX   r+   r)   r,   r,   m  r‹   r+   r,   c                  ó   — e Zd Zdd„ZdS )rw   r�   r!   r#   r‚   c                óF   — || _         t          |j        ¦  «        | _        d S r„   )r…   r   rZ   r‡   s     r)   rˆ   z.AsyncCompletionsWithStreamingResponse.__init__w  s%   € Ø'ˆÔå8ØÔñ
ô 
ˆŒˆˆr+   Nr�   rŠ   rX   r+   r)   rw   rw   v  r‹   r+   rw   )2Ú
__future__r   Útypingr   r   r   r   r   Útyping_extensionsr	   r
   ÚhttpxÚ r   Útypesr   Ú_typesr   r   r   r   r   Ú_utilsr   r   r   Ú_compatr   Ú	_resourcer   r   Ú	_responser   r   Ú
_streamingr   r   Ú_base_clientr   Útypes.completionr   Ú/types.chat.chat_completion_stream_options_paramr   Ú__all__r    r!   r$   ru   r,   rw   rX   r+   r)   ú<module>r¤      s   ðð #Ð "Ð "Ð "Ð "Ð "à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à €€€à Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ðð ð ð ð ð ð ð ð ð ð
 &Ð %Ð %Ð %Ð %Ð %Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð ð ð ð *Ð )Ð )Ð )Ð )Ð )Ø ^Ð ^Ð ^Ð ^Ð ^Ð ^àÐ,Ð
-€ð[
ð [
ð [
ð [
ð [
�/ñ [
ô [
ð [
ð|[
ð [
ð [
ð [
ð [
Ð'ñ [
ô [
ð [
ð|
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ð
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ð
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ð
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
r+   