文本生成(Anthropic API兼容)

通过兼容 Anthropic 格式的 Messages API 调用模型。

POST/anthropic/v1/messages

授权

接口支持以下两种认证方式,请选择其中一种添加到请求头中:

  1. 方式一:x-api-key认证,格式:
    x-api-key: $UNISOUND_API_KEY
  2. 方式二: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必填

消息角色,可选值:userassistant

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_tokensoutput_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_tokensoutput_tokens

content_block_start

每个内容块开始时发送,标记新内容块的索引和类型。

typestring

固定为 content_block_start

indexinteger

内容块索引,从 0 开始,对应该消息 content 数组中的位置。

content_blockobject

内容块的初始对象。type 取值为 textthinkingtool_usetool_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_reasonstop_sequence,取值参见上方非流式响应表格。

usageobject

完整的 Token 用量统计,包含 input_tokensoutput_tokenscache_creation_input_tokenscache_read_input_tokens

message_stop

流的最后一个事件,标记消息结束。

typestring

固定为 message_stop