A list of messages comprising the conversation so far.
System message
object
content
string
required
The contents of the system message.
role
string
required
The role of the messages author, in this case system.
name
string
An optional name for the participant. Provides the model information to differentiate between
participants of the same role.
User message
object
content
string or array
required
The contents of the user message.
role
string
required
The role of the messages author, in this case user.
name
string
An optional name for the participant. Provides the model information to differentiate between
participants of the same role.
Assistant message
object
content
string or null
The contents of the assistant message. Required unless tool_calls or function_call is specified.
role
string
required
The role of the messages author, in this case assistant.
name
string
An optional name for the participant. Provides the model information to differentiate between
participants of the same role.
tool_calls
array
The tool calls generated by the model, such as function calls.
id
string
required
The ID of the tool call.
type
string
required
The type of the tool. Currently, only function is supported.
function
object
required
The function that the model called.
name
string
required
The name of the function to call.
arguments
string
required
The arguments to call the function with, as generated by the model in JSON format.
Note that the model does not always generate valid JSON, and may hallucinate
parameters
not defined by your function schema. Validate the arguments in your code before
calling your function.
role
string
The role of the author of this message.
function_call
array
deprecated
Deprecated and replaced by tool_calls. The name and arguments of a function that should be called,
as generated by the model.
arguments
string
required
The arguments to call the function with, as generated by the model in JSON format.
Note that the model does not always generate valid JSON, and may hallucinate parameters
not defined by your function schema. Validate the arguments in your code before calling your
function.
name
string
required
The name of the function to call.
Tool message
object
role
string
required
The role of the messages author, in this case tool.
content
string
required
The contents of the tool message.
tool_call_id
string
required
Tool call that this message is responding to.
Function message
object
deprecated
role
string
required
The role of the messages author, in this case function.
content
string or null
required
The contents of the function message.
name
string
required
The name of the function to call.
model
string
ID of the model to use. Providing in parameters overwrites portal config.
frequency_penalty
number or null
default: 0
Defaults to 0. 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.
logit_bias
map
default: "null"
Defaults to null. Modify the likelihood of specified tokens appearing in the completion.
Accepts a JSON object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value
from -100 to 100. 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.
logprobs
boolean or null
default: false
Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each
output token returned in the content of message.
top_logprobs
integer or null
An integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with
an associated log probability.
logprobs must be set to true if this parameter is used.
max_tokens
integer or null
The maximum number of tokens that can be generated in the chat completion.
The total length of input tokens and generated tokens is limited by the model’s context length.
max_completion_tokens
integer or null
The maximum number of tokens that can be generated in the chat completion.
The total length of input tokens and generated tokens is limited by the model’s context length.
n
integer or null
default: 1
How many chat completion choices to generate for each input message. Note that you will be charged based on the
number of generated tokens across all of the choices. Keep n as 1 to minimize costs.
presence_penalty
number or null
default: 0
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.
response_format
object
An object specifying the format that the model must output. Compatible with GPT-4 Turbo and all GPT-3.5 Turbo models
newer than gpt-3.5-turbo-1106.
Setting to {"type": "json_object"} enables JSON mode, which guarantees the message the model generates is valid
JSON.
Important: when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user
message.
Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit,
resulting in a long-running and seemingly “stuck” request.
Also note that the message content may be partially cut off if finish_reason="length", which indicates the
generation exceeded max_tokens or the conversation exceeded the max context length.
type
string
default: "text"
Must be one of text or json_object.
seed
integer or null
This feature is in Beta. 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
string / array / null
default: "null"
Up to 4 sequences where the API will stop generating further tokens.
stream
boolean or null
default: false
If set, partial message deltas will be sent, like in ChatGPT. Tokens will be sent as data-only server-sent events as
they become available, with the stream terminated by a data: [DONE] message. Example Python code.
stream_options
object or null
default: {"include_usage":true}
Optional. Defaults to null. Options for streaming response. Only set this when you set stream: true.
include_usage
boolean
If set, an additional chunk will be streamed before the data: [DONE] message. The usage field on this
chunk shows the token usage statistics for the entire request, and the choices field will always be an
empty array. All other chunks will also include a usage field, but with a null value.
temperature
number or null
default: 1
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
number or null
default: 1
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.
tools
array
A list of tools the model may call. Currently, only functions are supported as a tool. Use this to provide a list of
functions the model may generate JSON inputs for. A max of 128 functions are supported.
type
string
required
The type of the tool. Currently, only function is supported.
function
object
required
description
string
A description of what the function does, used by the model to choose when and how to call the
function.
name
string
required
The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes,
with a maximum length of 64.
parameters
object
The parameters the functions accept, described as a JSON Schema object.
Omitting parameters defines a function with an empty parameter list.
tool_choice
string
none means the model will not call any tool and instead generates a message.
auto means the model can pick between generating a message or calling one or more tools.
required means the model must call one or more tools.
tool_choice
object
Specifies a tool the model should use. Use to force the model to call a specific function.
function
object
required
name
string
required
The name of the function to be called.
description
string
A description of what the function does, used by the model to choose when and how to call the function.
parameters
object
The parameters the functions accept, described as a JSON Schema object.
user
string
A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.
function_call
string
deprecated
none means the model will not call a function and instead generates a message.
auto means the model can pick between generating a message or calling a function.
function_call
object
deprecated
Specifying a particular function via {"name": "my_function"} forces the model to call that function.
name
string
The name of the function to call.
functions
array
deprecated
Deprecated in favor of tools.
A list of functions the model may generate JSON inputs for.
description
string
Optional. A description of what the function does, used by the model to choose when and how to call the
function.
name
string
required
The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a
maximum length of 64.
parameters
object
The parameters the functions accept, described as a JSON Schema object.
Omitting parameters defines a function with an empty parameter list.
Represents a chat completion response returned by model, based on the provided input.
id
string
A unique identifier for the chat completion.
choice
array
A list of chat completion choices. Can be more than one if n is greater than 1.
is_correction
boolean
Boolean value representing whether or not the Choice is a result of a Maitai correction (autocorrect).
finish_reason
string
The reason the model stopped generating tokens. This will be `stop` if the model hit a natural stop point or a provided stop sequence, `length` if the maximum number of tokens specified in the request was reached, `content_filter` if content was omitted due to a flag from our content filters, `tool_calls` if the model called a tool, or `function_call` (deprecated) if the model called a function.
index
integer
The index of the choice in the list of choices.
message
object
A chat completion message generated by the model.
content
string or null
The contents of the message.
tool_calls
array
The tool calls generated by the model, such as function calls.
id
string
The ID of the tool call.
type
string
The type of the tool. Currently, only `function` is supported.
function
object
The function that the model called.
name
string
The name of the function to call.
arguments
string
The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
role
string
The role of the author of this message.
function_call
object
deprecated
Deprecated and replaced by `tool_calls`. The name and arguments of a function that should be called, as generated by the model.
arguments
string
The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
name
string
The name of the function to call.
logprobs
object or null
Log probability information for the choice.
content
array or null
A list of message content tokens with log probability information.
token
string
The token.
logprob
number
The log probability of this token, if it is within the top 20 most likely tokens. Otherwise, the value `-9999.0` is used to signify that the token is very unlikely.
bytes
array or null
A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.
top_logprobs
array
List of the most likely tokens and their log probability, at this token position. In rare cases, there may be fewer than the number of requested `top_logprobs` returned.
token
string
The token.
logprob
number
The log probability of this token, if it is within the top 20 most likely tokens. Otherwise, the value `-9999.0` is used to signify that the token is very unlikely.
bytes
array or null
A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.
created
integer
The Unix timestamp (in seconds) of when the chat completion was created.
model
string
The model used for the chat completion.
system_fingerprint
string
This fingerprint represents the backend configuration that the model runs with.
Can be used in conjunction with the seed request parameter to understand when backend changes have been made that
might impact determinism.
If cache this means that the result came out of the semantic cache.
object
string
The object type, which is always chat.completion.
usage
object
Usage statistics for the completion request.
completion_tokens
integer
Number of tokens in the generated completion.
prompt_tokens
integer
Number of tokens in the prompt.
total_tokens
integer
Total number of tokens used in the request (prompt + completion).
Represents a streamed chunk of a chat completion response returned by model, based on the provided input.
id
string
A unique identifier for the chat completion. Each chunk has the same ID.
choices
array
A list of chat completion choices. Can be more than one if n is greater than
1.
delta
object
A chat completion delta generated by streamed model responses.
content
string or null
The contents of the chunk message.
function_call
object
deprecated
Deprecated and replaced by tool_calls. The name and arguments of a
function that should be called, as generated by the model.
arguments
string
The arguments to call the function with, as generated by the model
in JSON format. Note that the model does not always generate valid
JSON, and may hallucinate parameters not defined by your function
schema. Validate the arguments in your code before calling your
function.
name
string
The name of the function to call.
tool_calls
array
index
integer
id
string
The ID of the tool call.
type
string
The type of the tool. Currently, only function is supported.
function
object
The function that the model called.
name
string
The name of the function to call.
arguments
string
The arguments to call the function with, as generated by the
model in JSON format. Note that the model does not always
generate valid JSON, and may hallucinate parameters not
defined by your function schema. Validate the arguments in
your code before calling your function.
role
string
The role of the author of this message.
logprobs
object or null
Log probability information for the choice.
content
array or null
A list of message content tokens with log probability information.
token
string
The token.
logprob
number
The log probability of this token, if it is within the top 20 most likely tokens. Otherwise,
the value -9999.0 is used to signify that the token is very unlikely.
bytes
array or null
A list of integers representing the UTF-8 bytes representation of the token. Useful in
instances where characters are represented by multiple tokens and their byte representations
must be combined to generate the correct text representation. Can be null if there is no
bytes representation for the token.
top_logprobs
array
List of the most likely tokens and their log probability, at this token position. In rare
cases, there may be fewer than the number of requested top_logprobs returned.
token
string
The token.
logprob
number
The log probability of this token, if it is within the top 20 most likely tokens.
Otherwise, the value -9999.0 is used to signify that the token is very unlikely.
bytes
array or null
A list of integers representing the UTF-8 bytes representation of the token. Useful
in instances where characters are represented by multiple tokens and their byte
representations must be combined to generate the correct text representation. Can be
null if there is no bytes representation for the token.
finish_reason
string
The reason the model stopped generating tokens. This will be stop if the
model hit a natural stop point or a provided stop sequence, length if
the maximum number of tokens specified in the request was reached,
content_filter if content was omitted due to a flag from our content
filters, tool_calls if the model called a tool, or function_call
(deprecated) if the model called a function.
index
integer
The index of the choice in the list of choices.
created
integer
The Unix timestamp (in seconds) of when the chat completion was created. Each chunk has the same timestamp.
model
string
The model used to generate the completion.
system_fingerprint
string
This fingerprint represents the backend configuration that the model runs with.
Can be used in conjunction with the seed request parameter to understand when backend changes have been made that
might impact determinism.
If cache this means that the result came out of the semantic cache.
object
string
The object type, which is always chat.completion.chunk.
usage
object
An optional field that will only be present when you set stream_options: {'"include_usage": true} in your request. When present, it contains a null value except for the last chunk which contains the token usage statistics for the entire request.
completion_tokens
integer
Number of tokens in the generated completion.
prompt_tokens
integer
Number of tokens in the prompt.
total_tokens
integer
Total number of tokens used in the request (prompt + completion).