Solicitar previsões com modelos do Claude

É possível usar o SDK da Anthropic ou comandos curl para enviar solicitações ao endpoint da Gemini Enterprise Agent Platform usando os seguintes nomes de modelos:

  • Para o Claude Sonnet 5.5 no Google Cloud, use claude-sonnet-5-5
  • Para o Claude Fable 5.1 no Google Cloud, use claude-fable-5-1
  • Para o Claude Sonnet 5 no Google Cloud, use claude-sonnet-5
  • Para o Claude Opus 5.5 no Google Cloud, use claude-opus-5-5
  • Para o Claude Opus 5 no Google Cloud, use claude-opus-5
  • Para o Claude Fable 5 no Google Cloud, use claude-fable-5
  • Para o Claude Opus 4.8 no Google Cloud, use claude-opus-4-8
  • Para o Claude Opus 4.7 no Google Cloud, use claude-opus-4-7
  • Para o Claude Opus 4.6 no Google Cloud, use claude-opus-4-6
  • Para o Claude Sonnet 4.6 no Google Cloud, use claude-sonnet-4-6
  • Para o Claude Opus 4.5 no Google Cloud, use claude-opus-4-5
  • Para o Claude Opus 4.1 no Google Cloud, use claude-opus-4-1
  • Para o Claude Opus 4 no Google Cloud, use claude-opus-4
  • Para o Claude Sonnet 4.5 no Google Cloud, use claude-sonnet-4-5
  • Para o Claude Sonnet 4 no Google Cloud, use claude-sonnet-4
  • Para o Claude 3.7 Sonnet no Google Cloud, use claude-3-7-sonnet
  • Para o Claude 3.5 Sonnet v2 no Google Cloud, use claude-3-5-sonnet-v2
  • Para o Claude Haiku 5.5 no Google Cloud, use claude-haiku-5-5
  • Para o Claude Haiku 4.5 no Google Cloud, use claude-haiku-4-5
  • Para o Claude 3.5 Haiku no Google Cloud, use claude-3-5-haiku
  • Para o Claude 3.5 Sonnet no Google Cloud, use claude-3-5-sonnet
  • Para o Claude 3 Opus no Google Cloud, use claude-3-opus
  • Para o Claude 3 Haiku no Google Cloud, use claude-3-haiku

Antes de começar

A Anthropic aplica políticas que proíbem determinados revendedores de revender os produtos deles. Se a conta de faturamento do Cloud de Confiance by S3NS for gerenciada por um revendedor proibido, não será possível aceitar os Termos de Serviço nem ativar os modelos do Claude. Se isso acontecer, entre em contato diretamente com seu revendedor.

Para usar os modelos do Anthropic Claude com a plataforma de agentes do Gemini Enterprise, siga as etapas abaixo. A API Agent Platform (aiplatform.googleapis.com) precisa estar ativada para usar a Gemini Enterprise Agent Platform. Se você já tiver um projeto com a API Agent Platform ativada, poderá usar esse projeto em vez de criar um novo.

Verifique se você tem as permissões necessárias para ativar e usar modelos do parceiro. Para mais informações, consulte Conceder as permissões necessárias.

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. Enable the Gemini Enterprise Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  4. Acesse um dos seguintes cards de modelo do Model Garden e clique em Ativar:

A Anthropic recomenda ativar a geração de registros de 30 dias da sua atividade de comando e conclusão para registrar qualquer uso indevido do modelo. Para ativar a geração de registros, consulte Registrar solicitações e respostas.

Usar o SDK do Anthropic

É possível fazer solicitações de API para os modelos do Anthropic Claude usando o SDK do Anthropic Claude (link em inglês). Para saber mais, consulte:

Fazer uma chamada de streaming para um modelo Claude usando o SDK Vertex Anthropic

O exemplo de código a seguir usa o SDK Vertex Anthropic para fazer uma chamada de streaming para um modelo do Claude.

Python

Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.

