创建模型响应
本接口用于创建模型响应请求,支持多轮对话、工具调用、结构化输出等高级功能。通过 Responses API,您可以构建更加灵活和强大的 AI 应用。
开通服务
请求方法
POST:<ai-api-base-url>/llm/v1/responses
其中,<ai-api-base-url> 为您的 API Key 所属数据中心的域名:
- 北京数据中心:
https://ai.rong-api.com - 北美数据中心:
https://ai.us-light-api.com
在多轮连续对话中,建议在每次请求之间加入约 100 毫秒的延迟,否则可能会导致调用失败。
请求头参数
| 参数名 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
Authorization | string | 是 | - | 身份认证令牌,格式为 Bearer <your API key>,需替换为实际 API Key,用于验证用户权限。 |
正文参数
基础参数
| 参数名 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
model | string | 是 | - | 您需要调用的模型。当前支持 Doubao/Doubao-seed-1.6。 |
input | string/array | 是 | - | 输入的内容,模型需要处理的输入信息。详见输入参数说明。 |
instructions | string/null | 否 | null | 在模型上下文中插入系统消息或者开发者作为第一条指令。当与 previous_response_id 一起使用时,前一个回复中的指令不会被继承到下一个回复中。注意:不可与缓存能力一起使用。配置了 instructions 字段后,本轮请求无法写入缓存和使用缓存,表现为:
|
previous_response_id | string/null | 否 | null | 上一个模型回复的唯一标识符。使用该标识符可以实现多轮对话。 注意:在多轮连续对话中,建议在每次请求之间加入约 100 毫秒的延迟,否则可能会导致调用失败。 |
expire_at | integer | 否 | 创建时刻+259200 | 设置存储的过期时刻,需传入 UTC Unix 时间戳(单位:秒),取值范围:(创建时刻, 创建时刻+259200],即最多保留3天。对 store(上下文存储)和 caching(上下文缓存)都生效。 注意:缓存存储时间计费,过期时刻-创建时刻,不满 1 小时按 1 小时计算。 |
max_output_tokens | integer/null | 否 | null | 模型输出最大 token 数,包含模型回答和思维链内容。 |
输出控制参数
| 参数名 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
temperature | float/null | 否 | 1 | 采样温度,取值范围:[0, 2]。控制了生成文本时对每个候选词的概率分布进行平滑的程度。较高的值(如 0.8)会使输出更加随机,较低的值(如 0.2)会使输出更加集中确定。 建议:仅调整 temperature 或 top_p 其中之一,不建议两者都修改。 |
top_p | float/null | 否 | 0.7 | 核采样概率阈值,取值范围:[0, 1]。模型会考虑概率质量在 top_p 内的 token 结果。0.1 意味着只考虑概率质量最高的前 10% 的 token。取值越大生成的随机性越高,取值越低生成的确定性越高。 建议:仅调整 temperature 或 top_p 其中之一,不建议两者都修改。 |
功能控制参数
| 参数名 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
thinking | object | 否 | 取决于调用的模型 | 控制模型是否开启深度思考模式。包含 type 字段,取值范围:
|
caching | object | 否 | {"type": "disabled"} | 是否开启缓存。包含 type 字段,取值范围:
|
store | boolean/null | 否 | true | 是否储存生成的模型响应,以便后续通过 API 检索。
|
stream | boolean/null | 否 | false | 响应内容是否流式返回。
|
输出格式参数
| 参数名 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
text | object | 否 | - | 模型文本输出的格式定义,可以是自然语言,也可以是结构化的 JSON 数据。详见文本格式参数说明。 |
工具参数
| 参数名 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
tools | array | 否 | - | 模型可以调 用的工具,当您需要让模型调用工具时,需要配置该结构体。详见工具参数说明。 |
tool_choice | string/object | 否 | 见说明 | 仅 Doubao/Doubao-seed-1.6*** 模型支持此字段。控制模型返回信息中是否有待调用的工具。当没有指定工具时,默认值为 none;如果存在工具,默认值为 auto。详见 tool_choice 参数说明。 |
max_tool_calls | integer | 否 | - | 最大工具调用轮次,取值范围:[1, 10]。
|
input 参数说明
input 参数用于指定模型需要处理的输入内容,支持以下两种类型:
文本输入(string)
直接输入文本字符串,等同于使用 user 角色输入的文本信息。
示例:
"input": "请介绍一下融云 AI API 服务。"
元素列表(array)
输入给模型的信息元素数组,可以包括以下类型:
输入的消息(message)
发送给模型的消息,其中角色用于指示指令遵循的优先级层级。由 developer 或 system 角色给出的指令优先于 user 角色给出的指令。assistant 角色的消息通常被认为是模型在先前交互中生成的回复。
消息结构
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
type | string | 是 | 消息输入的类型,固定为 message。 |
role | string | 是 | 输入消息的角色。可选值:user、system、assistant、developer。 |
content | string/array | 是 | 用于生成回复的内容,支持文本、图片或视频输入。详见 content 内容类型。 |
status | string | 否 | 项目状态。可选值:in_progress、completed、incomplete。 |
content 内容类型
文本内容(string)
直接输入文本字符串。
示例:
{
"type": "message",
"role": "user",
"content": "请介绍一下融云 AI API 服务。"
}
内容列表(array)
包含一个或多个输入项的列表,支持以下内容类型:
输入模型的文本
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
type | string | 是 | 输入项的类型,固定为 input_text。 |
text | string | 是 | 输入模型的文本内容。 |
translation_options | object | 否 | 翻译配置,仅特定翻译模型支持。详见下方说明。 |
translation_options 字段:
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
source_language | string | 否 | 需要翻译的信息的源语言语 种。 |
target_language | string | 是 | 需要翻译为何目标语言语种。 |
示例:
{
"type": "input_text",
"text": "输入模型的文本内容",
"translation_options": {
"source_language": "en",
"target_language": "zh"
}
}
输入模型的图片
| 字段 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
type | string | 是 | - | 输入项的类型,固定为 input_image。 |
image_url | string | 是 | - | 要发送给模型的图片 URL。可以是完整的 URL,或以 data URL 形式编码的 base64 图片。 |
detail | string | 否 | auto | 发送给模型的图片细节级别。可选值:high、low、auto。 |
示例:
{
"type": "input_image",
"image_url": "https://example.com/image.jpg",
"detail": "auto"
}
输入模型的视频
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
type | string | 是 | 输入项的类型,固定为 input_video。 |
video_url | string | 是 | 要发送给模型的视频 URL。可以是完整的 URL,或以 data URL 形式编码的 base64 视频。 |
fps | float | 否 | 每秒钟从视频中抽取指定数量的图像,取值范围:[0.2, 5]。 |
示例:
{
"type": "input_video",
"video_url": "https://example.com/video.mp4",
"fps": 1.0
}
上下文元素
表示模型生成回复时需参考的上下文内容,包括历史消息、工具调用信息等。
输入的信息
历史请求中发送给模型的信息。
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
type | string | 是 | 消息输入的类型,固定为 message。 |
role | string | 是 | 输入消息的角色。可选值:system、user、developer。 |
content | array | 是 | 与输入的消息中 content 字段的结构完全一致。 |
status | string | 否 | 项目状态。可选值:in_progress、completed、incomplete。 |
工具函数信息
模型调用工具函数的信息。
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
type | string | 是 | 工具调用的类型,固定为 function_call。 |
call_id | string | 是 | 模型生成的函数工具调用的唯一 ID。 |
name | string | 是 | 要运行的函数的名称。 |
arguments | string | 是 | 要传递给函数的参数的 JSON 字符串。 |
status | string | 否 | 该项的状态。 |
示例:
{
"type": "function_call",
"call_id": "call_abc123",
"name": "get_weather",
"arguments": "{\"city\":\"北京\"}"
}
工具返回的信息
调用工具后,工具返回的信息。
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
type | string | 是 | 工具调用的类型,固定为 function_call_output。 |
call_id | string | 是 | 模型生成的函数工具调用的唯一 ID。 |
output | string | 是 | 调用工具后,工具输出的结果。 |
status | string | 否 | 该项的状态。 |
示例:
{
"type": "function_call_output",
"call_id": "call_abc123",
"output": "{\"temperature\":\"15°C\",\"weather\":\"晴\"}"
}
text 参数说明
text 是一个 object,用于定义模型文本输出的格式,可以是自然语言,也可以是结构化的 JSON 数据。
text.format 对象用于指定模型文本输出的格式,默认值为 { "type": "text" },支持以下格式类型:
- 文本格式(text):响应格式为自然语言
- JSON Object:响应格式为 JSON 对象
- JSON Schema:响应格式为 JSON 对象,遵循 schema 字段定义的 JSON 结构
文本格式
响应格式为自然语言。
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
type | string | 是 | 回复格式的类型,固定为 text。 |
示例:
{
"text": {
"format": {
"type": "text"
}
}
}
JSON Object 格式
响应格式为 JSON 对象。
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
type | string | 是 | 回复格式的类型,固定为 json_object。 |
示例:
{
"text": {
"format": {
"type": "json_object"
}
}
}
JSON Schema 格式
响应格式为 JSON 对象,遵循 schema 字段定义的 JSON 结构。
| 字段 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
type | string | 是 | - | 回复格式的类型,固定为 json_schema。 |
name | string | 是 | - | 用户自定义的 JSON 结构的名称。 |
schema | object | 是 | - | 回复格式的 JSON 格式定义,以 JSON Schema 对象的形式描述。 |
description | string/null | 否 | null | 回复用途描述,模型将根据此描述决定如何以该格式回复。 |
strict | boolean/null | 否 | false | 是否在生成输出时,启用严格遵循模式。
|
示例:
{
"text": {
"format": {
"type": "json_schema",
"name": "user_info",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "number" }
},
"required": ["name"]
},
"description": "用户信息",
"strict": false
}
}
}
tools 参数说明
tools 是一个 array,模型可以调用的工具。当您需要 让模型调用工具时,需要配置该结构体。当前支持以下工具类型:
- 自定义工具(Function Calling):您自定义的函数,使模型能够使用强类型参数和输出调用您自己的代码
- 内置工具(Built-in Tools):通过预置工具来扩展模型能力
- MCP 工具:通过自定义 MCP 服务器与第三方系统集成
自定义工具(Function Calling)
您自定义的函数,使模型能够使用强类型参数和输出调用您自己的代码。
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
type | string | 是 | 工具类型,固定为 function。 |
function | object | 是 | 模型可以调用的类型为 function 的工具列表。详见下方说明。 |
function 字段:
| 字段 | 类型 | 必传 | 说明 |
|---|---|---|---|
name | string | 是 | 调用的函数的名称。 |
description | string | 否 | 调用函数的描述,大模型会用它来判断是否调用这个函数。 |
parameters | object | 是 | 函数请求参数,以 JSON Schema 格式描述。所有字段名大小写敏感,建议用英文字段名,中文置于 description 字段中。 |
示例:
{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气信息",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称"
}
},
"required": ["city"]
}
}
}
内置工具
通过预置工具来扩展模型内容,如联网搜索工具、图像处理工具、私域知识库搜索工具等。
联网搜索工具
在互联网上搜索与该提示相关的资源。
使用 前需提交工单,咨询和开通"联网内容插件"组件。
| 字段 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
type | string | 是 | - | 工具类型,固定为 web_search。 |
sources | string[] | 否 | - | 选择联网搜索的附加内容源。可选:
|
limit | integer | 否 | 10 | 单轮搜索最大召回条数,取值范围:[1, 50]。影响输入规模与性能,单次搜索最多返回 20 条结果(单轮可能有多次搜索),默认召回 10 条。 |
user_location | object | 否 | {"type": "approximate"} | 用户地理位置,用于天气查询等场景。包含 type、country、city、region 字段。填写 type 后,country、city、region 中至少 1 个字段有有效值。 |
max_keyword | integer | 否 | - | 工具一轮使用,最大并行搜索关键词的数量,取值范围:[1, 50]。例如:如模型判断需要搜索关键词:"融云 IM SDK 集成"、"融云消息推送方案"、"融云音视频通话"。此时 max_keyword = 1,则实际仅搜索第一个关键词"融云 IM SDK 集成"。 |
示例 :
{
"type": "web_search",
"sources": ["toutiao", "douyin"],
"limit": 10,
"user_location": {
"type": "approximate",
"country": "中国",
"region": "浙江",
"city": "杭州"
},
"max_keyword": 3
}
图像处理工具
使用画点、画线、旋转、缩放、框选/裁剪关键区域等基础图像处理工具。
| 字段 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
type | string | 是 | - | 工具类型,固定为 image_process。 |
point | object | 否 | {"type": "enabled"} | 画点/连线功能开关,控制是否启用点绘制与连线功能。包含 type 字段,可选值:enabled(开启此功能)、disabled(关闭此功能)。 |
grounding | object | 否 | {"type": "enabled"} | 框选/裁剪功能开关,控制是否启用关键区域框选或裁剪。包含 type 字段,可选值:enabled(开启此功能)、disabled(关闭此功能)。 |
zoom | object | 否 | {"type": "enabled"} | 缩放功能开关,控制是否启用全图/指定区域缩放(支持 0.5-2.0 倍)。包含 type 字段,可选值:enabled(开启此功能)、disabled(关闭此功能)。 |
rotate | object | 否 | {"type": "enabled"} | 旋转功能开关,控制是否启用顺时针旋转(支持 0-359 度)。包含 type 字段,可选值:enabled(开启此功能)、disabled(关闭此功能)。 |
示例:
{
"type": "image_process",
"point": { "type": "enabled" },
"grounding": { "type": "enabled" },
"zoom": { "type": "enabled" },
"rotate": { "type": "enabled" }
}
私域知识库搜索工具
使用私域知识库进行信息检索。
| 字段 | 类型 | 必传 | 默认值 | 说明 |
|---|---|---|---|---|
type | string | 是 | - | 工具类型,固定为 knowledge_search。 |
knowledge_search_id | string | 是 | - | 填写需使用的私域知识库 ID。 |
limit | integer | 否 | 10 | 最大可被采用的搜索结果,取值范围:[1, 200]。 |
max_keyword | integer | 否 | - | 工具一轮使用,最大并行搜索关键词的数量,取值范围:[1, 50]。例如:如模型判断需要搜索关键词:"融云 IM SDK 集成"、"融云消息推送方案"、"融云音视频通话"。此时 max_keyword = 1,则实际仅搜索第一个关键词"融云 IM SDK 集成"。 |
doc_filters | object | 否 | - | 检索过滤条件,用户可以指定结果过滤的字段。支持对 doc 的 meta 信息过滤。详细使用方式和支持字段见 filter 表达式,可支持对 doc_id 做筛选。此处用过过滤的字段,需要在 collection/create 时添加到 index_config 的 fields 上。 |
description | string | 否 | - |