Use os modelos Claude 3 da Anthropic

Os modelos Anthropic Claude 3 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 3 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 eles são usados. Para mais informações, consulte a seção sobre modelos do Anthropic Claude na página de preços da Vertex AI.

Modelos Anthropic Claude disponíveis

Para acessar um modelo do Anthropic Claude, acesse o Model Garden, procure por Claude e selecione o modelo do Claude que você quer usar. Todos os modelos Claude 3 processam imagens, retornam saídas de texto e têm uma janela de contexto de 200 mil. Também é possível usar os links a seguir para acessar os cards de modelos do Claude disponíveis na Vertex AI:

Claude 3 Sonnet

O Anthropic Claude 3 Sonnet oferece um equilíbrio entre inteligência e velocidade para cargas de trabalho corporativas. É um modelo de alta resistência para IA em escala que está disponível a um preço competitivo. 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.

Claude 3 Haiku

O Anthropic Claude 3 Haiku é o modelo mais compacto e mais rápido disponível da Anthropic. Ele foi desenvolvido para responder a consultas e solicitações com rapidez. É possível usá-lo para criar experiências de IA 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.

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 Sonnet, use claude-3-sonnet@20240229.
  • Para o Claude 3 Haiku, use claude-3-haiku@20240307.

Não recomendamos usar as versões do modelo Anthropic Claude 3 que não incluem um sufixo que comece com um símbolo @ (claude-3-sonnet ou claude-3-haiku).

Antes de começar

Para usar modelos do Anthropic Claude 3 com a Vertex AI, você precisa executar as etapas a seguir. 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 os modelos do Anthropic Claude 3. Para mais informações, consulte Conceder as permissões necessárias.

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative a API Vertex AI.

    Ative a API

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Ative a API Vertex AI.

    Ative a API

  8. Verifique se você tem permissões para ativar os modelos do Anthropic Claude e enviar uma solicitação. Para mais informações, consulte Definir as permissões necessárias para ativar os modelos do Claude e enviar solicitações.
  9. 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 3 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 3.

Python

Para saber como instalar ou atualizar o 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

def generate_text_streaming(project_id: str, region: str) -> str:
    client = AnthropicVertex(region=region, project_id=project_id)
    result = []

    with client.messages.stream(
        model="claude-3-sonnet@20240229",
        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)

    return "".join(result)

Fazer uma chamada unária para um modelo Claude 3 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 3.

Python

Para saber como instalar ou atualizar o 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

def generate_text(project_id: str, region: str) -> object:
    client = AnthropicVertex(region=region, project_id=project_id)
    message = client.messages.create(
        model="claude-3-sonnet@20240229",
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": "Send me a recipe for banana bread.",
            }
        ],
    )
    print(message.model_dump_json(indent=2))
    return message

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:

  • Para o Claude 3 Sonnet, use claude-3-sonnet@20240229.
  • Para o Claude 3 Haiku, use claude-3-haiku@20240307.

Não recomendamos usar as versões do modelo Anthropic Claude 3 que não incluem um sufixo que comece com um símbolo @ (claude-3-sonnet ou claude-3-haiku).

O tópico a seguir mostra como criar um comando curl e inclui uma amostra do comando curl. O comando curl de amostra usa o modelo Claude 3 Sonnet.

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 Sonnet está disponível nas seguintes regiões:
    • us-central1 (Iowa)
    • asia-southeast1 (Singapore)
    O Claude 3 Haiku está disponível nas seguintes regiões:
    • us-central1 (Iowa)
    • europe-west4 (Netherlands)
  • MODEL: o nome do modelo que você quer usar. Para Claude 3 Haiku, use claude-3-haiku@20240307. Para o Claude 3 Sonnet, use claude-3-sonnet@20240229.
  • 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): Top-K 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="claude-3-sonnet@20240229"
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}'

Disponibilidade na região de Anthropic Claude

O Claude 3 Sonnet está disponível nas seguintes regiões:

  • us-central1 (Iowa)
  • asia-southeast1 (Singapore)
O Claude 3 Haiku está disponível nas seguintes regiões:
  • us-central1 (Iowa)
  • europe-west4 (Netherlands)

Cotas do Anthropic Claude e tamanho de contexto compatível

Para o Claude 3 Sonnet e o Claude 3 Haiku, há duas cotas, uma para cada região em que 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 Sonnet são:

Região Limite de cota padrão Tamanho de contexto compatível
us-central1 (Iowa) 60 QPM, 50.000 TPM 200.000 tokens
asia-southeast1 (Singapore) 60 QPM, 50.000 TPM 200.000 tokens

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

Região Limite de cota padrão Tamanho de contexto compatível
us-central1 (Iowa) 60 QPM, 50.000 TPM 200.000 tokens
europe-west4 (Netherlands) 60 QPM, 50.000 TPM 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.

Defina as permissões necessárias para ativar os modelos do Claude e enviar solicitações.

Para que um usuário ative os modelos do Anthropic Claude, um administrador precisa conceder a esse usuário o papel de gerenciamento de identidade e acesso (IAM) do Gerente de direito de compra do consumidor. Qualquer usuário que tenha esse papel pode ativar um modelo Anthropic Claude no Model Garden.

Para que um usuário faça solicitações de prompt da Vertex AI, um administrador precisa conceder a ele a permissão aiplatform.endpoints.predict. Essa permissão está incluída no papel de IAM de usuário da Vertex AI. Para mais informações, consulte Usuário da Vertex AI e Controle de acesso.

Console

  1. Para conceder os papéis de IAM do Gerente de direito de compra do consumidor a um usuário, acesse a página IAM.

    Acessar IAM

  2. Na coluna Principal, encontre a principal do usuário que você quer ativar o acesso aos modelos do Anthropic Claude e clique em . Edite a principal nessa linha.

  3. No painel Editar acesso, clique em Adicionar outro papel.

  4. Em Selecionar uma função, escolha Gerente de direito de compra do consumidor.

  5. No painel Editar acesso, clique em Adicionar outro papel.

  6. Em Selecionar um papel, escolha Usuário da Vertex AI.

  7. Clique em Salvar.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

  2. Conceda o papel de gerente de direito de compra do consumidor necessário para ativar os modelos do Anthropic Claude no Model Garden

    gcloud projects add-iam-policy-binding  PROJECT_ID \
    --member=PRINCIPAL --role=roles/consumerprocurement.entitlementManager
    
  3. Conceda a função de usuário da Vertex AI que inclui a permissão aiplatform.endpoints.predict, necessária para fazer solicitações de comandos:

    gcloud projects add-iam-policy-binding  PROJECT_ID \
    --member=PRINCIPAL --role=roles/aiplatform.user
    

    Substitua PRINCIPAL pelo identificador do principal. O identificador tem o formato user|group|serviceAccount:email ou domain:domain, por exemplo, user:cloudysanfrancisco@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com ou domain:example.domain.com.

    A saída é uma lista de vinculações de política que inclui o seguinte:

    - members:
      - user:PRINCIPAL
      role: roles/roles/consumerprocurement.entitlementManager
    

    Para mais informações, consulte Conceder um único papel e gcloud projects add-iam-policy-binding.