创建聊天完成 beta
post https://api.openai.com/v1/chat/completions
为聊天消息创建完成
请求示例
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}'
参数示例
{
"model": "gpt-3.5-turbo",
"messages": [{ "role": "user", "content": "Hello!" }]
}
响应示例
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1677652288,
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "\n\nHello there, how may I assist you today?"
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 12,
"total_tokens": 21
}
}
请求体
model string
必需的
要使用的模型的 ID。 请参阅模型端点兼容性 表,了解有关哪些模型可与 Chat API 配合使用的详细信息。
messages array``必需的
以 聊天格式 生成聊天完成的消息。
temperature number
可选的
默认值:1
使用什么采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。 我们通常建议更改此选项或 top_p
,但不要同时更改两者。
top_p number
可选的
默认值:1
一种替代温度采样的方法,称为核采样,其中模型考虑具有 top_p
概率质量的标记的结果。 所以 0.1 意味着只考虑构成前 10% 概率质量的标记。
我们通常建议改变这个或“温度”,但不能同时改变两者。
n integer
可选的
默认值:1
为每个输入消息生成多少个聊天完成选项。
stream boolean
可选的
默认值:false
如果设置,将发送部分消息增量,就像在 ChatGPT 中一样。 令牌将在可用时作为纯数据 服务器发送事件 发送, 流由 data: [DONE]
消息终止。
有关 示例代码,请参阅 OpenAI Cookbook。
stop string or array
可选的
默认值:null
API 将停止生成更多令牌的最多 4 个序列。
max_tokens integer
可选的
默认值:inf
聊天完成时生成的最大 tokens 数量。 输入标记和生成标记的总长度受模型上下文长度的限制。
presence_penalty number
可选的
默认值:0
-2.0 和 2.0 之间的数字。 正值会根据到目前为止是否出现在文本中来惩罚新标记,从而增加模型谈论新主题的可能性。 查看有关频率和存在惩罚的更多信息。
frequency_penalty number
可选的
默认值:0
-2.0 和 2.0 之间的数字。 正值会根据新标记在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。 查看有关频率和存在惩罚的更多信息。
logit_bias map
可选的
默认值:null
修改指定标记出现在完成中的可能性。 接受一个 json 对象,该对象将标记(由标记器中的标记 ID 指定)映射到从 -100 到 100 的关联偏差值。从数学上讲,偏差会在采样之前添加到模型生成的 logits 中。 确切的效果因模型而异,但 -1 和 1 之间的值应该会减少或增加选择的可能性; 像 -100 或 100 这样的值应该导致相关令牌的禁止或独占选择。
user string
可选的
代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。 了解更多。