用于访问 Claude 的 Vertex API 与 Messages API 几乎相同,并支持所有相同的选项,但有两个关键区别:

  • 在 Vertex 中,model 不在请求正文中传递。相反,它在 Google Cloud 端点 URL 中指定。
  • 在 Vertex 中,anthropic_version 在请求正文中传递(而不是作为标头),并且必须设置为值 vertex-2023-10-16

Vertex 也受 Anthropic 官方 客户端 SDK 的支持。本指南将引导您完成在 Python 或 TypeScript 中向 Vertex AI 上的 Claude 发出请求的过程。

请注意,本指南假设您已经有一个可以使用 Vertex AI 的 GCP 项目。有关所需设置的更多信息以及完整的演练,请参阅 使用来自 Anthropic 的 Claude 3 模型

安装用于访问 Vertex AI 的 SDK

首先,安装您选择的语言的 Anthropic 客户端 SDK

pip install -U google-cloud-aiplatform "anthropic[vertex]"

访问 Vertex AI

模型可用性

请注意,Anthropic 模型在不同地区的可用性有所不同。在 Vertex AI 模型花园 中搜索 “Claude”,或转到 使用 Claude 3 以获取最新信息。

API 模型名称

模型Vertex AI API 模型名称
Claude 3 Haikuclaude-3-haiku@20240307
Claude 3 Sonnetclaude-3-sonnet@20240229
Claude 3 Opus (公开预览版)claude-3-opus@20240229

发出请求

在运行请求之前,您可能需要运行 gcloud auth application-default login 以使用 GCP 进行身份验证。

以下示例显示如何在 Vertex AI 上从 Claude 3 Haiku 生成文本:

from anthropic import AnthropicVertex

project_id = "MY_PROJECT_ID"
# 模型运行的位置。例如,对于 haiku,可以是 us-central1 或 europe-west4
region = "MY_REGION"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
    model="claude-3-haiku@20240307",
    max_tokens=100,
    messages=[
        {
            "role": "user",
            "content": "Hey Claude!",
        }
    ],
)
print(message)

有关更多详细信息,请参阅我们的 客户端 SDK 和官方 Vertex AI 文档