POST https://ark.cn-beijing.volces.com/api/v3/chat/completions
本文介绍Doubao语言大模型API的输入输出参数,帮助您使用接口向大模型发起文字对话请求。服务会将输入的文字信息输入给模型,并返回模型生成的内容。
本接口支持 API Key 鉴权方式,详见鉴权认证方式。
如果您需要使用Access Key来调用,可以使用接口来获取临时API Key,详细接口说明请参见GetApiKey - 获取临时API
参数名称 | 类型 | 是否必填 | 默认值 | 描述 | 示例值 |
---|---|---|---|---|---|
model | String | 是 | - | 您创建的推理接入点 ID | ep-202406040*****-***** |
messages | Array of MessageParam | 是 | - | 由目前为止的对话组成的消息列表
| - |
stream | Boolean | 否 | false | 响应内容是否流式返回
| false |
stream_options | Array ofStreamOptionsParam | 否 | - | 流式响应的选项。仅当 | - |
max_tokens | Integer | 否 | 4096 | 注意
| 4096 |
stop | String or Array | 否 | - | 模型遇到 | ["你好", "天气"] |
frequency_penalty | Float | 否 | 0 | 频率惩罚系数。如果值为正,会根据新 token 在文本中的出现频率对其进行惩罚,从而降低模型逐字重复的可能性。取值范围为 [-2.0, 2.0]。 | 1 |
presence_penalty | Float | 否 | 0 | 存在惩罚系数。如果值为正,会根据新 token 到目前为止是否出现在文本中对其进行惩罚,从而增加模型谈论新主题的可能性。取值范围为 [-2.0, 2.0]。 | 1 |
temperature | Float | 否 | 1 | 采样温度。控制了生成文本时对每个候选词的概率分布进行平滑的程度。取值范围为 [0, 1]。当取值为 0 时模型仅考虑对数概率最大的一个 token。 | 0.8 |
top_p | Float | 否 | 0.7 | 核采样概率阈值。模型会考虑概率质量在 | 0.8 |
logprobs | Boolean | 否 | false | 是否返回输出 tokens 的对数概率。
| false |
top_logprobs | Integer | 否 | 0 | 指定每个输出 token 位置最有可能返回的 token 数量,每个 token 都有关联的对数概率。仅当 | 2 |
logit_bias | Map<String, Integer> | 否 | - | 调整指定 token 在模型输出内容中出现的概率,使模型生成的内容更加符合特定的偏好。 |
|
tools | Array of ToolParam | 否 | - | 模型可以调用的工具列表。目前,仅函数作为工具被支持。用这个来提供模型可能为其生成 JSON 输入的函数列表。 | - |
参数名称 | 类型 | 是否必填 | 默认值 | 描述 | 示例值 |
---|---|---|---|---|---|
role | String | 是 | - | 发出该消息的对话参与者角色,可选值包括:
| user |
content | String | 否 | - | 消息内容
| 世界第一高山是什么? |
tool_calls | Array of MessageToolCallParam | 否 | - | 模型生成的工具调用。当 | - |
tool_call_id | String | 否 | - | 此消息所回应的工具调用 ID,当 | call_5y********************** |
参数名称 | 类型 | 是否必填 | 默认值 | 描述 | 示例值 |
---|---|---|---|---|---|
id | String | 是 | - | 当前工具调用 ID | call_5y********************** |
type | String | 是 | - | 工具类型,当前仅支持 | function |
function | 是 | - | 模型需要调用的函数 | - |
参数名称 | 类型 | 是否必填 | 默认值 | 描述 | 示例值 |
---|---|---|---|---|---|
name | String | 是 | - | 模型需要调用的函数名称 | get_current_weather |
arguments | String | 是 | - | 模型生成的用于调用函数的参数,JSON 格式。请注意,模型并不总是生成有效的 JSON,并且可能会虚构出一些您的函数参数规范中未定义的参数。在调用函数之前,请在您的代码中验证这些参数是否有效。 | {"location": "Boston, MA"} |
参数名称 | 类型 | 是否必填 | 默认值 | 描述 | 示例值 |
---|---|---|---|---|---|
type | String | 是 | - | 工具类型,当前仅支持 | function |
function | 是 | - | 模型可以调用的工具列表。 | - |
参数名称 | 类型 | 是否必填 | 默认值 | 描述 | 示例值 |
---|---|---|---|---|---|
name | String | 是 | - | 函数的名称 | get_current_weather |
description | String | 否 | - | 对函数用途的描述,供模型判断何时以及如何调用该工具函数 | 获取指定城市的天气信息 |
parameters | Object | 否 | 函数请求参数,以 JSON Schema 格式描述。具体格式请参考 JSON Schema 文档 |
|
参数名称 | 类型 | 是否必填 | 默认值 | 描述 | 示例值 |
---|---|---|---|---|---|
include_usage | Boolean | 否 | false | 是否包含本次请求的 token 用量统计信息
| false |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
id | String | 本次请求的唯一标识 | 021718049470528d92fcbe0865fdffdde******************** |
model | String | 本次请求实际使用的模型名称和版本 | doubao-pro-4k-240515 |
created | Integer | 本次请求创建时间的 Unix 时间戳(秒) | 1718049470 |
object | String | 固定为 | chat.completion |
choices | Array of Choice | 本次请求的模型输出内容 | - |
usage | 本次请求的 tokens 用量 | - |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
id | String | 本次请求的唯一标识 | 021718049470528d92fcbe0865fdffdde******************** |
model | String | 本次请求实际使用的模型名称和版本 | doubao-pro-4k-240515 |
created | Integer | 本次请求创建时间的 Unix 时间戳(秒) | 1718049470 |
object | String | 固定为 | chat.completion.chunk |
choices | Array of StreamChoice | 本次请求的模型输出内容 | - |
usage | 本次请求的 tokens 用量 | - |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
index | Integer | 当前元素在 | 0 |
finish_reason | String | 模型停止生成 token 的原因。可能的值包括:
| stop |
message | 模型输出的内容 | ||
logprobs | 当前内容的对数概率信息 |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
role | String | 固定为 | assistant |
content | String | 模型生成的消息内容, | "你好" |
tool_calls | Array of MessageToolCall | 模型生成的工具调用, |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
id | String | 当前工具调用 ID | call_5y********************** |
type | String | 工具类型,当前仅支持 | function |
function | 模型需要调用的函数 |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
name | String | 模型需要调用的函数名称 | get_current_weather |
arguments | String | 模型生成的用于调用函数的参数,JSON 格式。请注意,模型并不总是生成有效的 JSON,并且可能会虚构出一些您的函数参数规范中未定义的参数。在调用函数之前,请在您的代码中验证这些参数是否有效。 | {"location": "Boston, MA"} |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
content | Array of TokenLogprob |
| - |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
token | String | 当前 token | The |
bytes | Array of Integer | 当前 token 的 UTF-8 值,格式为整数列表。当一个字符由多个 token 组成(表情符号或特殊字符等)时可以用于字符的编码和解码。如果 token 没有 UTF-8 值则为空。 | [84, 104, 101] |
logprob | Float | 当前 token 的对数概率 | -0.0155029296875 |
top_logprobs | Array of TopLogprob | 在当前 token 位置最有可能的标记及其对数概率的列表。在一些情况下,返回的数量可能比请求参数 | - |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
token | String | 当前 token | The |
bytes | Array of Integer | 当前 token 的 UTF-8 值,格式为整数列表。当一个字符由多个 token 组成(表情符号或特殊字符等)时可以用于字符的编码和解码。如果 token 没有 UTF-8 值则为空。 | [84, 104, 101] |
logprob | Float | 当前 token 的对数概率 | -0.0155029296875 |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
prompt_tokens | Integer | 输入的 prompt token 数量 | 130 |
completion_tokens | Integer | 模型生成的 token 数量 | 100 |
total_tokens | Integer | 本次请求消耗的总 token 数量(输入 + 输出) | 240 |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
index | Integer | 当前元素在 | 0 |
finish_reason | String | 模型停止生成 token 的原因。可能的值包括:
| stop |
delta | 模型输出的内容 | - | |
logprobs | 当前内容的对数概率信息 | - |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
role | String | 固定为 | assistant |
content | String | 模型生成的消息内容, | "你好" |
tool_calls | Array of ChoiceDeltaToolCall | 模型生成的工具调用列表, | - |
参数名称 | 类型 | 描述 | 示例值 |
---|---|---|---|
index | Interger | 当前元素在 | 0 |
id | String | 当前工具调用 ID | call_5y********************** |
type | String | 工具类型,当前仅支持 | function |
function | 模型需要调用的函数 | - |
curl https://ark.cn-beijing.volces.com/api/v3/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ea764f0f-3b60-45b3-****-************" \ -d '{ "model": "ep-20240704******-*****", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Hello!" } ] }'
{ "id": "021718067849899d92fcbe0865fdffdde********************", "object": "chat.completion", "created": 1720582714, "model": "doubao-pro-32k-240615", "choices": [{ "index": 0, "message": { "role": "assistant", "content": "Hello, can i help you with something?" }, "logprobs": null, "finish_reason": "stop" }], "usage": { "prompt_tokens": 22, "completion_tokens": 9, "total_tokens": 31 } }
本接口调用失败的返回结构和参数释义请参见返回结构文档。
本接口与业务逻辑相关的错误码如下表所示。公共错误码请参见公共错误码文档。
HTTP 状态码 | 错误类型 type | 错误代码 code | 错误信息 message | 含义 |
---|---|---|---|---|
400 | BadRequest | SensitiveContentDetected | The request failed because the input text may contain sensitive information. | 输入文本可能包含敏感信息,请您使用其他 prompt。 |