Skip to content

基础文本对话

POST  v1/chat/completions

本中转所有模型均已适配v1/chat/completions 只需要把模型名称完整复制到model参数即可使用

请求参数

Authorization

在 Header 添加参数 Authorization,其值为在 Bearer 之后拼接 Token。

Authorization: Bearer ******************

Header 参数

参数类型必填说明示例
Content-Typestring可选请求体的数据格式类型application/json
Acceptstring可选客户端期望接收的响应数据格式application/json

Body 参数

Content-Type: application/json

参数名类型必填项说明
modelstring必需要使用的模型 ID。有关哪些模型适用于 Chat API 的详细信息,请参阅模型端点兼容性表。
messagesarray [object]必需模型聊天记录
└─rolestring可选角色类型:user / assistant / system
└─contentstring可选文本内容
storeboolean可选是否存储此聊天补全请求的输出以用于模型蒸馏或评估产品。
reasoning_effortstring可选仅适用于 o 系列的模型。 约束推理模型的推理工作。当前支持的值为 lowmediumhigh。减少推理工作可以加快响应速度并减少响应中用于推理的标记数。
metadataobject可选可以附加到对象的 16 个键值对集合。这对于以结构化格式存储对象的其他信息很有用,并可以通过 API 或仪表板查询对象。 - 键:最大长度为 64 个字符的字符串。 - 值:最大长度为 512 个字符的字符串。
modalitiesarray[string]可选您希望模型为此请求生成的输出类型。大多数模型都能生成文本,这是默认设置:["text"]。 该模型还可以用于生成音频。要请求此模型同时生成文本和音频响应,您可以使用:["text", "audio"]
predictionobject可选预测输出的配置。当提前知道模型响应的大部分内容时,可以大大提高响应时间。这在您只对文件进行微小更改时最常见。
audioobject可选音频输出的参数。当使用 modalities: ["audio"] 请求音频输出时需要。
temperaturenumber可选要使用的采样温度,介于 0 和 2 之间。 - 较高值(如 0.8):使输出更加随机。 - 较低值(如 0.2):使其更加集中和确定性。 建议:通常建议更改此值或 top_p,但不要同时更改。
top_pnumber可选一种替代采样温度的方法,称为核采样,其中模型考虑具有 top_p 概率质量的标记结果。因此,0.1 意味着只考虑包含前 10% 概率质量的标记。 建议:通常建议更改此值或 temperature,但不要同时更改。
ninteger可选为每个输入消息生成多少个聊天补全选择。请注意,您将根据所有选择生成的标记数量收费。保持 n 为 1 可最大限度地降低成本。
stopstring可选不支持最新的推理模型和 .o3、o4-mini。 API 将停止生成更多标记的最多 4 个序列。返回的文本不会包含停止序列。
max_completion_tokensinteger可选补全中可以生成的标记数的上限,包括可见输出标记和推理标记。
presence_penaltynumber可选介于 -2.0 和 2.0 之间的数字。正值根据新标记到目前为止在文本中出现的情况来惩罚它们,从而增加模型讨论新主题的可能性。
frequency_penaltynumber可选介于 -2.0 和 2.0 之间的数字。正值根据新标记到目前为止在文本中的现有频率来惩罚它们,从而降低模型逐字重复同一行的可能性。
logit_biasstring可选修改指定标记出现在补全中的可能性。 接受一个 JSON 对象,该对象将标记(由分词器中的标记 ID 指定)映射到从 -100 到 100 的关联偏差值。在数学上,偏差被添加到模型在采样之前生成的对数中。确切的效果会因模型而异,但介于 -1 和 1 之间的值应该会减少或增加选择的可能性;像 -100 或 100 这样的值应该导致相关标记被禁止或独占选择。
logprobsboolean可选是否在响应中包含对数概率。
userstring可选表示最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。
service_tierstring可选指定用于处理请求的延迟层级。此参数与订阅了 scale tier 服务的客户相关: - 如果设置为 'auto',且项目启用了 Scale tier,系统将使用 scale tier 信用直到用完 - 如果设置为 'auto',且项目未启用 Scale tier,请求将使用默认服务层级处理,具有较低的正常运行时间 SLA 且无延迟保证 - 如果设置为 'default',请求将使用默认服务层级处理,具有较低的正常运行时间 SLA 且无延迟保证 - 如果设置为 'flex',请求将使用 Flex Processing 服务层级处理。 未设置时,默认行为为 'auto'。 当设置此参数时,响应体将包含使用的 service_tier
stream_optionsobject必需流式响应的选项。仅在设置 stream: true 时使用。
└─include_usageboolean必需如果设置,将在 data: [DONE] 消息之前流式传输一个附加块。该块上的 usage 字段显示整个请求的令牌使用统计信息,choices 字段始终为空数组。所有其他块也将包含 usage 字段,但值为 null。注意:如果流被中断,您可能不会收到包含请求总令牌使用量的最终使用块。
response_formatstring必需指定模型必须输出的格式。 - 设置为 { "type": "json_schema", "json_schema": {...} } 启用结构化输出,确保模型将匹配您提供的 JSON schema。 - 设置为 { "type": "json_object" } 启用 JSON 模式,确保模型生成的消息是有效的 JSON。 重要提示:使用 JSON 模式时,您还必须通过系统或用户消息自行指示模型生成 JSON。否则,模型可能会生成无尽的空白直到生成达到令牌限制。
seedinteger必需Beta 功能。如果指定,我们的系统将尽最大努力进行确定性采样,使得具有相同 seed 和参数的重复请求应返回相同的结果。不保证确定性,您应参考响应参数的 system_fingerprint 以监控后端的变化
toolsarray[string]必需模型可能调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成 JSON 输入的函数列表。最多支持 128 个函数。
tool_choicestring必需控制模型调用哪个工具(如果有): - none:模型不会调用任何工具,而是生成消息 - auto:模型可以在生成消息或调用一个或多个工具之间选择 - required:模型必须调用一个或多个工具 - {"type": "function", "function": {"name": "my_function"}}:强制模型调用特定工具 当没有工具时默认为 none,有工具时默认为 auto
parallel_tool_callsboolean必需是否在工具使用期间启用并行函数调用。
streamboolean必需如果设置为 true,模型响应数据将在生成时通过服务器发送事件流式传输到客户端。请参阅下方的流式响应部分获取更多信息,以及流式响应指南了解如何处理流式事件。
top_logprobsinteger必需0 到 20 之间的整数,指定在每个标记位置返回的最可能标记的数量,每个标记都有关联的对数概率。如果使用此参数,必须将 logprobs 设置为 true
web_search_optionsobject必需此工具搜索网络以获取相关结果用于回复。了解更多关于网络搜索工具的信息。