O exemplo a seguir usa endpoints regionais. Para usar o endpoint multirregional ou global, consulte Especificar o endpoint multirregional ou Especificar o endpoint global.
# TODO(developer): Vertex AI SDK - uncomment below & run
# pip3 install --upgrade --user google-cloud-aiplatform
# gcloud auth application-default login
# pip3 install -U 'anthropic[vertex]'

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"

from anthropic import AnthropicVertex

client = AnthropicVertex(project_id=PROJECT_ID, region="us-east5")
result = []

with client.messages.stream(
    model="claude-3-5-sonnet-v2@20241022",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "Send me a recipe for banana bread.",
        }
    ],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
        result.append(text)

# Example response:
# Here's a simple recipe for delicious banana bread:
# Ingredients:
# - 2-3 ripe bananas, mashed
# - 1/3 cup melted butter
# ...
# ...
# 8. Bake for 50-60 minutes, or until a toothpick inserted into the center comes out clean.
# 9. Let cool in the pan for a few minutes, then remove and cool completely on a wire rack.

Fazer uma chamada unária para um modelo Claude usando o SDK Vertex Anthropic

O exemplo de código a seguir usa o SDK Vertex Anthropic para fazer uma chamada unária para um modelo do Claude.

Python

Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.

O exemplo a seguir usa endpoints regionais. Para usar o endpoint multirregional ou global, consulte Especificar o endpoint multirregional ou Especificar o endpoint global.
# TODO(developer): Vertex AI SDK - uncomment below & run
# pip3 install --upgrade --user google-cloud-aiplatform
# gcloud auth application-default login
# pip3 install -U 'anthropic[vertex]'

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"

from anthropic import AnthropicVertex

client = AnthropicVertex(project_id=PROJECT_ID, region="us-east5")
message = client.messages.create(
    model="claude-3-5-sonnet-v2@20241022",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "Send me a recipe for banana bread.",
        }
    ],
)
print(message.model_dump_json(indent=2))
# Example response:
# {
#   "id": "msg_vrtx_0162rhgehxa9rvJM5BSVLZ9j",
#   "content": [
#     {
#       "text": "Here's a simple recipe for delicious banana bread:\n\nIngredients:\n- 2-3 ripe bananas...
#   ...

Usar um comando curl

É possível usar um comando curl para fazer uma solicitação ao endpoint da Gemini Enterprise Agent Platform. O comando curl especifica qual modelo do Claude compatível você quer usar.

O tópico a seguir mostra como criar um comando curl e inclui uma amostra do comando curl.

REST

Para testar um comando de texto usando a API Agent Platform, envie uma solicitação POST para o endpoint do modelo do editor.

