You need to enable JavaScript to run this app.
文档中心
火山方舟

火山方舟

复制全文
下载 pdf
进阶使用
上下文管理
复制全文
下载 pdf
上下文管理
模型上下文(Context)包括输入信息(问题)和输出信息(回答),当触发深度思考时输出还包括思维链内容(CoT)。思维链内容展现模型处理问题的过程,包括将问题拆分为多个问题进行处理,生成多种回复综合得出更好回答的过程。在多轮对话中,上下文管理在保持话题一致性等方面非常重要,对此方舟提供了一些管理上下文的方法。​
上下文输入​
手动输入上下文​
Chat API 发起请求,是独立无状态的,需手动管理上下文。需通过交替排列 user 消息 与 assistant 消息,让模型在请求中获取之前对话信息。​
​
Curl
Python
Go
Java
OpenAI SDK
​
​
curl https://ark.cn-beijing.volces.com/api/v3/chat/completions \​
-H "Content-Type: application/json" \​
-H "Authorization: Bearer $ARK_API_KEY" \​
-d '{​
"model": "doubao-seed-2-1-pro-260915",​
"messages": [​
{"role": "user", "content": "深度思考模型与非深度思考模型区别"},​
{"role": "assistant", "content": "推理模型主要依靠逻辑、规则或概率等进行分析、推导和判断以得出结论或决策,非推理模型则是通过模式识别、统计分析或模拟等方式来实现数据描述、分类、聚类或生成等任务而不依赖显式逻辑推理。"},​
{"role": "user", "content": "我要研究深度思考模型与非深度思考模型区别的课题,怎么体现我的专业性"}​
]​
}'​
​
  • 您可按需替换 Model ID。Model ID 查询见 模型列表。​
​
通过 ID 输入上下文​
Responses API 支持更简洁方式管理上下文。默认情况下请求的输入和输出都会持久化存储,后续请求只需传入 ID 就可以引入对应请求的输入和输出。​
​
Curl
Python
Go
Java
OpenAI SDK
​
​
curl https://ark.cn-beijing.volces.com/api/v3/responses \​
-H "Authorization: Bearer $ARK_API_KEY" \​
-H "Content-Type: application/json" \​
-d '{​
"model": "doubao-seed-2-1-pro-260915",​
"input": "Hi,讲个笑话。"​
}'​
​
​
curl https://ark.cn-beijing.volces.com/api/v3/responses \​
-H "Authorization: Bearer $ARK_API_KEY" \​
-H "Content-Type: application/json" \​
-d '{​
"model": "doubao-seed-2-1-pro-260915",​
"previous_response_id":"<id>",​
"input": "这个笑话的笑点在哪?"​
}'​
​
第二次请求需将 curl 命令中的 <id> 替换为上一次请求返回的 Response id。​
​
上下文长度控制​
输入长内容,或对话轮数增加,需同时考虑模型输出长度和上下文窗口限制。模型输入和输出会进行计量,达到长度限制会截断或报错。合理控制模型输出长度,平衡业务效果、成本与稳定性:​
  • 减少触发限流(TPM 限制、突发流量限制等),保障服务稳定性。​
  • 精确控制 token 用量,平衡成本与质量。​
  • 控制推理耗时,提升用户交互体验。​
同时,平台支持对模型输出(思维链、回答)长度控制,来控制 token 用量。核心规格及参数,如下图:​
​​​
不同模型支持的上下文窗口、最大输入、最大思维链长度均有差异,可在 模型列表 查询。​
控制输出(回答+思维链)长度​
Chat API 使用 max_completion_tokens 字段,控制模型输出长度,当模型输出达到配置值时,模型停止推理。​
Responses API 使用 max_output_tokens 字段 控制模型输出长度,详细信息参见 设置最大输出长度。​
支持的模型:250528及之后版本的大语言模型,如无特殊说明,默认支持该字段。方舟平台大语言模型列表,请参见文本生成能力。​
doubao-seed-translation-250915 模型不支持该字段。​
​
Curl
Python
Go
Java
​
​
curl https://ark.cn-beijing.volces.com/api/v3/chat/completions \​
-H "Content-Type: application/json" \​
-H "Authorization: Bearer $ARK_API_KEY" \​
-d '{​
"model": "doubao-seed-2-1-pro-260915",​
"messages": [​
{​
"role": "user",​
"content": "你好"​
}​
],​
"max_completion_tokens": 1024​
}'​
​
  • 您可按需替换 Model ID。Model ID 查询见 模型列表。​
​
说明​
  • max_tokens、max_completion_tokens 不可同时设置,会直接报错。​
控制回答长度​
Chat API 可通过设置 max_tokens 字段,控制模型回答长度。当回答长度达到配置值时,模型停止推理。​
注意​
DeepSeek-V4.1-flash 模型max_tokens:控制模型回答和模型思维链内容长度,超出长度后不报错,默认值 128k。​
​
Curl
Python
Go
Java
​
​
curl https://ark.cn-beijing.volces.com/api/v3/chat/completions \​
-H "Content-Type: application/json" \​
-H "Authorization: Bearer $ARK_API_KEY" \​
-d '{​
"model": "doubao-seed-2-1-pro-260915",​
"messages": [​
{​
"role": "user",​
"content": "你好"​
}​
],​
"max_tokens": 1024​
}'​
​
  • 按需替换 Model ID,查询 Model ID 请参见 模型列表。​
