OpenAI 创建聊天补全
创建聊天补全
post /chat/completions
开始新项目?建议尝试 Responses, 以使用 OpenAI 平台的最新功能。两者对比请参阅 从 Chat Completions 迁移到 Responses。
为给定聊天对话生成模型响应。更多信息请参阅 文本生成、视觉 和音频指南。
参数支持情况可能因生成响应所用的模型而异, 尤其是较新的推理模型。仅支持推理模型的参数 会在下文注明。推理模型当前不支持的参数, 请参阅 推理指南。
返回聊天补全对象;如请求流式传输,返回一系列 聊天补全流式块对象。
请求体参数
内容类型:application/json
messages: array of ChatCompletionMessageParam
到目前为止构成对话的消息列表。根据所用 模型,支持的消息类型(模态)有所不同, 例如文本、 图像和音频。
minItems: 1
ChatCompletionDeveloperMessageParam object { content, role, name }
开发者提供的指令,模型应遵循这些指令,而不受
用户消息影响。对于 o1 及后续模型,developer 消息
取代此前的 system 消息。
content: string or array of ChatCompletionContentPartText
开发者消息的内容。
TextContent = string
开发者消息的内容。
ArrayOfContentParts = array of ChatCompletionContentPartText
由具有指定类型的内容部分组成的数组。开发者消息仅支持 text 类型。
minItems: 1
text: string
文本内容。
type: "text"
内容部分的类型。
"text"
prompt_cache_breakpoint: optional object { mode, ttl }
标记可复用提示词前缀的精确结束位置。省略 ttl 时,断点继承请求中的 prompt_cache_options.ttl;该边界不会按词元块取整。
mode: "explicit" (default: "explicit")
断点模式,固定为 explicit。
"explicit"
ttl: optional "30m" or "12h"
此缓存断点的最短存续时间,默认为请求的 TTL。
"30m"
"12h"
role: "developer"
消息作者的角色,此处为 developer。
"developer"
name: optional string
可选的参与者名称,为模型提供信息,以区分角色相同的不同参与者。
ChatCompletionSystemMessageParam object { content, role, name }
开发者提供的指令,模型应遵循这些指令,而不受
用户发送的消息影响。对于 o1 及后续模型,改用 developer 消息
提供此类指令。
content: string or array of ChatCompletionContentPartText
系统消息的内容。
TextContent = string
系统消息的内容。
ArrayOfContentParts = array of ChatCompletionContentPartText
由具有指定类型的内容部分组成的数组。系统消息仅支持 text 类型。
minItems: 1
text: string
文本内容。
type: "text"
内容部分的类型。
prompt_cache_breakpoint: optional object { mode, ttl }
标记可复用提示词前缀的精确结束位置。省略 ttl 时,断点继承请求中的 prompt_cache_options.ttl;该边界不会按词元块取整。
role: "system"
消息作者的角色,此处为 system。
"system"
name: optional string
可选的参与者名称,为模型提供信息,以区分角色相同的不同参与者。
ChatCompletionUserMessageParam object { content, role, name }
最终用户发送的消息,包含提示词或额外上下文 信息。
content: string or array of ChatCompletionContentPart
用户消息的内容。
TextContent = string
消息的文本内容。
ArrayOfContentParts = array of ChatCompletionContentPart
由具有指定类型的内容部分组成的数组。支持的选项取决于生成响应所用的模型,可以包含文本、图像或音频输入。
minItems: 1
ChatCompletionContentPartText object { text, type, prompt_cache_breakpoint }
了解文本输入。
text: string
文本内容。
type: "text"
内容部分的类型。
prompt_cache_breakpoint: optional object { mode, ttl }
标记可复用提示词前缀的精确结束位置。省略 ttl 时,断点继承请求中的 prompt_cache_options.ttl;该边界不会按词元块取整。
ChatCompletionContentPartImage object { image_url, type, prompt_cache_breakpoint }
了解图像输入。
image_url: object { url, detail }
url: string
图像 URL 或 Base64 编码的图像数据。
format: uri
detail: optional "auto" or "low" or "high" or "original" (default: "auto")
指定图像细节级别。参阅视觉指南。
"auto"
"low"
"high"
"original"
type: "image_url"
内容部分的类型。
"image_url"
prompt_cache_breakpoint: optional object { mode, ttl }
标记可复用提示词前缀的精确结束位置。省略 ttl 时,断点继承请求中的 prompt_cache_options.ttl;该边界不会按词元块取整。
mode: "explicit" (default: "explicit")
断点模式,固定为 explicit。
"explicit"
ttl: optional "30m" or "12h"
此缓存断点的最短存续时间,默认为请求的 TTL。
"30m"
"12h"
ChatCompletionContentPartInputAudio object { input_audio, type, prompt_cache_breakpoint }
了解音频输入。
input_audio: object { data, format }
data: string
Base64 编码的音频数据。
format: "wav" or "mp3"
编码音频数据的格式,当前支持 "wav" 和 "mp3"。
"wav"
"mp3"
type: "input_audio"
内容部分类型,固定为 input_audio。
"input_audio"
prompt_cache_breakpoint: optional object { mode, ttl }
标记可复用提示词前缀的精确结束位置。省略 ttl 时,断点继承请求中的 prompt_cache_options.ttl;该边界不会按词元块取整。
mode: "explicit" (default: "explicit")
断点模式,固定为 explicit。
"explicit"
ttl: optional "30m" or "12h"
此缓存断点的最短存续时间,默认为请求的 TTL。
"30m"
"12h"
FileContentPart object { file, type, prompt_cache_breakpoint }
了解用于文本生成的文件输入。
file: object { file_data, file_id, filename }
file_data: optional string
将文件作为字符串传给模型时,使用 Base64 编码的 文件数据。
file_id: optional string
用作输入的已上传文件的 ID。
filename: optional string
将文件作为字符串传给模型时,使用的 文件名。
type: "file"
内容部分类型,固定为 file。
"file"
prompt_cache_breakpoint: optional object { mode, ttl }
标记可复用提示词前缀的精确结束位置。省略 ttl 时,断点继承请求中的 prompt_cache_options.ttl;该边界不会按词元块取整。
mode: "explicit" (default: "explicit")
断点模式,固定为 explicit。
"explicit"
ttl: optional "30m" or "12h"
此缓存断点的最短存续时间,默认为请求的 TTL。
"30m"
"12h"
role: "user"
消息作者的角色,此处为 user。
"user"
name: optional string
可选的参与者名称,为模型提供信息,以区分角色相同的不同参与者。
ChatCompletionAssistantMessageParam object { role, audio, content, 4 more }
模型回应用户消息时发送的消息。
role: "assistant"
消息作者的角色,此处为 assistant。
"assistant"
audio: optional object { id } or null
模型此前音频响应的相关数据。 了解更多。
id: string
模型此前音频响应的唯一标识。
content: optional string or array of ChatCompletionContentPartText or ChatCompletionContentPartRefusal or null
助手消息内容。未指定 tool_calls 或 function_call 时必填。
TextContent = string
助手消息的内容。
ArrayOfContentParts = array of ChatCompletionContentPartText or ChatCompletionContentPartRefusal
由具有指定类型的内容部分组成的数组,可以包含一个或多个 text 部分,或恰好一个 refusal 部分。
minItems: 1
ChatCompletionContentPartText object { text, type, prompt_cache_breakpoint }
了解文本输入。
ChatCompletionContentPartRefusal object { refusal, type }
refusal: string
模型生成的拒绝消息。
type: "refusal"
内容部分的类型。
"refusal"
function_call: optional object { arguments, name } or null
此字段已弃用,由 tool_calls 替代。它包含模型生成的待调用函数名称与参数。
arguments: string
模型以 JSON 格式生成的函数调用参数。模型可能生成无效 JSON,也可能虚构函数结构中未定义的参数。调用函数前,应在代码中验证这些参数。
name: string
要调用的函数名称。
name: optional string
可选的参与者名称,为模型提供信息,以区分角色相同的不同参与者。
refusal: optional string or null
助手给出的拒绝消息。
tool_calls: optional array of ChatCompletionMessageToolCall
模型生成的工具调用,例如函数调用。
ChatCompletionMessageFunctionToolCall object { id, function, type }
模型生成的函数工具调用。
id: string
工具调用 ID。
function: object { arguments, name }
模型调用的函数。
arguments: string
模型以 JSON 格式生成的函数调用参数。模型可能生成无效 JSON,也可能虚构函数结构中未定义的参数。调用函数前,应在代码中验证这些参数。
name: string
要调用的函数名称。
type: "function"
工具类型,目前仅支持 function。
"function"
ChatCompletionMessageCustomToolCall object { id, custom, type }
模型生成的自定义工具调用。
id: string
工具调用 ID。
custom: object { input, name }
模型调用的自定义工具。
input: string
模型生成的自定义工具调用输入。
name: string
要调用的自定义工具名称。
type: "custom"
工具类型,固定为 custom。
"custom"
ChatCompletionToolMessageParam object { content, role, tool_call_id }
content: string or array of ChatCompletionContentPartText
工具消息的内容。
TextContent = string
工具消息的内容。
ArrayOfContentParts = array of ChatCompletionContentPartText
由具有指定类型的内容部分组成的数组。工具消息仅支持 text 类型。
minItems: 1
text: string
文本内容。
type: "text"
内容部分的类型。
prompt_cache_breakpoint: optional object { mode, ttl }
标记可复用提示词前缀的精确结束位置。省略 ttl 时,断点继承请求中的 prompt_cache_options.ttl;该边界不会按词元块取整。
role: "tool"
消息作者的角色,此处为 tool。
"tool"
tool_call_id: string
此消息所回应的工具调用。
ChatCompletionFunctionMessageParam object { content, name, role }
content: string or null
函数消息的内容。
name: string
要调用的函数名称。
role: "function"
消息作者的角色,此处为 function。
"function"
model: string or "gpt-6-astra" or "gpt-6.1-sol" or "gpt-6.1-terra" or 87 more
用于生成响应的模型 ID,例如 gpt-6-astra 或 o3。OpenAI
提供多种模型,其能力、性能
特点及价格各不相同。可通过模型指南
浏览并比较可用模型。
string
"gpt-6-astra" or "gpt-6.1-sol" or "gpt-6.1-terra" or 87 more
用于生成响应的模型 ID,例如 gpt-6-astra 或 o3。OpenAI
提供多种模型,其能力、性能
特点及价格各不相同。可通过模型指南
浏览并比较可用模型。
"gpt-6-astra"
"gpt-6.1-sol"
"gpt-6.1-terra"
"gpt-6-sol"
"gpt-6-luna"
"gpt-5.6-sol"
"gpt-5.6-terra"
"gpt-5.6-luna"
"gpt-5.5"
"gpt-5.5-2026-04-23"
"gpt-5.4"
"gpt-5.4-mini"
"gpt-5.4-nano"
"gpt-5.4-mini-2026-03-17"
"gpt-5.4-nano-2026-03-17"
"gpt-5.3-chat-latest"
"gpt-5.2"
"gpt-5.2-2025-12-11"
"gpt-5.2-chat-latest"
"gpt-5.2-pro"
"gpt-5.2-pro-2025-12-11"
"gpt-5.1"
"gpt-5.1-2025-11-13"
"gpt-5.1-codex"
"gpt-5.1-mini"
"gpt-5.1-chat-latest"
"gpt-5"
"gpt-5-mini"
"gpt-5-nano"
"gpt-5-2025-08-07"
"gpt-5-mini-2025-08-07"
"gpt-5-nano-2025-08-07"
"gpt-5-chat-latest"
"gpt-4.1"
"gpt-4.1-mini"
"gpt-4.1-nano"
"gpt-4.1-2025-04-14"
"gpt-4.1-mini-2025-04-14"
"gpt-4.1-nano-2025-04-14"
"o4-mini"
"o4-mini-2025-04-16"
"o3"
"o3-2025-04-16"
"o3-mini"
"o3-mini-2025-01-31"
"o1"
"o1-2024-12-17"
"o1-preview"
"o1-preview-2024-09-12"
"o1-mini"
"o1-mini-2024-09-12"
"gpt-4o"
"gpt-4o-2024-11-20"
"gpt-4o-2024-08-06"
"gpt-4o-2024-05-13"
"gpt-audio-mini"
"gpt-audio-mini-2025-12-15"
"gpt-4o-audio-preview"
"gpt-4o-audio-preview-2024-10-01"
"gpt-4o-audio-preview-2024-12-17"
"gpt-4o-audio-preview-2025-06-03"
"gpt-4o-mini-audio-preview"
"gpt-4o-mini-audio-preview-2024-12-17"
"gpt-4o-search-preview"
"gpt-4o-mini-search-preview"
"gpt-4o-search-preview-2025-03-11"
"gpt-4o-mini-search-preview-2025-03-11"
"chatgpt-4o-latest"
"codex-mini-latest"
"gpt-4o-mini"
"gpt-4o-mini-2024-07-18"
"gpt-4-turbo"
"gpt-4-turbo-2024-04-09"
"gpt-4-0125-preview"
"gpt-4-turbo-preview"
"gpt-4-1106-preview"
"gpt-4-vision-preview"
"gpt-4"
"gpt-4-0314"
"gpt-4-0613"
"gpt-4-32k"
"gpt-4-32k-0314"
"gpt-4-32k-0613"
"gpt-3.5-turbo"
"gpt-3.5-turbo-16k"
"gpt-3.5-turbo-0301"
"gpt-3.5-turbo-0613"
"gpt-3.5-turbo-1106"
"gpt-3.5-turbo-0125"
"gpt-3.5-turbo-16k-0613"
audio: optional ChatCompletionAudioParam or null
音频输出参数。通过 modalities: ["audio"] 请求音频
输出时必填。了解更多。
format: "wav" or "aac" or "mp3" or 3 more
输出音频格式,须为 wav、mp3、flac、
opus 或 pcm16。
"wav"
"aac"
"mp3"
"flac"
"opus"
"pcm16"
voice: string or "alloy" or "ash" or "ballad" or 7 more or ID { id }
模型响应使用的音色。支持的内置音色包括
alloy, ash, ballad, coral, echo, fable, nova, onyx,
sage、shimmer、marin 和 cedar。也可以提供
包含 id 的自定义音色对象,例如 { "id": "voice_1234" }。
自定义音色须通过音频样本创建。通过文本
提示词创建的音色仅适用于 Live。
string
"alloy" or "ash" or "ballad" or 7 more
"alloy"
"ash"
"ballad"
"coral"
"echo"
"sage"
"shimmer"
"verse"
"marin"
"cedar"
ID object { id }
自定义音色引用。
id: string
自定义音色 ID,例如 voice_1234。
frequency_penalty: optional number or null (default: 0)
数值介于 -2.0 和 2.0。正数会根据新词元 在现有文本中的出现频率惩罚它,降低模型 逐字重复相同行的概率。
minimum: -2, maximum: 2
function_call: optional "none" or "auto" or ChatCompletionFunctionCallOption
已弃用,改用 tool_choice。
控制模型是否调用函数,以及调用哪个函数。
none 表示模型不调用函数,而是生成
消息。
auto 表示模型可在生成消息和调用
函数之间选择。
通过 {"name": "my_function"} 指定具体函数,会强制
模型调用该函数。
没有函数时,默认为 none;有函数时,
默认为 auto。
"none" or "auto"
none 表示模型不调用函数,而是生成消息;auto 表示模型可在生成消息和调用函数之间选择。
"none"
"auto"
ChatCompletionFunctionCallOption object { name }
通过 {"name": "my_function"} 指定具体函数,会强制模型调用该函数。
name: string
要调用的函数名称。
functions: optional array of object { name, description, parameters }
已弃用,改用 tools。
模型可为其生成 JSON 输入的函数列表。
minItems: 1, maxItems: 128
name: string
要调用的函数名称,须使用 a-z、A-Z、0-9,或包含下划线和连字符,最长为 64 个字符。
description: optional string
函数功能的描述,模型据此选择何时以及如何调用该函数。
parameters: optional FunctionParameters
函数接受的参数,以 JSON Schema 对象描述。示例参阅指南,格式说明参阅 JSON Schema 参考。
省略 parameters 表示定义参数列表为空的函数。
logit_bias: optional map[number] or null (default: null)
修改指定词元出现在补全内容中的概率。
接受 JSON 对象,将词元(以分词器中的词元 ID 指定) 映射到 -100 至 100 的偏置值。在数学上, 采样前将此偏置加到模型生成的 logits 上。 确切效果因模型而异,但 -1 至 1 之间的值应 降低或提高被选中的概率;-100 或 100 等值 应分别禁止或使模型仅选择相关词元。
logprobs: optional boolean or null (default: false)
是否返回输出词元的对数概率。为 true 时,
返回 message 的 content 中
每个输出词元的对数概率。
max_completion_tokens: optional integer or null
补全可生成的词元数量上限,包括可见输出词元和推理词元。
max_tokens: optional integer or null
聊天补全可生成的最大词元 数量,可用于控制通过 API 生成文本的 成本。
此值已弃用,改用 max_completion_tokens,且
不兼容 o 系列模型。
metadata: optional Metadata or null
可附加到对象的元数据,最多包含 16 组键值对,可 以结构化方式存储对象的额外信息, 并通过 API 或控制台查询对象。
键为最多 64 个字符的字符串,值为 最多 512 个字符的字符串。
modalities: optional array of "text" or "audio" or null
希望模型生成的输出类型。 多数模型能够生成文本,这也是默认值:
["text"]
gpt-4o-audio-preview 模型也可用于
生成音频。如需此模型同时生成
文本和音频响应,可以使用:
["text", "audio"]
"text"
"audio"
moderation: optional object { model, policy } or null
对请求输入和生成输出执行审核的配置。
model: string
审核补全内容所用的审核模型,例如 'omni-moderation-latest'。
policy: optional object { input, output } or null
对受审核响应的输入和输出应用的策略。
input: optional object { mode } or null
响应输入的审核策略。
mode: "score" or "block"
"score"
"block"
output: optional object { mode } or null
响应输出的审核策略。
mode: "score" or "block"
"score"
"block"
n: optional integer or null (default: 1)
每条输入消息要生成的聊天补全候选项数量。计费按所有候选项生成的词元总数计算。保持 n 为 1 可降低成本。
minimum: 1, maximum: 128
parallel_tool_calls: optional boolean (default: true)
工具使用期间是否启用并行函数调用。
prediction: optional ChatCompletionPredictionContent or null
预测输出配置。 预先知道模型响应的大部分内容时,可以显著缩短 响应时间。最常见的场景是重新生成文件, 但只对大部分现有内容作少量修改。
content: string or array of ChatCompletionContentPartText
生成模型响应时应匹配的内容。 如果生成的词元与此内容匹配,整个模型响应 可以更快返回。
TextContent = string
预测输出使用的内容,通常是 你正在作少量修改并重新生成的文件的文本。
ArrayOfContentParts = array of ChatCompletionContentPartText
由具有指定类型的内容部分组成的数组。支持的选项取决于生成响应所用的模型,可以包含文本输入。
minItems: 1
text: string
文本内容。
type: "text"
内容部分的类型。
prompt_cache_breakpoint: optional object { mode, ttl }
标记可复用提示词前缀的精确结束位置。省略 ttl 时,断点继承请求中的 prompt_cache_options.ttl;该边界不会按词元块取整。
type: "content"
要提供的预测内容的类型,当前
固定为 content。
"content"
presence_penalty: optional number or null (default: 0)
数值介于 -2.0 和 2.0。正数会根据新词元 是否已出现在当前文本中惩罚它,提高模型 讨论新话题的概率。
minimum: -2, maximum: 2
prompt_cache_key: optional string or null
OpenAI 用于缓存类似请求的响应,以优化缓存命中率。替代 user 字段。了解更多。
prompt_cache_options: optional object { mode, ttl }
提示词缓存选项,支持 gpt-5.6 及后续模型。默认由 OpenAI 自动选择一个隐式缓存断点。可通过 prompt_cache_breakpoint 为内容块添加显式断点。每个请求最多写入四个断点。缓存匹配会考虑对话中最近最多 80 个断点,不受内容块回看数量限制。将 mode 设为 explicit 可禁用隐式断点。ttl 默认为 30m。支持的存续时间取决于 API,当前详情参阅提示词缓存指南。
mode: optional "implicit" or "explicit"
控制 OpenAI 是否自动创建隐式缓存断点,默认为 implicit。使用 implicit 时,创建一个隐式断点,并写入请求中最近最多三个显式断点。使用 explicit 时,不创建隐式断点,写入最近最多四个显式断点。如果没有显式断点,请求不使用提示词缓存。
"implicit"
"explicit"
ttl: optional "30m"
请求写入的每个隐式和显式缓存断点的最短存续时间,默认为 30m,目前仅支持此值。后端可能保留缓存条目更长时间。
"30m"
prompt_cache_retention: optional "in_memory" or "24h" or null
已弃用,改用 prompt_cache_options.ttl。
提示词缓存的保留策略。设为 24h 可启用扩展提示词缓存,使缓存前缀保持活动更久,最长 24 小时。了解更多。
此字段表示最大保留策略,而
prompt_cache_options.ttl 表示最短缓存存续时间。两者
相互独立,不发生交互。
对于 gpt-5.5、gpt-5.5-pro 及未来模型,仅支持 24h。
对于同时支持 in_memory 和 24h 的较早模型,默认值取决于组织的数据保留策略:
- 未启用 ZDR 的组织默认为
24h。 - 启用 ZDR 的组织在未指定
prompt_cache_retention时默认为in_memory。
"in_memory"
"24h"
reasoning_effort: optional ReasoningEffort or null (default: "medium")
限制推理模型的推理强度。当前支持
none、minimal、low、medium、high、xhigh 和 max。
降低推理强度可能加快响应,并减少响应中用于
推理的词元数。并非所有推理模型都支持每个
取值。各模型的支持情况请参阅
推理指南
中的说明。
"none"
"minimal"
"low"
"medium"
"high"
"xhigh"
"max"
response_format: optional ResponseFormatText or ResponseFormatJSONSchema or ResponseFormatJSONObject
指定模型必须输出的格式的对象。
设为 { "type": "json_schema", "json_schema": {...} } 会启用
结构化输出,确保模型遵循你提供的 JSON
模式。更多信息请参阅结构化输出
指南。
设为 { "type": "json_object" } 会启用旧版 JSON 模式,
确保模型生成有效的 JSON。对于支持的模型,优先使用 json_schema
格式。
ResponseFormatText object { type }
默认响应格式,用于生成文本响应。
type: "text"
定义的响应格式类型,固定为 text。
"text"
ResponseFormatJSONSchema object { json_schema, type }
JSON Schema 响应格式,用于生成结构化 JSON 响应。 参阅结构化输出。
json_schema: object { name, description, schema, strict }
结构化输出配置选项,包含 JSON Schema。
name: string
响应格式的名称,须使用 a-z、A-Z、0-9,或包含 下划线和连字符,最长为 64 个字符。
description: optional string
响应格式的用途描述,模型据此 判断如何按该格式响应。
schema: optional map[unknown]
以 JSON Schema 对象描述的响应格式模式。 JSON Schema 的构建方法参阅此处。
strict: optional boolean or null (default: false)
生成输出时是否启用严格模式遵循。
设为 true 时,模型始终严格遵循
schema 字段中定义的模式。strict 为 true 时仅支持 JSON Schema
的子集。更多信息请参阅结构化输出
指南。
type: "json_schema"
定义的响应格式类型,固定为 json_schema。
"json_schema"
ResponseFormatJSONObject object { type }
JSON 对象响应格式,是生成 JSON 响应的较早方式。
对于支持的模型,建议使用 json_schema。注意:
须在系统消息或用户消息中指示模型生成 JSON,
模型才会生成 JSON。
type: "json_object"
定义的响应格式类型,固定为 json_object。
"json_object"
safety_identifier: optional string or null
稳定的标识,用于检测可能违反 OpenAI 使用政策的应用用户。 ID 应为唯一标识每位用户的字符串,最长 128 个字符。建议对用户名或邮箱地址进行哈希处理,避免发送可识别身份的信息。了解更多。
maxLength: 128
seed: optional integer or null
此功能处于 Beta 阶段。
如果指定,系统会尽力进行确定性采样,使相同 seed 和参数的重复请求返回相同结果。
不保证确定性,应通过响应参数 system_fingerprint 监测后端变化。
format: int64, minimum: -9223372036854775808, maximum: 9223372036854775807
service_tier: optional "auto" or "default" or "flex" or 3 more or null (default: "auto")
指定处理请求所采用的服务类型。
- 设为 'auto' 时,按项目设置的服务层级处理请求。未另行配置时,项目使用 'default'。
- 设为 'default' 时,使用所选模型的标准价格和性能处理请求。
- 设为 'flex' 时,使用 Flex Processing 服务层级处理请求。
- 在请求级别启用快速模式,可在 Responses 或 Chat Completions 请求中传入
service_tier=fast或service_tier=priority。无论请求中使用哪一种值,响应均显示service_tier=priority。 - 未设置时,默认按 'auto' 处理。
设置 service_tier 后,响应体中的同名字段反映实际采用的处理模式,可能与请求参数的值不同。
"auto"
"default"
"flex"
"scale"
"priority"
"fast"
stop: optional string or array of string or null
不支持最新推理模型 o3 和 o4-mini。
最多四个序列,API 遇到时停止生成后续词元。 返回文本不包含停止序列。
string
array of string
minItems: 1, maxItems: 4
store: optional boolean or null (default: false)
是否存储此聊天补全请求的输出,以用于 模型蒸馏或 评测产品。
支持文本和图像输入。注意:超过 8MB 的输入图像会被丢弃。
stream: optional boolean or null (default: false)
设为 true 时,模型响应数据会在生成过程中通过 服务器发送事件(SSE)流式发送给客户端。 更多信息参阅下方的流式传输章节, 处理流式事件的方法参阅流式响应 指南。
stream_options: optional ChatCompletionStreamOptions or null
流式响应的选项,仅在设置 stream: true 时使用。
include_obfuscation: optional boolean
为 true 时启用流混淆。流混淆会在流式增量事件的 obfuscation
字段中添加随机字符,以使载荷大小趋于一致,
缓解某些侧信道攻击。
默认包含这些混淆字段,会增加少量
数据流开销。如果信任应用与 OpenAI API 之间的
网络连接,可以将 include_obfuscation 设为 false,
以优化带宽使用。
include_usage: optional boolean
如果设置,会在 data: [DONE] 消息前额外
流式发送一个块,其 usage 表示整个请求的词元用量,
choices 始终为
空数组。
其他所有块也会包含 usage 字段,但值为
null。注意:如果流被打断,可能收不到
包含请求总词元用量的最后一个块。
temperature: optional number or null (default: 1)
模型采样温度,范围为 0–2。0.8 等较高值使输出更随机,0.2 等较低值使输出更集中、更具确定性。
通常建议只调整此项或 top_p 中的一项,不同时调整两者。
minimum: 0, maximum: 2
tool_choice: optional ChatCompletionToolChoiceOption
控制模型调用哪个工具,或是否调用工具。
none 表示模型不调用工具,而是生成消息。
auto 表示模型可在生成消息和调用一个或多个工具之间选择。
required 表示模型必须调用一个或多个工具。
通过 {"type": "function", "function": {"name": "my_function"}} 指定具体工具,会强制模型调用它。
没有工具时,默认为 none;有工具时,默认为 auto。
ToolChoiceMode = "none" or "auto" or "required"
none 表示模型不调用工具,而是生成消息;auto 表示可在生成消息和调用一个或多个工具之间选择;required 表示必须调用一个或多个工具。
"none"
"auto"
"required"
ChatCompletionAllowedToolChoice object { allowed_tools, type }
将模型可用的工具限制为预先定义的集合。
allowed_tools: ChatCompletionAllowedTools
将模型可用的工具限制为预先定义的集合。
mode: "auto" or "required"
将模型可用的工具限制为预先定义的集合。
auto 允许模型从允许的工具中选择,并生成
消息。
required 要求模型调用一个或多个允许的工具。
"auto"
"required"
tools: array of map[unknown]
应允许模型调用的工具定义列表。
对于 Chat Completions API,工具定义列表可能如下:
[
{ "type": "function", "function": { "name": "get_weather" } },
{ "type": "function", "function": { "name": "get_time" } }
]
type: "allowed_tools"
允许的工具配置类型,固定为 allowed_tools。
"allowed_tools"
ChatCompletionNamedToolChoice object { function, type }
指定模型应使用的工具,用于强制模型调用指定函数。
function: object { name }
name: string
要调用的函数名称。
type: "function"
对于函数调用,类型固定为 function。
"function"
ChatCompletionNamedToolChoiceCustom object { custom, type }
指定模型应使用的工具,用于强制模型调用指定自定义工具。
custom: object { name }
name: string
要调用的自定义工具名称。
type: "custom"
对于自定义工具调用,类型固定为 custom。
"custom"
tools: optional array of ChatCompletionTool
ChatCompletionFunctionTool object { function, type }
可用于生成响应的函数工具。
function: FunctionDefinition
name: string
要调用的函数名称,须使用 a-z、A-Z、0-9,或包含下划线和连字符,最长为 64 个字符。
description: optional string
函数功能的描述,模型据此选择何时以及如何调用该函数。
parameters: optional FunctionParameters
函数接受的参数,以 JSON Schema 对象描述。示例参阅指南,格式说明参阅 JSON Schema 参考。
省略 parameters 表示定义参数列表为空的函数。
strict: optional boolean or null (default: false)
生成函数调用时是否启用严格模式遵循。设为 true 时,模型严格遵循 parameters 字段中定义的模式。strict 为 true 时仅支持 JSON Schema 的子集。结构化输出的更多信息参阅函数调用指南。
type: "function"
工具类型,目前仅支持 function。
"function"
ChatCompletionCustomTool object { custom, type }
按指定格式处理输入的自定义工具。
custom: object { name, description, format }
自定义工具的属性。
name: string
自定义工具的名称,用于在工具调用中标识它。
description: optional string
自定义工具的可选描述,用于提供更多上下文。
format: optional Text { type } or Grammar { grammar, type }
自定义工具的输入格式,默认为无约束文本。
Text object { type }
无约束的自由文本。
type: "text"
无约束文本格式,固定为 text。
"text"
Grammar object { grammar, type }
用户定义的语法。
grammar: object { definition, syntax }
选用的语法。
definition: string
语法定义。
syntax: "lark" or "regex"
语法定义的语法类型,可选 lark 或 regex。
"lark"
"regex"
type: "grammar"
语法格式,固定为 grammar。
"grammar"
type: "custom"
自定义工具类型,固定为 custom。
"custom"
top_logprobs: optional integer or null
数值为 0–20 的整数,指定每个词元位置最多返回
多少个最可能的词元,每个词元附带其对数
概率。某些情况下,返回数量可能少于
请求数量。
使用此参数时,logprobs 必须为 true。
minimum: 0, maximum: 20
top_p: optional number or null (default: 1)
除 temperature 采样之外的另一种方式,称为核采样。 模型考虑累计概率质量达到 top_p 的词元。 例如 0.1 表示仅考虑累计占最高 10% 概率质量 的词元。
通常建议只调整此项或 temperature 中的一项,不同时调整两者。
minimum: 0, maximum: 1
user: optional string or null
此字段正被 safety_identifier 和 prompt_cache_key 替代。使用 prompt_cache_key 保持缓存优化。
最终用户的稳定标识。
通过更好地对类似请求分组,提高缓存命中率,并帮助 OpenAI 检测与防止滥用。了解更多。
verbosity: optional "low" or "medium" or "high" or null (default: "medium")
限制模型响应的详细程度。较低值会生成
更简洁的响应,较高值会生成更详细的响应。
当前支持 low、medium 和 high,默认值为
medium.
"low"
"medium"
"high"
web_search_options: optional object { search_context_size, user_location }
搜索网页以获取可用于响应的相关结果的工具。 了解网页搜索工具。
search_context_size: optional "low" or "medium" or "high" (default: "medium")
搜索占用上下文窗口空间大小的总体指导。
可选 low、medium 或 high,默认为 medium。
"low"
"medium"
"high"
user_location: optional object { approximate, type } or null
搜索使用的大致位置参数。
approximate: object { city, country, region, timezone }
搜索使用的大致位置参数。
city: optional string
用户所在城市的自由文本,例如 San Francisco。
country: optional string
用户所在国家/地区的两字母
ISO 代码,
例如 US。
region: optional string
用户所在地区的自由文本,例如 California。
timezone: optional string
用户所在的 IANA 时区,
例如 America/Los_Angeles。
type: "approximate"
位置估算类型,固定为 approximate。
"approximate"
返回值
ChatCompletion object { id, choices, created, 7 more }
表示模型根据输入返回的聊天补全响应。
id: string
聊天补全的唯一标识。
choices: array of object { finish_reason, index, logprobs, message }
聊天补全候选项列表。n 大于 1 时,可能包含多个候选项。
finish_reason: "stop" or "length" or "tool_calls" or 2 more
模型停止生成词元的原因。到达自然停止点或指定停止序列时为 stop,
达到请求中指定的最大词元数时为 length,
因内容过滤器标记而省略内容时为 content_filter,
调用工具时为 tool_calls,调用函数时为已弃用的 function_call。
详情参阅模型规范。
"stop"
"length"
"tool_calls"
"content_filter"
"function_call"
index: integer
候选项在列表中的索引。
logprobs: object { content, refusal } or null
候选项的对数概率信息。
content: array of ChatCompletionTokenLogprob or null
消息内容词元及其对数概率的列表。
token: string
词元。
bytes: array of number or null
表示词元 UTF-8 字节的整数列表。一个字符由多个词元表示、需要组合字节以正确还原文本时,此字段尤其有用。词元没有字节表示时可为 null。
logprob: number
若词元位于最可能的前 20 个词元内,此字段为其对数概率。否则以 -9999.0 表示该词元出现的可能性极低。
top_logprobs: array of object { token, bytes, logprob }
当前词元位置上最可能的词元及其对数概率列表,实际条目数可能少于请求的 top_logprobs。
token: string
词元。
bytes: array of number or null
表示词元 UTF-8 字节的整数列表。一个字符由多个词元表示、需要组合字节以正确还原文本时,此字段尤其有用。词元没有字节表示时可为 null。
logprob: number
若词元位于最可能的前 20 个词元内,此字段为其对数概率。否则以 -9999.0 表示该词元出现的可能性极低。
refusal: array of ChatCompletionTokenLogprob or null
拒绝响应词元及其对数概率列表。
token: string
词元。
bytes: array of number or null
表示词元 UTF-8 字节的整数列表。一个字符由多个词元表示、需要组合字节以正确还原文本时,此字段尤其有用。词元没有字节表示时可为 null。
logprob: number
若词元位于最可能的前 20 个词元内,此字段为其对数概率。否则以 -9999.0 表示该词元出现的可能性极低。
top_logprobs: array of object { token, bytes, logprob }
当前词元位置上最可能的词元及其对数概率列表,实际条目数可能少于请求的 top_logprobs。
message: ChatCompletionMessage
模型生成的聊天补全消息。
content: string or null
消息内容。
role: "assistant"
消息作者的角色。
"assistant"
annotations: optional array of object { type, url_citation }
消息注释,在适用时提供,例如使用 网络搜索工具时。
type: "url_citation"
URL 引用的类型,固定为 url_citation。
"url_citation"
url_citation: object { end_index, start_index, title, url }
使用网络搜索时的 URL 引用。
end_index: integer
URL 引用在消息中最后一个字符的索引。
start_index: integer
URL 引用在消息中第一个字符的索引。
title: string
网络资源标题。
url: string
网络资源 URL。
format: uri
audio: optional ChatCompletionAudio or null
请求音频输出模态时,此对象包含 模型音频响应的数据。参阅音频指南。
id: string
此音频响应的唯一标识。
data: string
模型生成的 Base64 编码音频字节,采用 请求指定的格式。
expires_at: integer
此音频响应不再能在服务端用于多轮 对话的时间,以 Unix 时间戳表示, 单位为秒。
format: unixtime
transcript: string
模型生成音频的转录文本。
function_call: optional object { arguments, name } or null
此字段已弃用,由 tool_calls 替代。它包含模型生成的待调用函数名称与参数。
arguments: string
模型以 JSON 格式生成的函数调用参数。模型可能生成无效 JSON,也可能虚构函数结构中未定义的参数。调用函数前,应在代码中验证这些参数。
name: string
要调用的函数名称。
refusal: optional string or null
模型生成的拒绝消息。
tool_calls: optional array of ChatCompletionMessageToolCall or null
模型生成的工具调用,例如函数调用。
ChatCompletionMessageFunctionToolCall object { id, function, type }
模型生成的函数工具调用。
id: string
工具调用 ID。
function: object { arguments, name }
模型调用的函数。
arguments: string
模型以 JSON 格式生成的函数调用参数。模型可能生成无效 JSON,也可能虚构函数结构中未定义的参数。调用函数前,应在代码中验证这些参数。
name: string
要调用的函数名称。
type: "function"
工具类型,目前仅支持 function。
"function"
ChatCompletionMessageCustomToolCall object { id, custom, type }
模型生成的自定义工具调用。
id: string
工具调用 ID。
custom: object { input, name }
模型调用的自定义工具。
input: string
模型生成的自定义工具调用输入。
name: string
要调用的自定义工具名称。
type: "custom"
工具类型,固定为 custom。
"custom"
created: integer
聊天补全创建时的 Unix 时间戳,单位为秒。
format: unixtime
model: string
聊天补全所使用的模型。
object: "chat.completion"
对象类型,固定为 chat.completion。
"chat.completion"
metadata: optional Metadata or null
可附加到对象的元数据,最多包含 16 组键值对,可 以结构化方式存储对象的额外信息, 并通过 API 或控制台查询对象。
键为最多 64 个字符的字符串,值为 最多 512 个字符的字符串。
moderation: optional object { input, output } or null
请求启用了审核补全时,提供请求输入与生成输出的 审核结果。
input: ModerationResults { model, results, type } or Error { code, message, type }
请求输入的审核结果。
ModerationResults object { model, results, type }
请求输入或生成输出的成功审核结果。
model: string
生成审核结果的审核模型。
results: array of object { categories, category_applied_input_types, category_scores, 3 more }
审核结果列表。
categories: map[boolean]
审核类别到布尔值的映射。输入被某类别标记时,该类别值为 true。
category_applied_input_types: map[array of "text" or "image"]
各类别评分所涵盖的输入模态。
"text"
"image"
category_scores: map[number]
审核类别到分数的映射。
flagged: boolean
表示内容是否被任一类别标记的布尔值。
model: string
生成此结果的审核模型。
type: "moderation_result" (default: "moderation_result")
对象类型,成功审核结果中固定为 moderation_result。
"moderation_result"
type: "moderation_results"
对象类型,固定为 moderation_results。
"moderation_results"
Error object { code, message, type }
尝试审核时产生的错误。
code: string
错误代码。
message: string
错误消息。
type: "error"
对象类型,固定为 error。
"error"
output: ModerationResults { model, results, type } or Error { code, message, type }
生成输出的审核结果。
ModerationResults object { model, results, type }
请求输入或生成输出的成功审核结果。
model: string
生成审核结果的审核模型。
results: array of object { categories, category_applied_input_types, category_scores, 3 more }
审核结果列表。
categories: map[boolean]
审核类别到布尔值的映射。输入被某类别标记时,该类别值为 true。
category_applied_input_types: map[array of "text" or "image"]
各类别评分所涵盖的输入模态。
"text"
"image"
category_scores: map[number]
审核类别到分数的映射。
flagged: boolean
表示内容是否被任一类别标记的布尔值。
model: string
生成此结果的审核模型。
type: "moderation_result" (default: "moderation_result")
对象类型,成功审核结果中固定为 moderation_result。
"moderation_result"
type: "moderation_results"
对象类型,固定为 moderation_results。
"moderation_results"
Error object { code, message, type }
尝试审核时产生的错误。
code: string
错误代码。
message: string
错误消息。
type: "error"
对象类型,固定为 error。
"error"
service_tier: optional "auto" or "default" or "flex" or 3 more or null (default: "auto")
指定处理请求所采用的服务类型。
- 设为 'auto' 时,按项目设置的服务层级处理请求。未另行配置时,项目使用 'default'。
- 设为 'default' 时,使用所选模型的标准价格和性能处理请求。
- 设为 'flex' 时,使用 Flex Processing 服务层级处理请求。
- 在请求级别启用快速模式,可在 Responses 或 Chat Completions 请求中传入
service_tier=fast或service_tier=priority。无论请求中使用哪一种值,响应均显示service_tier=priority。 - 未设置时,默认按 'auto' 处理。
设置 service_tier 后,响应体中的同名字段反映实际采用的处理模式,可能与请求参数的值不同。
"auto"
"default"
"flex"
"scale"
"priority"
"fast"
system_fingerprint: optional string
此指纹表示模型运行时的后端配置。
可结合请求的 seed 参数,判断后端变动是否可能影响输出的确定性。
usage: optional CompletionUsage
补全请求的用量统计。
completion_tokens: integer (default: 0)
生成补全中的词元数量。
prompt_tokens: integer (default: 0)
提示词中的词元数量。
total_tokens: integer (default: 0)
请求使用的词元总数,为提示词与补全之和。
completion_tokens_details: optional object { accepted_prediction_tokens, audio_tokens, reasoning_tokens, 2 more }
补全词元的用量明细。
accepted_prediction_tokens: optional integer (default: 0)
使用预测输出时,预测内容中 实际出现在补全中的词元数量。
audio_tokens: optional integer (default: 0)
模型生成的音频输入词元数量。
reasoning_tokens: optional integer (default: 0)
模型用于推理的词元数量。
rejected_prediction_tokens: optional integer (default: 0)
使用预测输出时,预测内容中 未出现在补全中的词元数量。与 推理词元一样,这些词元仍计入补全 词元总量,用于计费、输出和上下文窗口 限制的计算。
text_tokens: optional integer
模型生成的文本输出词元数量。
prompt_tokens_details: optional object { audio_tokens, cache_write_tokens, cached_tokens, 2 more }
提示词词元的用量明细。
audio_tokens: optional integer (default: 0)
提示词中的音频输入词元数量。
cache_write_tokens: optional integer (default: 0)
写入缓存的提示词词元原始数量。
cached_tokens: optional integer (default: 0)
提示词中命中缓存的词元数量。
image_tokens: optional integer
提示词中的图像输入词元数量。
text_tokens: optional integer
提示词中的文本输入词元数量。
示例
## 设置 OPENAI_API_KEY,并按接口替换模型、消息及聊天补全 ID。
curl https://api.openai.com/v1/chat/completions \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"messages": [
{
"content": "string",
"role": "developer"
}
],
"model": "gpt-6-astra",
"n": 1,
"prompt_cache_key": "prompt-cache-key-1234",
"safety_identifier": "safety-identifier-1234",
"temperature": 1,
"top_p": 1,
"user": "user-1234"
}'
200 响应示例
{
"id": "id",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": {
"content": [
{
"token": "token",
"bytes": [
0
],
"logprob": 0,
"top_logprobs": [
{
"token": "token",
"bytes": [
0
],
"logprob": 0
}
]
}
],
"refusal": [
{
"token": "token",
"bytes": [
0
],
"logprob": 0,
"top_logprobs": [
{
"token": "token",
"bytes": [
0
],
"logprob": 0
}
]
}
]
},
"message": {
"content": "content",
"role": "assistant",
"annotations": [
{
"type": "url_citation",
"url_citation": {
"end_index": 0,
"start_index": 0,
"title": "title",
"url": "https://example.com"
}
}
],
"audio": {
"id": "id",
"data": "data",
"expires_at": 0,
"transcript": "transcript"
},
"function_call": {
"arguments": "arguments",
"name": "name"
},
"refusal": "refusal",
"tool_calls": [
{
"id": "id",
"function": {
"arguments": "arguments",
"name": "name"
},
"type": "function"
}
]
}
}
],
"created": 0,
"model": "model",
"object": "chat.completion",
"metadata": {
"foo": "string"
},
"moderation": {
"input": {
"model": "model",
"results": [
{
"categories": {
"foo": true
},
"category_applied_input_types": {
"foo": [
"text"
]
},
"category_scores": {
"foo": 0
},
"flagged": true,
"model": "model",
"type": "moderation_result"
}
],
"type": "moderation_results"
},
"output": {
"model": "model",
"results": [
{
"categories": {
"foo": true
},
"category_applied_input_types": {
"foo": [
"text"
]
},
"category_scores": {
"foo": 0
},
"flagged": true,
"model": "model",
"type": "moderation_result"
}
],
"type": "moderation_results"
}
},
"service_tier": "auto",
"system_fingerprint": "system_fingerprint",
"usage": {
"completion_tokens": 0,
"prompt_tokens": 0,
"total_tokens": 0,
"completion_tokens_details": {
"accepted_prediction_tokens": 0,
"audio_tokens": 0,
"reasoning_tokens": 0,
"rejected_prediction_tokens": 0,
"text_tokens": 0
},
"prompt_tokens_details": {
"audio_tokens": 0,
"cache_write_tokens": 0,
"cached_tokens": 0,
"image_tokens": 0,
"text_tokens": 0
}
}
}
示例
## 设置 OPENAI_API_KEY,并按接口替换模型、消息及聊天补全 ID。
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-6-astra",
"messages": [
{
"role": "developer",
"content": "你是一名乐于助人的助手。"
},
{
"role": "user",
"content": "你好!"
}
]
}'
响应示例
{
"id": "chatcmpl-B9MBs8CjcvOU2jLn4n570S5qMJKcT",
"object": "chat.completion",
"created": 1741569952,
"model": "gpt-6-astra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!今天有什么可以帮你?",
"refusal": null,
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 19,
"completion_tokens": 10,
"total_tokens": 29,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"service_tier": "default"
}
函数
## 设置 OPENAI_API_KEY,并按接口替换模型、消息及聊天补全 ID。
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-6-astra",
"messages": [
{
"role": "user",
"content": "波士顿今天天气怎么样?"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "查询指定地点的当前天气",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市和州,例如加利福尼亚州旧金山"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["location"]
}
}
}
],
"tool_choice": "auto"
}'
响应示例
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1699896916,
"model": "gpt-6-astra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": null,
"tool_calls": [
{
"id": "call_abc123",
"type": "function",
"function": {
"name": "get_current_weather",
"arguments": "{\n\"location\": \"Boston, MA\"\n}"
}
}
]
},
"logprobs": null,
"finish_reason": "tool_calls"
}
],
"usage": {
"prompt_tokens": 82,
"completion_tokens": 17,
"total_tokens": 99,
"completion_tokens_details": {
"reasoning_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
}
}
图像输入
## 设置 OPENAI_API_KEY,并按接口替换模型、消息及聊天补全 ID。
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-6-astra",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "这张图里有什么?"
},
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
}
}
]
}
],
"max_tokens": 300
}'
响应示例
{
"id": "chatcmpl-B9MHDbslfkBeAs8l4bebGdFOJ6PeG",
"object": "chat.completion",
"created": 1741570283,
"model": "gpt-6-astra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "图中一条木栈道穿过郁郁葱葱的绿色田野或草地。天空湛蓝,散布着一些云朵,营造出宁静平和的氛围。背景中可以看到树木和灌木。",
"refusal": null,
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 1117,
"completion_tokens": 46,
"total_tokens": 1163,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"service_tier": "default"
}
对数概率示例
## 设置 OPENAI_API_KEY,并按接口替换模型、消息及聊天补全 ID。
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-6-sol",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"reasoning_effort": "none",
"logprobs": true,
"top_logprobs": 2
}'
响应示例
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1702685778,
"model": "gpt-6-sol",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I assist you today?"
},
"logprobs": {
"content": [
{
"token": "Hello",
"logprob": -0.31725305,
"bytes": [72, 101, 108, 108, 111],
"top_logprobs": [
{
"token": "Hello",
"logprob": -0.31725305,
"bytes": [72, 101, 108, 108, 111]
},
{
"token": "Hi",
"logprob": -1.3190403,
"bytes": [72, 105]
}
]
},
{
"token": "!",
"logprob": -0.02380986,
"bytes": [
33
],
"top_logprobs": [
{
"token": "!",
"logprob": -0.02380986,
"bytes": [33]
},
{
"token": " there",
"logprob": -3.787621,
"bytes": [32, 116, 104, 101, 114, 101]
}
]
},
{
"token": " How",
"logprob": -0.000054669687,
"bytes": [32, 72, 111, 119],
"top_logprobs": [
{
"token": " How",
"logprob": -0.000054669687,
"bytes": [32, 72, 111, 119]
},
{
"token": "<|end|>",
"logprob": -10.953937,
"bytes": null
}
]
},
{
"token": " can",
"logprob": -0.015801601,
"bytes": [32, 99, 97, 110],
"top_logprobs": [
{
"token": " can",
"logprob": -0.015801601,
"bytes": [32, 99, 97, 110]
},
{
"token": " may",
"logprob": -4.161023,
"bytes": [32, 109, 97, 121]
}
]
},
{
"token": " I",
"logprob": -3.7697225e-6,
"bytes": [
32,
73
],
"top_logprobs": [
{
"token": " I",
"logprob": -3.7697225e-6,
"bytes": [32, 73]
},
{
"token": " assist",
"logprob": -13.596657,
"bytes": [32, 97, 115, 115, 105, 115, 116]
}
]
},
{
"token": " assist",
"logprob": -0.04571125,
"bytes": [32, 97, 115, 115, 105, 115, 116],
"top_logprobs": [
{
"token": " assist",
"logprob": -0.04571125,
"bytes": [32, 97, 115, 115, 105, 115, 116]
},
{
"token": " help",
"logprob": -3.1089056,
"bytes": [32, 104, 101, 108, 112]
}
]
},
{
"token": " you",
"logprob": -5.4385737e-6,
"bytes": [32, 121, 111, 117],
"top_logprobs": [
{
"token": " you",
"logprob": -5.4385737e-6,
"bytes": [32, 121, 111, 117]
},
{
"token": " today",
"logprob": -12.807695,
"bytes": [32, 116, 111, 100, 97, 121]
}
]
},
{
"token": " today",
"logprob": -0.0040071653,
"bytes": [32, 116, 111, 100, 97, 121],
"top_logprobs": [
{
"token": " today",
"logprob": -0.0040071653,
"bytes": [32, 116, 111, 100, 97, 121]
},
{
"token": "?",
"logprob": -5.5247097,
"bytes": [63]
}
]
},
{
"token": "?",
"logprob": -0.0008108172,
"bytes": [63],
"top_logprobs": [
{
"token": "?",
"logprob": -0.0008108172,
"bytes": [63]
},
{
"token": "?\n",
"logprob": -7.184561,
"bytes": [63, 10]
}
]
}
],
"refusal": null
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 9,
"total_tokens": 18,
"completion_tokens_details": {
"reasoning_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
}
}
流式传输示例
## 设置 OPENAI_API_KEY,并按接口替换模型、消息及聊天补全 ID。
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-6-astra",
"messages": [
{
"role": "developer",
"content": "你是一名乐于助人的助手。"
},
{
"role": "user",
"content": "你好!"
}
],
"stream": true
}'
响应示例
data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-6-astra", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-6-astra", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{"content":"你好"},"logprobs":null,"finish_reason":null}]}
: Intermediate chat completion chunks omitted.
data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-6-astra", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
data: [DONE]

TRAE-AI编程


更多建议: