Create chat completion (streaming) [native format]
Given a hint, the model will return one or more predicted completions and can also return the probability of the surrogate marker for each position. Complete creation for the provided prompts and parameters Official…
/v1/messagesBody Parametersapplication/json
The ID of the model to use. For more information about which models can be used with the Chat API, see the model endpoint compatibility table.
list of messages in the conversation so far. Python code example.
What sampling temperature to use, between 0 and 2. Higher values like 0.8 make output more random, while lower values like 0.2 make it more focused and deterministic. We generally recommend altering this or `top_p` but not both.
An alternative to temperature sampling 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.
Defaults to 1. How many chat completion choices to generate for each input message.
defaults to false if set, sends partial message deltas like ChatGPT. tokens are sent as data-only server-sent events,as they become available; stream ends with data: [DONE]. Python code example.
Defaults to null. Up to 4 sequences where the API will stop generating further tokens.
Defaults to inf. The maximum number of tokens to generate in the chat completion. The total length of input tokens and generated tokens is limited by the model's context length.
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/api-reference/parameter-details)
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.
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 varies by 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.
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).
An object specifying the format that the model must output. Setting { "type": "json_object" } enables JSON mode, which ensures the message the model generates is valid JSON. Important: when using JSON mode, you must also instruct the model to produce JSON via a system or user message. Also note that if finish_reason="length", the message content may be partially cut off.
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.
A list of tools the model may call. Currently only functions are supported. Use this to provide functions for which the model can generate JSON input.
Controls which (if any) function is called by the model. 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. Specifying a particular function via {"type": "function", "function": {"name": "my_function"}} forces the model to call that function. none is the default when no functions are present. auto is the default if functions are present.
Responses
Underlying service response wrapper (status code / message)
List of candidate results
Creation time (Unix timestamp)
Resource or task ID
Whether the input triggered sensitive-content detection
Input sensitive-content type
Model name / model ID
Object type identifier, e.g. chat.completion
Whether the output triggered sensitive-content detection
Output sensitive-content level
Output sensitive-content type
Token usage statistics
