[Bug]: Claude models on Vertex AI fail at batch creation (404 batchPredictionJobs) — OpenAI batch translation doesn’t cover Anthropic’s nati

当 Claude 模型通过 vertex_ai 路由、并使用 OpenAI 兼容的批量流程调用 create_batch 时,通常会在创建批次这一步返回 404。优先排查 LiteLLM 给 Claude 构建 Vertex 批量请求时使用的 publisher 路径与行格式,而不是 GCP 项目或

快速结论:当 Claude 模型通过 vertex_ai 路由、并使用 OpenAI 兼容的批量流程调用 create_batch 时,通常会在创建批次这一步返回 404。优先排查 LiteLLM 给 Claude 构建 Vertex 批量请求时使用的 publisher 路径与行格式,而不是 GCP 项目或配额问题。

适用环境:LiteLLM;通过 LiteLLM 代理访问 Vertex AI;使用 us-east5 区域和 claude-sonnet-4-6 的 Vertex 部署(报告示例);Python 客户端调用 litellm.create_file / litellm.create_batch。Issue 未提供操作系统、Python、CUDA、显卡等环境信息。

最快修复方案:升级到包含 PR #45715 修复的 LiteLLM 版本,再按原流程重新执行 create_file 和 create_batch。

注意事项:报告者提到的修复分支未在其自己的 Vertex 项目中做过启用 Claude 的实测,合并后输出格式是否完全符合 Anthropic 原生批量 schema,仍需在目标环境中验证;升级后请同时确认上传文件被归入正确的 publisher 路径。

问题场景

用户在 LiteLLM 中通过 vertex_ai 调用 Claude 模型(例如 claude-sonnet-4-6 的 Vertex 部署),按标准 OpenAI 兼容批量流程先调用 create_file 上传 JSONL,再调用 create_batch。上传成功并返回有效 file_id,但创建批次时失败;同样流程对同一代理、同一区域的 Gemini 模型可正常工作。

报错原文

404 Not Found: https://us-east5-aiplatform.googleapis.com/v1/projects/<PROJECT_ID>/locations/us-east5/batchPredictionJobs

原因分析

根据 Issue 讨论,Claude 模型的上传文件被归到了 Google publisher 路径下,导致后续创建批次时请求打向不匹配的资源而返回 404;同时输入行可能仍按 Gemini 格式处理,没有转换为 Anthropic 在 Vertex 上的原生批量 schema。Issue 正文已通过只读 GET 验证:同一项目、同一 us-east5 区域下对 batchPredictionJobs 的访问返回 200,且 LiteLLM 曾成功为该区域的 Gemini 模型创建并完成批次,因此问题更可能出在 LiteLLM 针对 Claude/Anthropic 的批量请求构建逻辑,而不是项目配置、配额或权限。

环境排查

  • 确认 LiteLLM 版本是否已包含 PR #45715 的合并修复。
  • 确认请求使用的 custom_llm_provider、target_model_names 与 Claude 的 Vertex 部署名称一致。
  • 确认批量输入 JSONL 的行格式,以及上传文件最终归属的 publisher 路径是否符合 Claude/Anthropic 批量要求。
  • 确认目标项目和区域(示例为 us-east5)对 batchPredictionJobs 的只读访问返回 200,以排除项目侧 404。
  • Issue 未提供 PyTorch、CUDA、显卡等依赖信息,无需按这些项排查。

解决步骤

  1. 将 LiteLLM 升级到包含 PR #45715 修复的版本;该 PR 已由维护者确认合并。
  2. 保持原有的 create_file → create_batch 调用流程不变,使用同一 Claude 模型部署和同一区域重新提交一个最小 batch(单条 JSONL 即可)。
  3. 若升级后仍失败,保留 create_file 返回的 file_id、完整错误响应和使用的输入 JSONL 行格式,作为进一步排查材料。
  4. 在修复版本上确认返回的批量输出格式符合 Anthropic 原生 schema;报告者尚未在启用 Claude 的测试项目中实测该分支,因此这一项属于需要重点复核的部分。

验证方法

重新执行 create_batch 后不再出现 batchPredictionJobs 的 404,并成功返回批次对象;随后检查该批次在 Vertex 侧的状态与输出内容,确认输入行按 Claude/Anthropic 的批量格式处理,而不是沿用 Gemini 格式。

参考来源

BerriAI/litellm #45671

BerriAI/litellm PR #45715

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 31194

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注