
如何把 Claude Computer Use Demo 接入 Google Vertex 并传入 GCP 凭据【免费下载链接】claude-quickstartsA collection of projects designed to help developers quickly get started with building deployable applications using the Claude API项目地址: https://gitcode.com/GitHub_Trending/an/claude-quickstarts本文解决的问题是computer-use-demo默认的 API 通道是 Anthropic 直连ANTHROPIC_API_KEY如果你没有 Claude API key、而是想在 Google Vertex AI 上调用 Claude需要切换 API provider 并把 Google Cloud 凭据传进 Docker 容器。完成后你在浏览器里访问的 demo 界面与本地桌面环境与原来一致只是模型请求走 Vertex。以下内容基于 computer-use-demo/README.md 的 Vertex 快速开始部分以及 streamlit.py 中 provider 校验逻辑核对而成。前提条件已安装 Dockerdocker build/docker run都需要和gcloudCLI用于gcloud auth application-default login。有权限在目标 Vertex 项目中使用 Claude 模型的 Google Cloud 凭据。README 原话是Youll need to pass in Google Cloud credentials with appropriate permissions to use Claude on Vertex。在computer-use-demo/目录下操作README 给出的命令是docker build .即构建上下文就是computer-use-demo/目录本身它包含 Dockerfile 和 image/ 等构建所需文件。与 Claude API 和 Bedrock 路径不同Vertex 路径要求先docker build本地镜像而不是直接拉取预构建的ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest镜像——因为凭据文件是从宿主机以 bind mount 方式注入容器的。认证GCP 凭据如何传入容器README 给出的主路径是 Google Cloud Application Default CredentialsADCgcloud auth application-default login该命令会在~/.config/gcloud/application_default_credentials.json生成 ADC 文件。随后docker run把宿主机上这个文件挂载到容器内-v $HOME/.config/gcloud/application_default_credentials.json:/home/computeruse/.config/gcloud/application_default_credentials.json注意挂载的目标路径容器内应用以computeruse用户运行见 Dockerfile 中的ENV USERNAMEcomputeruse、WORKDIR $HOME所以凭据必须落在/home/computeruse/下SDK 才能按默认位置找到它。README 同时给出了可选分支设置GOOGLE_APPLICATION_CREDENTIALS环境变量指向任意一个凭据文件例如服务账号 key 文件替代默认位置的 ADC 文件细节以 Google Cloud Authentication 文档为准。两种凭据方式只选一种即可。执行步骤完整的 README 命令如下VERTEX_REGION和VERTEX_PROJECT_ID需要你替换成自己的区域和项目 IDdocker build . -t computer-use-demo gcloud auth application-default login export VERTEX_REGION%your_vertex_region% export VERTEX_PROJECT_ID%your_vertex_project_id% docker run \ -e API_PROVIDERvertex \ -e CLOUD_ML_REGION$VERTEX_REGION \ -e ANTHROPIC_VERTEX_PROJECT_ID$VERTEX_PROJECT_ID \ -v $HOME/.config/gcloud/application_default_credentials.json:/home/computeruse/.config/gcloud/application_default_credentials.json \ -p 5900:5900 \ -p 8501:8501 \ -p 6080:6080 \ -p 8080:8080 \ -it computer-use-demo三个关键环境变量的作用变量用途API_PROVIDERvertex告诉 agent loop 使用 Vertex 通道。loop.py 中APIProvider.VERTEX对应vertex命中时客户端构造为AnthropicVertex()来自anthropic[bedrock,vertex]SDK见 requirements.txt。CLOUD_ML_REGIONVertex 所在区域由$VERTEX_REGION传入。这个变量是必填的应用侧校验逻辑streamlit.py 的validate_auth在未设置时直接返回Set the CLOUD_ML_REGION environment variable to use the Vertex API.不会发起请求。ANTHROPIC_VERTEX_PROJECT_ID目标 GCP 项目 ID由$VERTEX_PROJECT_ID传入供AnthropicVertex客户端定位项目。端口映射保持与 README 一致8080是聊天 桌面的合并界面8501是纯 Streamlit 界面6080是纯桌面noVNC5900是直接 VNC 连接。验证是否接入成功容器启动后浏览器打开http://localhost:8080访问合并界面只有 Streamlit 的话用http://localhost:8501只有桌面的话用http://localhost:6080/vnc.html。在侧边栏选择 provider 为 Vertex 并发起一次对话。Vertex 路径的默认模型是claude-3-5-sonnet-v220241022见 streamlit.py 的PROVIDER_TO_DEFAULT_MODEL_NAME侧边栏可换用 demo 支持的其他模型。如果凭据或区域配置有误应用会在validate_auth中拦截界面显示的错误信息只有两种未设置CLOUD_ML_REGION时Set the CLOUD_ML_REGION environment variable to use the Vertex API.凭据解析失败google.auth.default()抛出DefaultCredentialsError时Your google cloud credentials are not set up correctly.第二种情况对应的常见原因正是凭据文件没有挂进容器、或挂载路径与容器内computeruse用户的$HOME不一致可以对照上文的挂载命令核对。限制与说明这是 beta 功能README 顶部明确提示 Beta API subject to changecomputer use 本身有注入等风险官方建议用最小权限的虚拟机/容器运行。demo 的 agent loop 运行在被控制的容器内部同一时间只能供一个会话使用不同会话之间需要重启或重置容器README IMPORTANT 一节。设置如自定义 system prompt保存在容器内~/.anthropic/如需跨容器运行持久化参照 Claude API 部分的做法把$HOME/.anthropic挂载为-v $HOME/.anthropic:/home/computeruse/.anthropic。【免费下载链接】claude-quickstartsA collection of projects designed to help developers quickly get started with building deployable applications using the Claude API项目地址: https://gitcode.com/GitHub_Trending/an/claude-quickstarts创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考