
ImportError: AnthropicOutputConfig since May 28
快速结论:该报错在 vLLM nightly Docker 镜像启动时触发,原因是 Dockerfile 构建缓存机制缺陷导致安装了过时的 wheel 包。优先排查当前镜像版本是否为 2026-05-28 至 2026-06-14 之间的 nightly 版本,可尝试直接使用 v0.22.0 稳定版镜像。
问题场景
用户在使用 vLLM nightly Docker 镜像(vllm/vllm-openai:nightly)启动推理服务时,引擎初始化(编译、预热、CUDA graph 捕获)均正常完成,但 build_app() 在注册 Anthropic API 路由器时抛出 ImportError 异常,导致服务无法启动并拒绝任何请求。
报错原文
File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 206, in build_app
register_generate_api_routers(app)
File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/generate/api_router.py", line 38, in register_generate_api_routers
from vllm.entrypoints.anthropic.api_router import (
...
ImportError: cannot import name 'AnthropicOutputConfig' from 'anthropic.types'
原因分析
根据 Issue 评论,根本原因位于 docker/Dockerfile 中:vllm-base 阶段使用 --mount=type=bind,from=build 方式安装 wheel,但这种挂载方式不包含在 BuildKit 层缓存键中。当 Buildkite agent 处于 warm 状态时,该安装步骤会被跳过,导致镜像中保留了 #42396 之前版本的过时 wheel 包。该 bug 从 2026 年 5 月 28 日开始持续约两周。
环境排查
- 检查 Docker 镜像标签是否使用了
nightly或类似 nightly-20260606 的版本 - 确认镜像创建时间是否在 2026-05-28 至 2026-06-14 之间
- 使用
docker history查看镜像层,确认 wheel 安装是否正常 - 尝试使用
vllm/vllm-openai:v0.22.0稳定版镜像作为对照
解决步骤
- 可优先尝试:切换至 vLLM 稳定版镜像
vllm/vllm-openai:v0.22.0,该版本不受此缓存 bug 影响。 - 如果有修复 PR(#44795)的合入,可等待新的 nightly 镜像构建完成后,重新拉取最新版本:
docker pull vllm/vllm-openai:nightly - 若必须自行构建镜像,可尝试在 Dockerfile 中添加显式
RUN pip install步骤代替--mount方式,避免 BuildKit 缓存跳过
验证方法
启动 Docker 容器后,观察是否还能复现 ImportError: cannot import name 'AnthropicOutputConfig' 错误。如果服务能够正常接受 API 请求,则说明问题已解决。



