创建聊天完成
请求正文
要使用的模型的 ID。有关哪些模型可与 Chat API 配合使用的详细信息,请参阅模型端点兼容性表。
是否存储此聊天完成请求的输出 用于我们的 Model Distillation 或 EVALS 产品。
用于筛选补全的开发人员定义的标记和值 在仪表板中。
介于 -2.0 和 2.0 之间的数字。正值会根据新标记到目前为止在文本中的现有频率来惩罚新标记,从而降低模型逐字重复同一行的可能性。
修改指定标记出现在补全中的可能性。
接受一个 JSON 对象,该对象将令牌(由其在 tokenizer 中的令牌 ID 指定)映射到从 -100 到 100 的关联偏差值。从数学上讲,偏差在采样之前被添加到模型生成的 logit 中。确切的效果因模型而异,但 -1 和 1 之间的值应降低或增加选择的可能性;像 -100 或 100 这样的值应该导致禁止或独占选择相关令牌。
一个介于 0 和 20 之间的整数,指定在每个标记位置最有可能返回的标记数,每个标记都有一个关联的对数概率。logprobs
必须设置为true
如果使用该参数。
可以为完成生成的标记数的上限,包括可见的输出标记和推理标记。
您希望模型为此请求生成的 Output types。 大多数模型都能够生成文本,这是默认设置:
["text"]
这gpt-4o-audio-preview
model 还可用于生成音频。自
请求此模型同时生成文本和音频响应,您可以
用:
["text", "audio"]
预测输出的配置 这可以大大缩短模型大部分 响应是提前知道的。当您 重新生成一个文件,仅对大部分内容进行细微更改。
音频输出参数。当请求音频输出时是必需的modalities: ["audio"]
.了解更多。
介于 -2.0 和 2.0 之间的数字。正值根据新标记到目前为止是否出现在文本中来惩罚新标记,从而增加模型讨论新主题的可能性。
一个对象,用于指定模型必须输出的格式。兼容 GPT-4o、GPT-4o mini、GPT-4 Turbo 和所有更新的 GPT-3.5 Turbo 型号gpt-3.5-turbo-1106
.
设置为{ "type": "json_schema", "json_schema": {...} }
启用结构化输出,以确保模型与您提供的 JSON 架构匹配。在结构化输出指南中了解更多信息。
设置为{ "type": "json_object" }
启用 JSON 模式,以确保模型生成的消息是有效的 JSON。
重要提示:使用 JSON 模式时,还必须通过系统或用户消息指示模型自行生成 JSON。否则,模型可能会生成无休止的空格流,直到生成达到令牌限制,从而导致长时间运行且似乎“卡住”的请求。另请注意,如果出现以下情况,消息内容可能会被部分截断finish_reason="length"
,这表示已超过代数max_tokens
或对话超过了最大上下文长度。
此功能处于 Beta 阶段。
如果指定,我们的系统将尽最大努力确定性地进行采样,以便使用相同的seed
和 parameters 应返回相同的结果。
确定性是不能保证的,您应该参考system_fingerprint
response 参数来监控后端的更改。
指定用于处理请求的延迟层。此参数与订阅了 Scale Tier 服务的客户相关:
- 如果设置为 'auto',并且项目启用了 Scale tier,则系统将使用 Scale Tier 积分,直到它们用完。
- 如果设置为“auto”,并且项目未启用扩展层,则将使用正常运行时间 SLA 较低且无延迟保证的默认服务层级处理请求。
- 如果设置为“default”,则将使用正常运行时间 SLA 较低且无延迟保证的默认服务层级处理请求。
- 如果未设置,则默认行为为 'auto'。
设置此参数后,响应正文将包含service_tier
利用。
如果设置,将发送部分消息增量,就像在 ChatGPT 中一样。令牌将在可用时作为仅限数据、服务器发送的事件发送,流由data: [DONE]
消息。Python 代码示例。
要使用的采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使其更加集中和确定。
我们通常建议更改此 或top_p
但不能两者兼而有之。
使用温度进行采样的替代方法,称为核抽样,其中模型考虑具有top_p概率质量的标记的结果。所以 0.1 意味着只考虑包含前 10% 概率质量的 token。
我们通常建议更改此 或temperature
但不能两者兼而有之。
控制模型调用哪个 (如果有) 工具。none
表示模型不会调用任何工具,而是生成一条消息。auto
表示模型可以在生成消息或调用一个或多个工具之间进行选择。required
表示模型必须调用一个或多个工具。
通过以下方式指定特定工具{"type": "function", "function": {"name": "my_function"}}
强制模型调用该工具。
none
是不存在工具时的默认值。auto
如果存在工具,则为默认值。
是否在工具使用过程中启用并行函数调用。
代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。了解更多。
已弃用,取而代之的是tool_choice
.
控制模型调用哪个 (如果有) 函数。none
表示模型不会调用函数,而是生成一条消息。auto
表示模型可以在生成消息或调用函数之间进行选择。
通过{"name": "my_function"}
强制模型调用该函数。
none
是不存在函数时的默认值。auto
如果存在函数,则为默认值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4o",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
}'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1677652288,
"model": "gpt-4o-mini",
"system_fingerprint": "fp_44709d6fcb",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "\n\nHello there, how may I assist you today?",
},
"logprobs": null,
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 12,
"total_tokens": 21,
"completion_tokens_details": {
"reasoning_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
}
}