​
说明​
  • max_tokens、max_completion_tokens 不可同时设置,会直接报错。​
控制思维链长度​
设置 reasoning_effort 调节深度思考的程度,间接控制思维链内容长度。当前提供 7 档:​
  • none:关闭思考。​
  • minimal:关闭思考,直接回答。​
  • low:轻量思考,侧重快速响应。​
  • medium:均衡模式,兼顾速度与深度。​
  • high:深度分析,处理复杂问题。​
  • xhigh:更高强度思考。​
  • max:最高强度思考,适配高难度推理任务。​
与 thinking.type 关系:​
  • thinking.type取值为enabled:支持配置reasoning_effort。当reasoning_effort取值为minimal时,则关闭思考,直接回答。​
  • thinking.type取值为disabled:reasoning_effort仅支持取值minimal。当reasoning_effort取值为其他取值时会报错。​
​
Curl
Python
Go
Java
OpenAI SDK
​
​
curl https://ark.cn-beijing.volces.com/api/v3/chat/completions \​
-H "Content-Type: application/json" \​
-H "Authorization: Bearer $ARK_API_KEY" \​
-d '{​
"model": "doubao-seed-2-1-pro-260915",​
"messages": [​
{​
"role": "user",​
"content": [​
{​
"image_url": {​
"url": "https://ark-project.tos-cn-beijing.ivolces.com/images/view.jpeg"​
},​
"type": "image_url"​
},​
{​
"text": "图片主要讲了什么?",​
"type": "text"​
}​
]​
}​
],​
"thinking":{"type":"enabled"},​
"reasoning_effort": "low"​
}'​
​
​
完整代码及使用,请参见 调节思考长度(Responses API)、调节思考长度(ChatCompletion API)。​
上下文传递逻辑​
多轮对话场景​
​
流程图​
说明​
​​​
  • 在每一轮对话过程中,深度思考模型会输出思维链内容(CoT)和最终回答(Answer)。​
  • 在下一轮对话中,之前输出的思维链内容不会被拼接到上下文中。​
思维链内容展现的是模型处理问题的过程,包括将问题拆分为多个问题进行处理,生成多种回复综合得出更好回答等过程。​
​
工具调用场景​
针对工具调用场景优化了深度思考的执行逻辑,平台会自主判断是否将思维链内容输入给模型,参与后续轮次的推理,保障结果输出连贯、准确、可解释。​
​
流程图​
说明​
​​​
  • 回答问题 1 时(请求 1.1 - 1.2),模型进行多次思考 + 工具调用后给出答案,方舟会输入完整上下文包括思维链内容给模型处理。​
  • 开始回答问题2时(请求 2.1),方舟会自行判断并删除之前上下文中的思维链,输入给模型。​
