04LLM API 实操

L1P1

Anthropic Messages API 的核心结构是 messages: [{role, content}]。Content 可以是字符串(简单)或 block 数组(text / tool_use / tool_result / image)。

流式用 SSE,事件序列:message_start → 多个 content_block_start+delta+stopmessage_deltamessage_stop。Tool use 在流式里特别麻烦:input_json_delta 是 partial JSON,要累积到 content_block_stop 才能 parse。

错误处理:429(限流)、529(过载)、5xx 都要重试,exponential backoff,初始 1s,最多 5 次。4xx 不重试(请求本身有问题)。

用量字段:input_tokens, output_tokens, cache_creation_input_tokens, cache_read_input_tokens。成本计算:

cost = input_tokens × $3/M
     + cache_creation_input_tokens × $3.75/M  // 1.25× 标价
     + cache_read_input_tokens × $0.30/M       // 0.1× 标价
     + output_tokens × $15/M
速查
"流式中 tool_use 怎么处理?"——累积 input_json_delta 成完整 JSON,等 content_block_stop 后再执行 tool。中途不能提前调,因为 partial JSON parse 不出。