跳转至

创建对话补全

POST /v1/chat/completions

请参阅 快速上手指南 获取您的 API 密钥。

$YOUR_API_KEY 替换为你在上一步生成的实际 API 密钥。
请确保将 $MODEL_ID 替换为要使用的模型 ID。


根据使用的模型不同,支持的参数可能有所不同,尤其是新一代推理模型。

请求正文


messages 数组 必填
由目前为止对话消息组成的列表。

显示可能的类型

System message 对象
由开发者提供的指令,无论用户发送了什么消息,模型都应遵循。

显示属性

content 字符串或数组 必填
系统消息的内容。


role 字符串 必填
消息作者的角色,此处为 system


name 字符串 可选
参与者的可选名称。


User message 对象
最终用户发送的消息。

显示属性

content 字符串或数组 必填
用户消息的内容。


role 字符串 必填
消息作者的角色,此处为 user


name 字符串 可选
参与者的可选名称。


Assistant message 对象
模型响应用户消息生成的内容。

显示属性

role 字符串或数组 必填
消息作者的角色,此处为 assistant


content 对象或空 可选
助手消息的内容。除非指定了 tool_calls,否则必填。


name 字符串 可选
参与者的可选名称。


refusal 对象或空 可选
助手生成的拒绝响应。


tool_calls 对象或空 可选
助手调用的工具信息。


Tool message 对象

显示属性

content 字符串或数组 必填
工具消息的内容。


role 字符串 必填
消息作者的角色,此处为 tool


tool_call_id 字符串 可选
此消息所响应的工具调用 ID。


model 字符串 必填

用于生成回复的模型 ID。OPE.AI 提供了各种具有不同能力、性能特性和价格的模型。请参阅模型指南浏览和比较可用模型。


frequency_penalty 数字或空 可选 默认值为 0

在 -2.0 到 2.0 之间。正值根据文本中已有的出现频率对新 token 进行惩罚,从而降低模型逐字重复同一行的可能性。


max_tokens 整数或空 可选

对话补全中可生成的最大 token 数量。可以通过此值控制 API 生成文本的费用。


parallel_tool_calls 布尔值 可选 默认值为 true

启用工具使用期间的并行函数调用。


presence_penalty 数字或 null 可选 默认值为 0

介于 -2.0 到 2.0 之间的数字。正值会根据新词是否已在文本中出现而对其进行惩罚,增加模型谈论新话题的可能性。


seed 整数或空 可选

该功能目前处于 Beta 测试阶段。如果指定,系统将尽力进行确定性采样,即相同的 seed 和参数应返回相同的结果。但确定性不保证,需参阅响应中的 system_fingerprint 参数以监控后端变更。


stop 字符串 / 数组 / 空 可选 默认值为 null

最多提供 4 个停止序列,API 在生成到这些序列时停止。返回文本中不会包含停止序列。


stream 布尔值或空 可选 默认值为 false

指定是否使用流式输出。参数值:

false:模型生成完所有内容后一次性返回结果。 ・true:边生成边输出,即每生成一部分内容就立即输出一个片段(chunk)。您需要实时地逐个读取这些片段以获得完整的结果。


stream_options 对象或空 可选 默认值为 null

流式响应选项。仅当 stream: true 时设置。

显示可能的类型

include_usage 布尔值 可选
如果设置,在 data: [DONE] 消息之前将流式传输一个额外块,usage 字段将显示整个请求的 token 使用统计,choices 字段始终为空数组。 其他块也包含 usage 字段,但值为 null。注意:如果流中断,可能无法收到最终的使用情况块。


temperature 数字或空 可选 默认值为 1

采样温度,范围 0 到 2。较高的值(如 0.8)会使输出更随机,较低的值(如 0.2)则使输出更聚焦、确定性更高。一般建议调整此参数或 top_p,但不要同时调整两者。


tool_choice 字符串或对象 可选

控制模型调用哪个工具(如果有的话)。 none:模型不会调用任何工具,而是生成消息。 auto:模型可选择生成消息或调用一个或多个工具。 required:模型必须调用一个或多个工具。 指定特定工具 {"type": "function", "function": {"name": "my_function"}} 将强制模型调用该工具。

如果未配置工具,默认值为 none。 如果配置了工具,默认值为 auto

显示可能的类型

字符串
none 表示模型不会调用任何工具,只生成消息。auto 表示模型可以选择生成消息或调用工具。required 表示必须调用工具。


对象
指定模型应调用的特定工具。用于强制调用特定函数。

显示可能的类型

function 对象 必填

显示属性

name 字符串 必填
要调用的函数名称。


type 字符串 必填
工具类型。目前仅支持 function


tools 数组 可选

模型可以调用的工具列表。目前仅支持函数作为工具。 使用此选项可以提供模型可能生成 JSON 输入的函数列表。最多支持 128 个函数。

显示可能的类型

function 对象 必填

显示属性

name 字符串 必填
要调用的函数名称。必须由字母、数字、下划线和短横线组成,最大长度为 64。


strict 布尔值或 null 可选 默认值为 false
是否在生成函数调用时启用严格模式。如果设置为 true,模型将严格遵循 parameters 字段中定义的模式。


description 字符串 可选
函数的描述,模型将根据描述选择何时以及如何调用函数。


parameters 对象 可选
函数接受的 parameters,以 JSON Schema 格式描述。


type 字符串 必填
工具类型。目前仅支持 function


top_p 数字或 null 可选 默认值为 1

温度采样的替代方案,称为核采样(nucleus sampling)。模型仅考虑具有 top_p 概率质量的 token。 例如 top_p=0.1 表示仅考虑总概率前 10% 的 token。

通常建议只调整 top_ptemperature,不要同时调整两者。


top_k 数字或 null 可选 默认值为 50

top_k 改变了模型选择输出标记的方式。top_k 设为1则下一个选定的标记是模型词汇表中所有标记中最有可能的标记(也称为贪婪解码),如果 top_k设为 3则表示系统将从 3 个概率最高的词元(通过温度确定)中选择下一个词元。

在每个词元选择步骤中,系统都会对概率最高的 top_k 词元进行采样。然后,系统会根据 top_p 进一步过滤词元,并使用温度采样选择最终的词元。

指定较低的值可获得随机程度较低的回答,指定较高的值可获得随机程度较高的回答。




返回值


返回一个对话补全对象。如果启用了流式,返回的是一系列对话补全块对象。