Claude Haiku 5.5 API 接入指南:模型 ID、Python 示例与迁移排错
核对 Claude Haiku 5.5 的原生与 OpenRouter 模型 ID,提供 Python 接入示例,梳理从 Haiku 4.5 迁移时的思考配置、400 错误、响应解析和中转兼容性。
本文目录
Claude Haiku 5.5 的原生 API 模型 ID 是 claude-haiku-5-5。接入前,先确认调用的是 Claude Messages API、云平台接口,还是第三方兼容接口;模型名称、鉴权和请求参数需要与同一个平台的文档对应。官方模型资料
本文核对于 2026 年 10 月 9 日,面向开发者的首次接入和 Haiku 4.5 迁移。代码根据官方文档整理,未在真实账户上执行 API 调用;使用前需要在自己的环境做小流量验证。
先核对模型 ID 和接口
| 接入平台 | Haiku 5.5 模型 ID |
|---|---|
| Claude API | claude-haiku-5-5 |
| Amazon Bedrock | anthropic.claude-haiku-5-5 |
| Google Cloud | claude-haiku-5-5 |
| Microsoft Foundry | claude-haiku-5-5 |
| Claude Platform on AWS | claude-haiku-5-5 |
| OpenRouter | anthropic/claude-haiku-5.5 |
前五项来自 Anthropic 模型页,最后一项来自 OpenRouter 模型页。模型 ID 不等同于完整的接入配置,云平台可能还需要区域、项目或部署设置。
这里尤其容易混淆连字符和小数点:原生 ID 结尾是 5-5,OpenRouter ID 结尾是 5.5。其他中转服务可能使用自己的映射,应以该服务的模型列表为准。
Python 最小接入示例
以下示例面向 Anthropic 官方 Python SDK 和 Claude API。先在服务端准备支持相应参数的 anthropic SDK,并通过环境变量 ANTHROPIC_API_KEY 提供自己的密钥。不要把真实密钥写进网页前端、公开仓库或文章评论。
import os
from anthropic import Anthropic
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
message = client.messages.create(
model="claude-haiku-5-5",
max_tokens=4096,
output_config={"effort": "medium"},
messages=[{
"role": "user",
"content": "将以下反馈归类为付款、物流或其他,只返回类别:订单三天了还没发货。"
}],
)
if message.stop_reason == "refusal":
raise RuntimeError("请求被拒绝,请检查用途和错误信息,不要无限重试。")
if message.stop_reason in {"max_tokens", "model_context_window_exceeded"}:
raise RuntimeError("响应达到限制,不能直接当作完整结果。")
answer = "\n".join(
block.text for block in message.content if block.type == "text"
)
if not answer.strip():
raise RuntimeError(f"没有可见文本,需要检查内容块;stop_reason={message.stop_reason}")
print(answer)
print(message.usage)
示例使用了按内容块类型提取文本的方式,并检查常见的非完整结束情况。它只演示纯文本请求,不包含生产环境所需的限速、超时、网络异常、结构化结果校验和工具调用循环。Messages API 文档
Haiku 5.5 默认开启自适应思考。effort 是调节思考投入的方式,并非固定 Token 预算;上面的 medium 是官方默认档位。effort 参数说明
从 Haiku 4.5 迁移,先查五处
1. 旧的思考预算配置
如果原请求使用 thinking: {"type": "enabled", "budget_tokens": ...},迁移时改为自适应思考,或省略 thinking 采用默认行为。手动预算形式会返回 400。官方迁移指南
不要只替换模型名就上线。可以先搜索请求封装层,确认公共默认参数没有继续注入旧字段。
2. 采样参数
建议省略 temperature、top_p 和 top_k。尤其不要沿用常见的 temperature: 0;迁移指南说明,非支持值会触发 400,任何 top_k 值也会报错。采样参数迁移说明
检查实际发送的请求体,而不只检查业务代码。SDK 封装、代理网关或统一客户端可能自动补参数。
3. 以 assistant 预填充结束请求
Haiku 5.5 不支持让最后一条 assistant 消息充当待续写的预填充。请求应以用户回合结束;需要固定输出格式时,重新检查提示词或适用平台的结构化输出支持。预填充迁移说明
这与正常传入历史 assistant 回合不同。需要检查的是请求末尾是否留了一段等待模型续写的 assistant 内容。
4. 把第一个内容块当答案
响应可能先出现思考内容块,不能假定 content[0] 一定是文本答案。应按 type 分别处理文本、思考和工具调用。思考 Token 也占用 max_tokens,输出上限过小可能导致没有最终可见文本。Haiku 5.5 行为变化
对聊天前端,空文本、需要执行工具和真正完成回答应有不同状态。不要将它们统一显示为“成功”。
5. 沿用旧的 Token 估算
用新模型 ID 重新计数,再检查长度限制和预算。官方 Token 计数接口返回的是估算,实际调用仍应保存用量字段用于核对。Token 计数文档
预算测试可以同时记录:输入长度、输出用量、结束原因、是否通过业务校验。这样更容易区分参数错误、长度问题和效果变化。
使用工具或多轮会话,还要做专项回归
Haiku 5.5 的 thinking 块与生成它的账户有关。若你的网关在不同账户之间轮换、恢复旧对话或重放历史,先核对上游账户绑定规则;保留 thinking 块时,也要关注修改前序上下文的限制。思考块与会话规则
对会调用外部工具的应用,测试应至少包含:
- 模型能发出正确工具名和合法参数
- 工具结果能够回传,且模型会继续完成回答
- 工具返回空数据、超时或错误时,应用能给出可理解的结果
- 多轮恢复后仍能正确读取历史,不串用其他用户的会话
- 安全拒绝会被明确处理,不进入无限重试
使用旧版 computer use 集成的项目,还应按官方迁移指南核对工具版本。普通文本调用通过,不能证明这些工具路径已经兼容。
经过中转服务时,怎样验证“支持 Haiku 5.5”?
可以从 PickAIPlan 中转站目录筛选公开资料,再用不含敏感信息的小样本检查目标服务。建议逐项确认:
- 模型映射:服务商要求的模型 ID 是什么,是否明确对应 Haiku 5.5
- 协议:支持原生 Messages,还是 Chat Completions 等兼容格式;哪些字段有差异
- 核心功能:你实际需要的流式输出、图片、工具调用、结构化结果、缓存和 effort 是否可用
- 用量与账单:输入、输出和缓存字段是否完整,100K 分档如何执行,费用能否对账
- 数据处理:是否记录请求内容、日志保留多久、发生上游切换时怎样处理会话
开始时用少量可核对的请求,不必为了验证接口先充值大额余额。服务商展示模型名称只能作为线索,最终还要结合文档、实际功能表现和账单验证。本站不为商家来源、信用或稳定性提供担保。
上线前的简短验收表
- 正常请求能获得有效结果,密钥只保存在服务端安全配置中
- 400、鉴权失败、限流、超时有分别可观察的处理路径
- 输出被截断、空文本、工具调用和拒绝不会被误判为任务完成
- 典型短请求、长请求与接近计费门槛的请求都做过费用核对
- 保留旧配置的回滚方式;小流量验证通过后再扩大使用
模型升级完成的标准,应包括请求成功、结果合格、费用可解释和异常可处理。先把这些条件验证清楚,再决定是否替换现有生产流量。