文本生成(Anthropic API兼容)
通过兼容 Anthropic 格式的 Messages API 调用模型。
授权
接口支持以下两种认证方式,请选择其中一种添加到请求头中:
- 方式一:x-api-key认证,格式:x-api-key: $UNISOUND_API_KEY
- 方式二:Authorization: Bearer认证,格式:Authorization: Bearer $UNISOUND_API_KEY
$UNISOUND_API_KEY 用于验证账户信息,可在按量计费&资源包>API Key 管理中查看。
请求体application/json
modelstring必填
模型编码,可选值:u2、u2-med、kimi-k3、glm-5.2
max_tokensinteger必填
生成 Token 的最大数量。max_tokens 不限制思考过程的长度;开启深度思考时,思考部分的 Token 数由 thinking.budget_tokens 单独控制。
systemstring | array选填
系统提示词,用于设定模型的角色或行为。
system 通过顶层参数传入,messages 数组中不接受 system 角色。
传入字符串等价于单个 type="text" 的内容块。
typestring必填
固定为 text。
textstring必填
系统提示词文本。
messagesarray必填
消息数组,按 user / assistant 交替轮次排列。
messages 数组中不接受 system 角色。
rolestring必填
消息角色,可选值:user、assistant。
contentstring | array必填
消息内容。可以是纯文本字符串,也可以是结构化内容数组。
content 为字符串时,等价于单个 type="text" 的内容块。
文本信息object
typestring必填
固定为 text。
textstring必填
文本内容。
工具调用信息object
(assistant 角色,模型返回的工具调用指令)
typestring必填
固定为 tool_use。
idstring必填
工具调用的唯一标识,用于在后续 tool_result 中关联结果。
namestring必填
被调用的工具名称。
inputobject必填
工具调用的入参,结构由 tools 中对应工具的 input_schema 决定。工具调用内容本身会参与缓存前缀。
工具结果信息object
(user 角色,工具执行结果回传给模型)
typestring必填
固定为 tool_result。
tool_use_idstring必填
对应 tool_use 信息中的 id。
contentstring必填
工具执行返回的内容。
streamboolean选填默认值: false
是否启用流式输出,默认为 false。
temperaturenumber选填
控制生成文本的多样性,取值范围 [0, 2)。值越大,生成结果越随机。
该范围与 Anthropic 官方的 [0.0, 1.0] 不同,从 Anthropic 迁移时请确认该参数取值。
top_kinteger选填
生成过程中采样候选集的大小。
stop_sequencesarray选填
停止序列;命中后停止生成,且不包含命中的序列本身。
stop_reason 仍为 end_turn。thinkingobject选填
深度思考配置。开启后,模型会在生成回复前先进行推理,以提升回答准确度。开启后,响应会包含 thinking 类型的内容块。
u2默认开启思考,不支持关闭。
typestring必填
可选值:enabled(开启思考模式)、disabled(关闭思考模式)。
budget_tokensinteger选填
思考过程可使用的最大 Token 数,与 max_tokens 互不重叠:本参数限制思考,max_tokens 限制最终回复。当 type 为 enabled 时生效。
toolsarray选填
工具定义数组,用于 Function Call 场景。
namestring必填
工具名称。
descriptionstring选填
工具的功能描述。
input_schemaobject必填
工具输入参数的 JSON Schema 定义。
tool_choiceobject选填
工具选择策略。
typestring必填
可选值:auto(模型自行决定是否调用工具,默认)、any(强制模型调用任意一个工具)、none(禁止模型调用工具)、tool(强制模型调用指定工具)。
namestring选填
当 type 为 tool 时,指定要调用的工具名称。
output_configobject选填
结构化输出配置。开启后,模型将输出 JSON 字符串。
严格结构化输出:适用模型:glm-5.2。模型严格按照传入的 JSON Schema 进行强约束输出,确保字段类型与层级完全一致。
普通结构化输出:适用于上述以外的其他模型。Schema 的具体字段约束默认不生效,API 会自动将其转换为普通 JSON 模式(仅保证输出为合法的 JSON 字符串)。须同时满足:1、显式传入 output_config;2、system 或 messages 的内容中须包含不区分大小写的 JSON 关键词。
formatobject必填
输出格式配置。
typestring必填
固定为 json_schema。
schemaobject必填
JSON Schema 对象;须包含 type、properties、required、additionalProperties(须设为 false)等字段。
非流式响应
idstring
消息的唯一标识。
typestring
固定为 message。
rolestring
固定为 assistant。
modelstring
使用的模型名称。
contentarray
内容数组。
文本信息object
typestring
固定为 text。
textstring
模型生成的文本回复。
output_config 时,该字段为 JSON 字符串,客户端需自行解析。思考信息object
(开启深度思考时返回)
typestring
固定为 thinking。
thinkingstring
模型在生成最终回复前的思考过程。
signaturestring
当前固定为空字符串。
工具调用信息object
(Function Call 场景)
typestring
固定为 tool_use。
idstring
工具调用的唯一标识,用于在后续 tool_result 中关联结果。
namestring
被调用的工具名称。
inputobject
工具调用的入参。
stop_reasonstring
停止原因。可选值:
end_turn(正常结束)max_tokens(达到 Token 上限)tool_use(工具调用)
usageobject
Token 用量统计。
message_start 事件的 usage 仅包含 input_tokens 和 output_tokens;完整 4 个字段在 message_delta 事件中返回。input_tokensinteger
输入 Token 数量。
output_tokensinteger
输出 Token 数量。
cache_creation_input_tokensinteger
缓存创建消耗的输入 Token 数量。
cache_read_input_tokensinteger
缓存读取消耗的输入 Token 数量。
流式响应
message_start
流的第一个事件,标记消息开始。
typestring
固定为 message_start。
messageobject
初始消息对象,content 为空数组,usage 仅含 input_tokens 和 output_tokens。
content_block_start
每个内容块开始时发送,标记新内容块的索引和类型。
typestring
固定为 content_block_start。
indexinteger
内容块索引,从 0 开始,对应该消息 content 数组中的位置。
content_blockobject
内容块的初始对象。type 取值为 text、thinking 或 tool_use。tool_use 类型在此事件中 input 为空对象,完整入参由后续 content_block_delta 增量拼接。
content_block_delta
内容块的增量更新事件。同一内容块会发送多个该事件。
typestring
固定为 content_block_delta。
indexinteger
所属内容块索引。
deltaobject
增量对象,type 取值:
text_delta:文本增量,含text字段。thinking_delta:思考增量,含thinking字段。signature_delta:签名增量,含signature字段(当前固定为空字符串)。input_json_delta:工具调用入参增量,含partial_json字段。
content_block_stop
内容块结束事件。
typestring
固定为 content_block_stop。
indexinteger
结束的内容块索引。
message_delta
消息级更新事件,在所有内容块结束后发送,包含停止原因和完整的 Token 用量统计。
typestring
固定为 message_delta。
deltaobject
包含 stop_reason 和 stop_sequence,取值参见上方非流式响应表格。
usageobject
完整的 Token 用量统计,包含 input_tokens、output_tokens、cache_creation_input_tokens、cache_read_input_tokens。
message_stop
流的最后一个事件,标记消息结束。
typestring
固定为 message_stop。