O exemplo a seguir usa endpoints regionais. Para usar o endpoint multirregional ou global, consulte Especificar o endpoint multirregional ou Especificar o endpoint global.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION: uma região compatível com modelos do Anthropic Claude. Para usar o endpoint global, consulte Especificar o endpoint global.
  • MODEL: o nome do modelo que você quer usar.
  • ROLE: o papel associado a uma mensagem. É possível especificar user ou assistant. A primeira mensagem precisa usar o papel user. Os modelos de Claude funcionam com voltas alternadas de user e assistant. Se a mensagem final usar o papel assistant, o conteúdo da resposta continuará imediatamente a partir do conteúdo dessa mensagem. É possível usar isso para restringir parte da resposta do modelo.
  • STREAM: um booleano que especifica se a resposta será transmitida ou não. Transmita sua resposta para reduzir a percepção de latência do uso final. Defina como true para transmitir a resposta e false para retornar a resposta de uma só vez.
  • CONTENT: o conteúdo, como texto, da mensagem user ou assistant.
  • MAX_TOKENS: número máximo de tokens que podem ser gerados na resposta. Um token tem aproximadamente 3,5 caracteres. 100 tokens correspondem a cerca de 60 a 80 palavras.

    Especifique um valor mais baixo para respostas mais curtas e um valor mais alto para respostas potencialmente mais longas.

  • TOP_P (opcional): o Top-P muda a forma como o modelo seleciona tokens para saída. Os tokens são selecionados do mais provável para o menos provável até que a soma das probabilidades seja igual ao valor do top-P. Por exemplo, se os tokens A, B e C tiverem uma probabilidade de 0,3, 0,2 e 0,1 e o valor de top-P for 0.5, o modelo selecionará A ou B como token seguinte usando temperatura e exclui C como candidato.

    Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.

  • TOP_K(opcional): o Top-P muda a forma como o modelo seleciona tokens para saída. Um top-K de 1 significa que o próximo token selecionado é o mais provável entre todos os tokens no vocabulário do modelo (também chamado de decodificação gananciosa), enquanto um top-K de 3 significa que o próximo token está selecionado entre os três tokens mais prováveis usando a temperatura.

    Para cada etapa da seleção de tokens, são amostrados os tokens top-K com as maiores probabilidades. Em seguida, os tokens são filtrados com base no valor de top-P com o token final selecionado por meio da amostragem de temperatura.

    Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.

  • TYPE: para o Claude 3.7 Sonnet no Google Cloud e modelos posteriores do Claude, especifique enabled para ativar o modo de pensamento estendido.
  • BUDGET_TOKENS: se você ativar o pensamento estendido, especifique o número de tokens que o modelo pode usar para o raciocínio interno como parte da saída. Orçamentos maiores permitem uma análise mais completa de problemas complexos e melhoram a qualidade da resposta. É necessário especificar um valor maior ou igual a 1024, mas menor que MAX_TOKENS.

Método HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict

Corpo JSON da solicitação:

{
  "anthropic_version": "vertex-2023-10-16",
  "messages": [
   {
    "role": "ROLE",
    "content": "CONTENT"
   }],
  "max_tokens": MAX_TOKENS,
  "stream": STREAM,
  "thinking": {
    "type": "TYPE",
    "budget_tokens": BUDGET_TOKENS
  }
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a seguinte.

Exemplo de comando curl

MODEL_ID="MODEL"
LOCATION="us-central1"
PROJECT_ID="PROJECT_ID"

curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/anthropic/models/${MODEL_ID}:streamRawPredict -d \
'{
  "anthropic_version": "vertex-2023-10-16",
  "messages": [{
    "role": "user",
    "content": "Hello!"
  }],
  "max_tokens": 50,
  "stream": true}'

Uso de ferramentas (chamadas de função)

Os modelos do Anthropic Claude oferecem suporte a ferramentas e chamadas de função para melhorar os recursos de um modelo. Para mais informações, consulte a Visão geral do uso da ferramenta na documentação do Anthropic. Os modelos do Claude na Gemini Enterprise Agent Platform são compatíveis com ferramentas de cliente, mas não com ferramentas de servidor.

Os exemplos a seguir demonstram como usar ferramentas com um SDK ou o comando curl. Os exemplos pesquisam restaurantes por perto em São Francisco que estão abertos.

Python

Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.

O exemplo a seguir usa endpoints regionais. Para usar o endpoint multirregional ou global, consulte Especificar o endpoint multirregional ou Especificar o endpoint global.
# TODO(developer): Vertex AI SDK - uncomment below & run
# pip3 install --upgrade --user google-cloud-aiplatform
# gcloud auth application-default login
# pip3 install -U 'anthropic[vertex]'
from anthropic import AnthropicVertex

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"

