Usar os modelos do Claude da Anthropic

Os modelos do Anthropic Claude na Vertex AI oferecem modelos totalmente gerenciados e sem servidor como APIs. Para usar um modelo Claude na Vertex AI, envie uma solicitação diretamente para o endpoint da API Vertex AI. Como os modelos do Anthropic Claude usam uma API gerenciada, não é necessário provisionar ou gerenciar a infraestrutura.

É possível transmitir as respostas do Claude para reduzir a percepção de latência do usuário final. Uma resposta transmitida usa eventos enviados pelo servidor (SSE) para transmitir a resposta de forma incremental.

Você paga pelos modelos do Claude conforme os usa (pagamento por uso) ou paga uma taxa fixa ao usar a capacidade de processamento provisionada. Para preços de pagamento por uso, consulte Modelos Claude da Anthropic na página de preços da Vertex AI.

Modelos Anthropic Claude disponíveis

Os modelos a seguir estão disponíveis pela Anthropic para uso na Vertex AI. Para acessar um modelo do Anthropic Claude, acesse o respectivo card do Model Garden.

Claude 3.5 Sonnet

O Claude 3.5 Sonnet é o modelo de IA mais poderoso da Anthropic e mantém a velocidade e o custo do Claude 3 Sonnet, que é um modelo de nível intermediário. O Claude 3.5 Sonnet demonstra o que é possível com a IA generativa. O Claude 3.5 Sonnet é otimizado para os seguintes casos de uso:

  • Programação, como escrever, editar e executar código com recursos sofisticados de raciocínio e solução de problemas.

  • Processe consultas complexas do suporte ao cliente entendendo o contexto do usuário e orquestando fluxos de trabalho de várias etapas.

  • Ciência e análise de dados navegando em dados não estruturados e usando várias ferramentas para gerar insights.

  • Processamento visual, como interpretar gráficos que exigem compreensão visual.

  • Escrever conteúdo com um tom mais natural e humano.

Acesse o card do modelo Claude 3.5 Sonnet

Claude 3 Opus

O Anthropic Claude 3 Opus é o segundo modelo de IA mais poderoso da Anthropic, com um bom desempenho em tarefas altamente complexas. Ele é capaz de lidar com comandos abertos e cenários não vistos com fluência notável e de compreensão semelhante à humana. O Claude 3 Opus é otimizado para os seguintes casos de uso:

  • Automação de tarefas, como programação e planejamento interativos, ou execução de ações complexas em APIs e bancos de dados.

  • Tarefas de pesquisa e desenvolvimento, como revisão de pesquisa, brainstorming, geração de hipóteses e teste de produtos.

  • Tarefas estratégicas, como análise avançada de gráficos, finanças e tendências de mercado, e previsões.

  • Tarefas de visão, como processar imagens para retornar saídas de texto. Além disso, análise de tabelas, gráficos, diagramas técnicos, relatórios e outros conteúdos visuais.

Acesse o card do modelo Claude 3 Opus

Claude 3 Haiku

O Anthropic Claude 3 Haiku é o modelo de texto e visão mais compacto e rápido da Anthropic para respostas quase instantâneas a consultas simples, voltado para experiências de IA perfeitas que imitam interações humanas. O Claude 3 Haiku é otimizado para os seguintes casos de uso:

  • Interações com o cliente e traduções ao vivo.

  • Moderação de conteúdo para detectar comportamentos suspeitos ou solicitações de clientes.

  • Tarefas de economia de custos, como gerenciamento de inventário e extração de conhecimento de dados não estruturados.

  • Tarefas de visão, como processamento de imagens para retornar resultados de texto, análise de tabelas, gráficos, diagramas técnicos, relatórios e outros conteúdos visuais.

Acesse o card do Claude 3 Haiku

Claude 3 Sonnet

O Anthropic Claude 3 Sonnet é a combinação confiável de habilidades e velocidade da Anthropic. Ele foi projetado para ser confiável para implantações de IA escalonadas em diversos casos de uso. O Claude 3 Sonnet é otimizado para os seguintes casos de uso:

  • Processamento de dados, incluindo geração de recuperação aumentada (RAG, na sigla em inglês) e recuperação de pesquisa.

  • Tarefas de vendas, como recomendações de produtos, previsão e marketing direcionado.

  • Tarefas que economizam tempo, como geração de código, controle de qualidade e reconhecimento óptico de caracteres (OCR) em imagens.

  • Tarefas de visão, como processar imagens para retornar saídas de texto. Além disso, análise de tabelas, gráficos, diagramas técnicos, relatórios e outros conteúdos visuais.

Acesse o card do Claude 3 Sonnet

Usar modelos de Claude

É possível usar um SDK Anthropic ou comandos curl para enviar solicitações ao endpoint da Vertex AI usando os seguintes nomes de modelos:

  • Para o Claude 3.5 Sonnet, use claude-3-5-sonnet@20240620.
  • Para o Claude 3 Opus, use claude-3-opus@20240229.
  • Para o Claude 3 Haiku, use claude-3-haiku@20240307.
  • Para o Claude 3 Sonnet, use claude-3-sonnet@20240229.

Recomendamos usar as versões do modelo Anthropic Claude que incluem um sufixo que começa com um símbolo @ (como claude-3-5-sonnet@20240620 ou claude-3-haiku@20240307) devido às possíveis diferenças entre as versões do modelo. Se você não especificar uma versão do modelo, a versão mais recente será sempre usada, o que pode afetar inadvertidamente seus fluxos de trabalho quando uma versão do modelo mudar.

Antes de começar

