文本生成(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,u1-insuremed
max_tokensinteger必填
生成 Token 的最大数量。
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选填
生成过程中采样候选集的大小。
thinkingobject选填
深度思考配置。开启后,模型会在生成回复前先进行推理,以提升回答准确度。开启后,响应会包含 thinking 类型的内容块。
部分模型不支持思考模式。
typestring必填
可选值:enabled(开启思考模式)、disabled(关闭思考模式)。
toolsarray选填
工具定义数组,用于 Function Call 场景。
namestring必填
工具名称。
descriptionstring选填
工具的功能描述。
input_schemaobject必填
工具输入参数的 JSON Schema 定义。
非流式响应
idstring
消息的唯一标识。
typestring
固定为 message。
rolestring
固定为 assistant。
modelstring
使用的模型名称。
contentarray
内容数组。
文本信息object
typestring
固定为 text。
textstring
模型生成的文本回复。
思考信息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。