请求示例 (JSON)

{
    "model": "gpt-4.1-mini",
    "messages": [
        {
            "role": "user",
            "content": "Hello!"
        }
    ]
}

返回响应

200 成功

Content-Type: application/json

响应参数

参数类型必填说明
idstring必需聊天补全对象的唯一标识符。
objectstring必需对象类型,通常为 "chat.completion"。
createdinteger必需补全创建时的 Unix 时间戳(秒)。
modelstring必需用于生成此补全的模型。
choicesarray [object]必需模型生成的补全列表。
└─indexinteger可选此补全在其列表中的索引。
└─messageobject可选包含模型生成的响应消息的对象。
└─logprobsnull可选如果请求中设置了 logprobs,则包含标记的对数概率。
└─finish_reasonstring可选模型停止生成补全的原因。可能是 "stop"、"length" 或 "tool_calls"。
usageobject必需此补全请求使用的令牌统计信息。
└─prompt_tokensinteger必需提示中使用的令牌数量。
└─completion_tokensinteger必需补全中生成的令牌数量。
└─total_tokensinteger必需使用的总令牌数(提示 + 补全)。
└─prompt_tokens_detailsobject必需提示令牌的详细信息(例如缓存令牌)。
└─completion_tokens_detailsobject必需补全令牌的详细信息(例如推理令牌)。
service_tierstring必需用于处理请求的服务层级。
system_fingerprintstring必需用于监控后端变化的系统指纹。

响应示例

{
    "id": "chatcmpl-CQne0GUFU3glJ6vgbwByj0RbKVTxJ",
    "object": "chat.completion",
    "created": 1760503396,
    "model": "gpt-4.1-mini-2025-04-14",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Hello! How can I assist you today?",
                "refusal": null,
                "annotations": []
            },
            "logprobs": null,
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 9,
        "completion_tokens": 9,
        "total_tokens": 18,
        "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",
    "system_fingerprint": "fp_c064fdde7c"
}

示例代码

python
import http.client
import json

conn = http.client.HTTPSConnection("nxaiapp.com")
payload = json.dumps({
   "model": "gpt-4.1-mini",
   "messages": [
      {
         "role": "user",
         "content": "Hello!"
      }
   ]
})
headers = {
   'Accept': 'application/json',
   'Authorization': 'Bearer <token>',
   'Content-Type': 'application/json'
}
conn.request("POST", "/v1/chat/completions", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))