Para usar modelos do Anthropic Claude com a Vertex AI, siga as etapas abaixo. A API Vertex AI (aiplatform.googleapis.com) precisa estar ativada para usar a Vertex AI. Se você já tiver um projeto existente com a API do Vertex AI 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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Acesse um dos seguintes cards de modelo do Model Garden e clique em enable:

Usar o SDK do Anthropic

É possível fazer solicitações de API para 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 realizar uma chamada de streaming para um modelo do Anthropic 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.

#     # 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@20240620",
#         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 realizar uma chamada unária para um modelo do Anthropic 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.

# 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@20240620",
    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 Vertex AI. O comando curl especifica qual modelo do Anthropic Claude compatível você quer usar.

Recomendamos usar as versões do modelo Anthropic Claude que incluem um sufixo que começa com um símbolo @ (como claude-3-5-sonnet@20240620 ou claude-3-haiku@20240307) devido às possíveis diferenças entre as versões do modelo. Se você não especificar uma versão do modelo, a versão mais recente será sempre usada, o que pode afetar inadvertidamente seus fluxos de trabalho quando uma versão do modelo mudar.

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

REST

Para testar um prompt de texto usando a API Vertex AI, envie uma solicitação POST para o endpoint do modelo do editor.

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.
    O Claude 3.5 Sonnet está disponível nas seguintes regiões:
    • us-east5 (Ohio)
    • asia-southeast1 (Singapore)
    • europe-west1 (Belgium)
    O Claude 3 Opus está disponível na seguinte região:
    • us-east5 (Ohio)
    O Claude 3 Haiku está disponível nas seguintes regiões:
    • us-east5 (Ohio)
    • asia-southeast1 (Singapore)
    • europe-west1 (Belgium)
    O Claude 3 Sonnet está disponível nas seguintes regiões:
    • us-east5 (Ohio)
  • 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_OUTPUT_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 (veja o top-K) 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.

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
}

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 a seguir:

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 exemplos a seguir demonstram como usar ferramentas com o SDK do Anthropic ou o comando curl. Os exemplos pesquisam restaurantes por perto em São Francisco que estão abertos no momento.

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.

# 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@20240620",
    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

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.
    O Claude 3.5 Sonnet está disponível nas seguintes regiões:
    • us-east5 (Ohio)
    • asia-southeast1 (Singapore)
    • europe-west1 (Belgium)
    O Claude 3 Opus está disponível na seguinte região:
    • us-east5 (Ohio)
    O Claude 3 Haiku está disponível nas seguintes regiões:
    • us-east5 (Ohio)
    • asia-southeast1 (Singapore)
    • europe-west1 (Belgium)
    O Claude 3 Sonnet está disponível nas seguintes regiões:
    • us-east5 (Ohio)
  • MODEL: o nome do modelo que você quer usar.
    • Para o Claude 3 Opus, use claude-3-opus@20240229.
    • Para o Claude 3 Sonnet, use claude-3-sonnet@20240229.
    • Para o Claude 3 Haiku, use claude-3-haiku@20240307.
  • 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_OUTPUT_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 a seguir:

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.

Disponibilidade na região de Anthropic Claude

O Claude 3.5 Sonnet está disponível nas seguintes regiões:
  • us-east5 (Ohio)
  • asia-southeast1 (Singapore)
  • europe-west1 (Belgium)
O Claude 3 Opus está disponível na seguinte região:
  • us-east5 (Ohio)
O Claude 3 Haiku está disponível nas seguintes regiões:
  • us-east5 (Ohio)
  • asia-southeast1 (Singapore)
  • europe-west1 (Belgium)
O Claude 3 Sonnet está disponível nas seguintes regiões:
  • us-east5 (Ohio)

Cotas do Anthropic Claude e tamanho de contexto compatível

Para os modelos do Claude, uma cota se aplica a cada região em que o modelo está disponível. A cota é especificada em consultas por minuto (QPM) e tokens por minuto (TPM). O TPM inclui tokens de entrada e saída.

O limite de cota padrão e o tamanho de contexto compatível com o Claude 3.5 Sonnet são:

Região Sistema de cotas Tamanho de contexto compatível
us-east5 (Ohio) Aceita a cota compartilhada dinâmica 200.000 tokens
asia-southeast1 (Singapore) Aceita a cota compartilhada dinâmica 200.000 tokens
europe-west1 (Belgium) Aceita a cota compartilhada dinâmica 200.000 tokens

O limite de cota padrão e o tamanho de contexto aceitos no Claude 3 Opus são:

Região Limite de cota padrão Tamanho de contexto compatível
us-east5 (Ohio) Aceita a cota compartilhada dinâmica 200.000 tokens

O limite de cota padrão e o tamanho de contexto aceitos no Claude 3 Haiku são:

Região Limite de cota padrão Tamanho de contexto compatível
us-east5 (Ohio) Aceita a cota compartilhada dinâmica 200.000 tokens
asia-southeast1 (Singapore) Aceita a cota compartilhada dinâmica 200.000 tokens
europe-west1 (Belgium) Aceita a cota compartilhada dinâmica 200.000 tokens

O limite de cota padrão e o tamanho de contexto aceitos no Claude 3 Sonnet são:

Região Limite de cota padrão Tamanho de contexto compatível
us-east5 (Ohio) Aceita a cota compartilhada dinâmica 200.000 tokens

Para aumentar alguma das suas cotas de IA generativa na Vertex AI, use o console do Google Cloud para solicitar um aumento de cota. Para saber mais sobre cotas, consulte Trabalhar com cotas.