HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/openai/resources/__pycache__/completions.cpython-310.pyc
o

���g<��@sLddlmZddlmZmZmZmZmZddlm	Z	m
Z
ddlZddlm
Z
ddlmZddlmZmZmZmZmZdd	lmZmZmZdd
lmZddlmZmZddlm Z m!Z!dd
l"m#Z#m$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*ddgZ+Gdd�de�Z,Gdd�de�Z-Gdd�d�Z.Gdd�d�Z/Gdd�d�Z0Gdd�d�Z1dS)�)�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@�eZdZed<dd��Zed=dd��Zeeeeeeeeeeeeeeeeeddded	�d>d0d1��Zeeeeeeeeeeeeeeeeddded2�d?d5d1��Zeeeeeeeeeeeeeeeeddded2�d@d8d1��Ze	d
dggd9��eeeeeeeeeeeeeeeeddded	�dAd;d1��ZdS)Br�return�CompletionsWithRawResponsecC�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#��self�r(�G/usr/local/lib/python3.10/dist-packages/openai/resources/completions.py�with_raw_response �zCompletions.with_raw_response� CompletionsWithStreamingResponsecCr$�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&r(r(r)�with_streaming_response*�z#Completions.with_streaming_responseN��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]] | NotGivenr5r6r7r8r9r:�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 | NotGivenrcC�dS�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
        Nr(�r'rErGr1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDr(r(r)�create3�zCompletions.create�r1r2r3r4r5r6r7r8r9r:r<r=r>r?r@rArBrCrD�
Literal[True]�Stream[Completion]cCrV�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
        Nr(�r'rErGr;r1r2r3r4r5r6r7r8r9r:r<r=r>r?r@rArBrCrDr(r(r)rY�rZ�bool�Completion | Stream[Completion]cCrVr^r(r_r(r(r)rYerZ�rErGr;�3Optional[Literal[False]] | Literal[True] | NotGivenc	Cs�|jdtid|�d|�d|�d|�d|�d|�d|�d	|�d
|	�d|
�d|�d
|�d|
�d|�d|�d|�d|�d|i�tj�t||||d�t|
pJdttd�S�Nz/completionsrErGr1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@)rArBrCrDF)�body�options�cast_tor;�
stream_cls)�_postrr�CompletionCreateParamsrrrrXr(r(r)rY�sb��������	�
���
���������)r"r#)r"r,�.rErFrGrHr1rIr2rJr3rKr4rLr5rIr6rIr7rIr8rKr9rIr:rMr;rNr<rOr=rPr>rKr?rKr@rQrArRrBrSrCrTrDrUr"r).rErFrGrHr;r\r1rIr2rJr3rKr4rLr5rIr6rIr7rIr8rKr9rIr:rMr<rOr=rPr>rKr?rKr@rQrArRrBrSrCrTrDrUr"r]).rErFrGrHr;r`r1rIr2rJr3rKr4rLr5rIr6rIr7rIr8rKr9rIr:rMr<rOr=rPr>rKr?rKr@rQrArRrBrSrCrTrDrUr"ra).rErFrGrHr1rIr2rJr3rKr4rLr5rIr6rIr7rIr8rKr9rIr:rMr;rcr<rOr=rPr>rKr?rKr@rQrArRrBrSrCrTrDrUr"ra�
�__name__�
__module__�__qualname__rr*r.r	r
rYrr(r(r(r)r�	����c@r!)Br r"�AsyncCompletionsWithRawResponsecCr$r%)rqr&r(r(r)r*>r+z"AsyncCompletions.with_raw_response�%AsyncCompletionsWithStreamingResponsecCr$r-)rrr&r(r(r)r.Hr/z(AsyncCompletions.with_streaming_responseNr0rErFrGrHr1rIr2rJr3rKr4rLr5r6r7r8r9r:rMr;rNr<rOr=rPr>r?r@rQrArRrBrSrCrTrDrUrc���dSrWr(rXr(r(r)rYQ��zAsyncCompletions.creater[r\�AsyncStream[Completion]c�rsr^r(r_r(r(r)rY�rtr`�$Completion | AsyncStream[Completion]c�rsr^r(r_r(r(r)rY�rtrbrcc	�s��|jdtid|�d|�d|�d|�d|�d|�d|�d	|�d
|	�d|
�d|�d
|�d|
�d|�d|�d|�d|�d|i�tj�IdHt||||d�t|
pNdttd�IdHSrd)rirrrjrrrrXr(r(r)rYsd���������	�
���
���������)r"rq)r"rrrk).rErFrGrHr;r\r1rIr2rJr3rKr4rLr5rIr6rIr7rIr8rKr9rIr:rMr<rOr=rPr>rKr?rKr@rQrArRrBrSrCrTrDrUr"ru).rErFrGrHr;r`r1rIr2rJr3rKr4rLr5rIr6rIr7rIr8rKr9rIr:rMr<rOr=rPr>rKr?rKr@rQrArRrBrSrCrTrDrUr"rv).rErFrGrHr1rIr2rJr3rKr4rLr5rIr6rIr7rIr8rKr9rIr:rMr;rcr<rOr=rPr>rKr?rKr@rQrArRrBrSrCrTrDrUr"rvrlr(r(r(r)r =rpc@�eZdZddd�ZdS)	r#�completionsrr"�NonecC�||_t�|j�|_dS�N)�_completionsr�to_raw_response_wrapperrY�r'rxr(r(r)�__init__\�
�z#CompletionsWithRawResponse.__init__N�rxrr"ry�rmrnrorr(r(r(r)r#[�r#c@rw)	rqrxr r"rycCrzr{)r|r�async_to_raw_response_wrapperrYr~r(r(r)rer�z(AsyncCompletionsWithRawResponse.__init__N�rxr r"ryr�r(r(r(r)rqdr�rqc@rw)	r,rxrr"rycC�||_t|j�|_dSr{)r|rrYr~r(r(r)rn�
�z)CompletionsWithStreamingResponse.__init__Nr�r�r(r(r(r)r,mr�r,c@rw)	rrrxr r"rycCr�r{)r|rrYr~r(r(r)rwr�z.AsyncCompletionsWithStreamingResponse.__init__Nr�r�r(r(r(r)rrvr�rr)2�
__future__r�typingrrrrr�typing_extensionsrr	�httpx�r�typesr�_typesr
rrrr�_utilsrrr�_compatr�	_resourcerr�	_responserr�
_streamingrr�_base_clientr�types.completionr�/types.chat.chat_completion_stream_options_paramr�__all__rr r#rqr,rrr(r(r(r)�<module>s<""