​
说明​
推荐在 Responses API 中使用 previous_response_id,平台自动保存历史对话的上下文,并在多轮交互中回传给推理服务。​
请求示例如下:​
​
Chat API
Responses API
​
第一轮请求:触发工具调用​
​
curl https://ark.cn-beijing.volces.com/api/v3/chat/completions \​
-H "Content-Type: application/json" \​
-H "Authorization: Bearer $ARK_API_KEY" \​
-d '{​
"model": "doubao-seed-2-0-lite-260215",​
"messages": [​
{​
"role": "system",​
"content": "你是人工智能助手。"​
},​
{​
"role": "user",​
"content": "今天北京天气怎么样"​
}​
],​
"tools": [​
{​
"type": "function",​
"function": {​
"name": "get_weather",​
"description": "天气查询",​
"parameters": {​
"properties": {​
"location": {​
"description": "地点的位置信息,例如北京、上海。",​
"type": "string"​
}​
},​
"required": [​
"location"​
],​
"type": "object"​
}​
}​
}​
]​
}'​
​
第一轮响应:返回工具调用指令​
模型会返回reasoning_content、tool_calls等关键字段。​
​
{​
"choices": [​
{​
"finish_reason": "tool_calls",​
"index": 0,​
"logprobs": null,​
"message": {​
"content": "",​
"reasoning_content": "用户问今天北京天气怎么样,我需要调用get_weather工具,参数location填北京。检查一下,参数是必填的location,已经有了,所以直接调用工具就行。",​
"role": "assistant",​
"tool_calls": [​
{​
"function": {​
"arguments": " {\"location\": \"北京\"}",​
"name": "get_weather"​
},​
"id": "call_wiezxeyae8jzxl3jx8nhfgb5",​
"type": "function"​
}​
]​
}​
}​
],​
...​
}​
​
第二轮请求:回传完整上下文并生成最终响应​
第二轮请求还需要回传思维链信息、工具调用结果,模型生成回答。​
​
curl https://ark.cn-beijing.volces.com/api/v3/chat/completions \​
-H "Content-Type: application/json" \​
-H "Authorization: Bearer $ARK_API_KEY" \​
-d '{​
"model": "doubao-seed-2-0-lite-260215",​
"messages": [​
{​
"role": "system",​
"content": "你是人工智能助手。"​
},​
{​
"role": "user",​
"content": "今天北京天气怎么样"​
},​
{​
"role": "assistant",​
"reasoning_content": "用户问今天北京天气怎么样,我需要调用get_weather工具,参数location填北京。检查一下,参数是必填的location,已经有了,所以直接调用工具就行。",​
"tool_calls": [​
{​
"function": {​
"arguments": " {\"location\": \"北京\"}",​
"name": "get_weather"​
},​
"id": "call_wiezxeyae8jzxl3jx8nhfgb5",​
"type": "function"​
}​
]​
},​
{​
"role": "tool",​
"tool_call_id":"call_wiezxeyae8jzxl3jx8nhfgb5",​
"content": "5度"​
}​
],​
"tools": [​
{​
"type": "function",​
"function": {​
"name": "get_weather",​
"description": "天气查询",​
"parameters": {​
"properties": {​
"location": {​
"description": "地点的位置信息,例如北京、上海。",​
"type": "string"​
}​
},​
"required": [​
"location"​
],​
"type": "object"​
}​
}​
}​
]​
}'​
​
​
长度限制生效逻辑​
模型输出的组成如下公式,模型的输出 = 模型的回答 + 模型的思维链(如有)​
  • max_tokens:控制模型的回答长度,默认值 4096。如果触发长度限制,模型停止回答,并在返回结构体的 finish_reason 字段为 length。​
  • max_completion_tokens:控制模型的回答、模型思维链总长度,如触发限制,模型停止回答,并在返回结构体的 finish_reason 字段为 length。如配置了 max_completion_tokens ,max_tokens默认值会失效,常用于超长文本输出或者控制模型返回长度。​
仅配置 max_tokens(默认逻辑)​
下面是各个对象的长度限制说明。​
​
对象​
关键参数​
说明​
可否配置​
问题​
最大输入长度​
上下文窗口 - 思维链窗口,与回答共享配额。​
可理解为问答配额。​
模型规格,不可配置​
思维链​
思维链窗口​
独占,不共享,即单次请求如有未使用的配额也不共享给问题及回答。​
模型规格,不可配置​
回答​
最大回答长度​
最大回答长度,通过 max_tokens 参数配置。​
另外随着输入长度增加,回答配额也会受 最大输入长度(问答配额) 剩余配额影响。​
回答配额​
=min(最大回答长度, 最大输入长度-实际输入长度)​
=min(最大回答长度, 上下文窗口-思维链窗口-实际输入长度)​
API字段,可配置​
​
最大输入长度​
​
模型规格,不可配置​
​
内容截断逻辑举例:模型A属性如下,上下文窗口 96k,思维链窗口 32k,最大输入长度(问答配额) 64k,配置最大回答长度 16k。​
  • 当用户输入的问题 56k,模型输出思维链16k,模型输出的回答达到8k时,问题+回答 = 56k+8k = 64k,触发最大输入长度(问答配额) 限制,模型停止推理。​
  • 当用户输入的问题 22k,模型输出思维链16k,模型输出的回答达到16k时,触发最大回答长度限制,模型停止推理。​
  • 当用户输入的问题 22k,模型输出思维链32k,触发最大思维链长度限制,模型停止推理。​
仅配置 max_completion_tokens​
​
影响/控制对象​
关键参数​
说明​
可否配置​
问题​
最大输入长度​
与回答共享配额,即未使用配额共享给回答内容​
模型规格,不可配置​
思维链​
最大输出长度​
与回答共享配额,即未使用的配额共享给回答。​
API字段,可配置​
​
思维链窗口​
模型能够输出的最大思维链长度。​
模型规格,不可配置​
回答​
最大输出长度​
与思维链共享配额,即输出长度不可超过最大输出长度-已输出的思维链内容长度​
API字段,可配置​
​
内容截断逻辑举例:模型A属性如下,上下文窗口 96k,最大输入长度 64k,最大思维链长度 32k。配置最大输出长度(max_completion_tokens) 32k 后,最大回答长度(max_tokens)默认值(4096)限制失效:​
  • 当用户输入的内容长度 72k,触发最大输入长度限制,直接报错。​
  • 当模型输出的内容超过 32k,触发 最大思维链长度 限制,模型停止推理。​
  • 当用户输入的问题长度 26k,模型输出的思维链长度 16k,模型输出的回答长度达到 16k 时,思维链长度+回答长度=16k+16k=32k,触发最大输出长度 限制,模型停止推理。​
​
​
最近更新时间:2026.10.09 14:36:34
这个页面对您有帮助吗?
有用
有用
无用
无用