client = AnthropicVertex(project_id=PROJECT_ID, region="us-east5")
message = client.messages.create(
    model="claude-3-5-sonnet-v2@20241022",
    max_tokens=1024,
    tools=[
        {
            "name": "text_search_places_api",
            "description": "returns information about a set of places based on a string",
            "input_schema": {
                "type": "object",
                "properties": {
                    "textQuery": {
                        "type": "string",
                        "description": "The text string on which to search",
                    },
                    "priceLevels": {
                        "type": "array",
                        "description": "Price levels to query places, value can be one of [PRICE_LEVEL_INEXPENSIVE, PRICE_LEVEL_MODERATE, PRICE_LEVEL_EXPENSIVE, PRICE_LEVEL_VERY_EXPENSIVE]",
                    },
                    "openNow": {
                        "type": "boolean",
                        "description": "whether those places are open for business.",
                    },
                },
                "required": ["textQuery"],
            },
        }
    ],
    messages=[
        {
            "role": "user",
            "content": "What are some affordable and good Italian restaurants open now in San Francisco??",
        }
    ],
)
print(message.model_dump_json(indent=2))
# Example response:
# {
#   "id": "msg_vrtx_018pk1ykbbxAYhyWUdP1bJoQ",
#   "content": [
#     {
#       "text": "To answer your question about affordable and good Italian restaurants
#       that are currently open in San Francisco....
# ...

REST

O exemplo a seguir usa endpoints regionais. Para usar o endpoint multirregional ou global, consulte Especificar o endpoint multirregional ou Especificar o endpoint global.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION: uma região compatível com modelos do Anthropic Claude. Para usar o endpoint global, consulte Especificar o endpoint global.
  • MODEL: o nome do modelo a ser usado.
  • ROLE: o papel associado a uma mensagem. É possível especificar user ou assistant. A primeira mensagem precisa usar o papel user. Os modelos de Claude funcionam com voltas alternadas de user e assistant. Se a mensagem final usar o papel assistant, o conteúdo da resposta continuará imediatamente a partir do conteúdo dessa mensagem. É possível usar isso para restringir parte da resposta do modelo.
  • STREAM: um booleano que especifica se a resposta será transmitida ou não. Transmita sua resposta para reduzir a percepção de latência do uso final. Defina como true para transmitir a resposta e false para retornar a resposta de uma só vez.
  • CONTENT: o conteúdo, como texto, da mensagem user ou assistant.
  • MAX_TOKENS: número máximo de tokens que podem ser gerados na resposta. Um token tem aproximadamente 3,5 caracteres. 100 tokens correspondem a cerca de 60 a 80 palavras.

    Especifique um valor mais baixo para respostas mais curtas e um valor mais alto para respostas potencialmente mais longas.

Método HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:rawPredict

Corpo JSON da solicitação:


{
  "anthropic_version": "vertex-2023-10-16",
  "max_tokens": MAX_TOKENS,
  "stream": STREAM,
  "tools": [
    {
      "name": "text_search_places_api",
      "description": "Returns information about a set of places based on a string",
      "input_schema": {
        "type": "object",
        "properties": {
          "textQuery": {
            "type": "string",
            "description": "The text string on which to search"
          },
          "priceLevels": {
            "type": "array",
            "description": "Price levels to query places, value can be one of [PRICE_LEVEL_INEXPENSIVE, PRICE_LEVEL_MODERATE, PRICE_LEVEL_EXPENSIVE, PRICE_LEVEL_VERY_EXPENSIVE]",
          },
          "openNow": {
            "type": "boolean",
            "description": "Describes whether a place is open for business at
            the time of the query."
          },
        },
        "required": ["textQuery"]
      }
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": "What are some affordable and good Italian restaurants that are open now in San Francisco??"
    }
  ]
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:rawPredict"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:rawPredict" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a seguinte.

Usar o Agent Studio na Gemini Enterprise Agent Platform

Para alguns modelos do Anthropic Claude, é possível usar o Agent Studio na Gemini Enterprise Agent Platform para prototipar e testar rapidamente modelos de IA generativa no console Cloud de Confiance . Por exemplo, você pode usar o Agent Studio na Gemini Enterprise Agent Platform para comparar respostas do modelo Claude com outros modelos compatíveis, como o Google Gemini.

Para mais informações, consulte Início rápido: envie comandos de texto para o Gemini usando o Agent Studio na Gemini Enterprise Agent Platform.