Usa los modelos Claude 3 de Anthropic

Los modelos Anthropic Claude 3 en Vertex AI ofrecen modelos completamente administrados y sin servidores como APIs. Para usar un modelo de Claude en Vertex AI, envía una solicitud directamente al extremo de la API de Vertex AI. Debido a que los modelos Anthropic Claude 3 usan una API administrada, no es necesario aprovisionar ni administrar la infraestructura.

Puedes transmitir tus respuestas de Claude para reducir la percepción de latencia del usuario final. Una respuesta transmitida usa eventos enviados por el servidor (SSE) para transmitir la respuesta de forma incremental.

Pagas por los modelos de Claude a medida que los usas. Para obtener más información, consulta la sección sobre modelos Anthropic Claude en la página de precios de Vertex AI.

Modelos de Anthropic Claude disponibles

Para acceder a un modelo Anthropic Claude, haz lo siguiente:ir a Model Garden, buscarClaude y selecciona el modelo de Claude que deseas usar. Todos los modelos de Claude 3 procesan imágenes, muestran resultados de texto y tienen una ventana de contexto de 200,000. También puedes usar los siguientes vínculos para ir a las tarjetas de modelo de los modelos de Claude disponibles en Vertex AI:

Claude 3 Sonnet

Anthropic Claude 3 Sonnet ofrece un equilibrio entre inteligencia y velocidad para las cargas de trabajo empresariales. Es un modelo de alta durabilidad para la IA a escala que está disponible a un precio competitivo. Claude 3 Sonnet está optimizado para los siguientes casos de uso:

  • Procesamiento de datos, incluida la generación de aumento aumentado (RAG) y la recuperación de la búsqueda.

  • Tareas de ventas, como recomendaciones de productos, previsión y marketing orientado

  • Tareas que ahorran tiempo, como la generación de código, el control de calidad y el reconocimiento óptico de caracteres (OCR) en las imágenes

  • Tareas de visión, como el procesamiento de imágenes para mostrar resultados de texto Además, análisis de gráficos, diagramas técnicos, informes y otro contenido visual.

Claude 3 Haiku

Anthropic Claude 3 Haiku es el modelo más rápido y compacto disponible de Anthropic. Está diseñado para responder consultas y solicitudes con rapidez. Puedes usarla para compilar experiencias de IA que imiten interacciones humanas. Claude 3 Haiku está optimizado para los siguientes casos de uso:

  • Interacciones y traducciones en vivo con clientes

  • Moderación de contenido para detectar comportamientos sospechosos o solicitudes de los clientes.

  • Tareas de ahorro de costos, como la administración de inventario y la extracción de conocimiento a partir de datos no estructurados

  • Tareas de visión, como el procesamiento de imágenes para mostrar resultados de texto, análisis de gráficos, gráficos, diagramas técnicos, informes y otro contenido visual

Usa modelos de Claude

Puedes usar un SDK de Anthropic o comandos curl para enviar solicitudes al extremo de Vertex AI con los siguientes nombres de modelo:

  • Para Claude 3 Sonnet, usa claude-3-sonnet@20240229.
  • para Claude 3 Haiku, usa claude-3-haiku@20240307.

No recomendamos usar las versiones del modelo Anthropic Claude 3 que no incluyen un sufijo que comienza con un símbolo @ (claude-3-sonnet o claude-3-haiku).

Antes de comenzar

Para usar modelos de Anthropic Claude 3 con Vertex AI, debes realizar los siguientes pasos. La API de Vertex AI (aiplatform.googleapis.com) debe estar habilitada para usar Vertex AI. Si ya tienes un proyecto existente con la API de Vertex AI habilitada, puedes usar ese proyecto en lugar de crear uno nuevo.

Asegúrate de tener los permisos necesarios para habilitar los modelos Anthropic Claude 3. Para obtener más información, consulta Otorga los permisos necesarios.

  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. Asegúrate de tener permisos para habilitar los modelos Anthropic Claude y para enviar un mensaje. Si deseas obtener más información, consulta Configura los permisos necesarios para habilitar los modelos de Claude y enviar mensajes.
  9. Ve a una de las siguientes tarjetas de modelo de Model Garden y, luego, haz clic en enable:

Usa el SDK de Anthropic

Puedes realizar solicitudes a la API para modelos Anthropic Claude mediante el SDK de Anthropic Claude. Para obtener más información, consulta lo siguiente:

Realiza una llamada de transmisión a un modelo de Claude 3 con el SDK de Anthropic Vertex

En la siguiente muestra de código, se usa el SDK de Anthropic Vertex para realizar una llamada de transmisión a un modelo de Anthropic Claude 3.

Python

Si deseas obtener información para instalar o actualizar el SDK de Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de 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)

Realiza una llamada unaria a un modelo de Claude 3 con el SDK de Anthropic Vertex.

En la siguiente muestra de código, se usa el SDK de Anthropic Vertex para realizar una llamada unaria a un modelo de Anthropic Claude 3.

Python

Si deseas obtener información para instalar o actualizar el SDK de Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de 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

Usa un comando curl

Puedes usar un comando curl para realizar una solicitud al extremo de Vertex AI. El comando curl especifica qué modelo de cláusula Anthropic compatible deseas usar:

  • Para Claude 3 Sonnet, usa claude-3-sonnet@20240229.
  • para Claude 3 Haiku, usa claude-3-haiku@20240307.

No recomendamos usar las versiones del modelo Anthropic Claude 3 que no incluyen un sufijo que comienza con un símbolo @ (claude-3-sonnet o claude-3-haiku).

En el siguiente tema, se muestra cómo crear un comando curl y se incluye un comando curl de muestra. El comando curl de muestra usa el modelo Claude 3 Sonnet.

REST

Para probar un mensaje de texto con la API de Vertex AI, envía una solicitud POST al extremo del modelo de publicador.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es una región que admite modelos de Claude Anthropic. Claude 3 Sonnet está disponible en las siguientes regiones:
    • us-central1 (Iowa)
    • asia-southeast1 (Singapore)
    Claude 3 Haiku está disponible en las siguientes regiones:
    • us-central1 (Iowa)
    • europe-west4 (Netherlands)
  • MODEL: El nombre del modelo que deseas usar Para Claude 3 Haiku, usa claude-3-haiku@20240307. Para Claude 3 Sonnet, usa claude-3-sonnet@20240229.
  • ROLE: El rol asociado a un mensaje. Puedes especificar un user o un assistant. El primer mensaje debe usar el rol user. Los modelos Claude operan con turnos alternativos de user y assistant. Si el mensaje final usa el rol assistant, el contenido de la respuesta continúa inmediatamente desde el contenido de ese mensaje. Puedes usar esto para restringir parte de la respuesta del modelo.
  • STREAM: Un valor booleano que especifica si la respuesta se transmite o no. Transmite tu respuesta para reducir la percepción de latencia del uso final. Configúralo como true para transmitir la respuesta y false para mostrar la respuesta de una sola vez.
  • CONTENT: El contenido, como texto, del mensaje user o assistant.
  • MAX_OUTPUT_TOKENS: Cantidad máxima de tokens que se pueden generar en la respuesta. Un token tiene aproximadamente 3.5 caracteres. 100 tokens corresponden a casi 60 u 80 palabras.

    Especifica un valor más bajo para las respuestas más cortas y un valor más alto para las respuestas potencialmente más largas.

  • TOP_P: (Opcional) P superior cambia la manera en la que el modelo selecciona tokens para la salida. Los tokens se seleccionan desde el más alto (consulta K superior) hasta el menos probable, hasta que la suma de sus probabilidades sea igual al valor de P superior. Por ejemplo, si los tokens A, B y C tienen una probabilidad de 0.3, 0.2 y 0.1, y el valor P superior es 0.5, el modelo elegirá A o B como el siguiente token mediante la temperatura y excluirá a C como candidato.

    Especifica un valor más bajo para respuestas menos aleatorias y un valor más alto para respuestas más aleatorias.

  • TOP_K(Opcional): El parámetro K superior cambia la manera en la que el modelo selecciona los tokens para el resultado K superior a 1 significa que el siguiente token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamado decodificación voraz), mientras que el K superior a 3 significa que el siguiente token se selecciona de los tres tokens más probables mediante la temperatura.

    Para cada paso de selección de tokens, se muestran los tokens de K superior con las probabilidades más altas. Luego, los tokens se filtran según el superior con el token final seleccionado mediante el muestreo de temperatura.

    Especifica un valor más bajo para respuestas menos aleatorias y un valor más alto para respuestas más aleatorias.

HTTP method and URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Ejemplo del 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}'

Disponibilidad de la región de Claude Anthropic

Claude 3 Sonnet está disponible en las siguientes regiones:

  • us-central1 (Iowa)
  • asia-southeast1 (Singapore)
Claude 3 Haiku está disponible en las siguientes regiones:
  • us-central1 (Iowa)
  • europe-west4 (Netherlands)

Cuotas de Anthropic Claude y longitud del contexto admitido

Para Claude 3 Sonnet y Claude 3 Haiku hay dos cuotas, una para cada región en la que está disponible. La cuota se especifica en consultas por minuto (QPM) y tokens por minuto (TPM). TPM incluye tokens de entrada y salida.

El límite de cuota predeterminado y la longitud del contexto compatible para Claude 3 Sonnet son los siguientes:

Región Límite de cuota predeterminado Longitud del contexto compatible
us-central1 (Iowa) 60 QPM, 50,000 TPM 200,000 tokens
asia-southeast1 (Singapore) 60 QPM, 50,000 TPM 200,000 tokens

El límite de cuota predeterminado y la longitud del contexto compatible con Claude 3 Haiku son los siguientes:

Región Límite de cuota predeterminado Longitud del contexto compatible
us-central1 (Iowa) 60 QPM, 50,000 TPM 200,000 tokens
europe-west4 (Netherlands) 60 QPM, 50,000 TPM 200,000 tokens

Si quieres aumentar tus cuotas para IA generativa en Vertex AI, puedes usar la consola de Google Cloud para solicitar un aumento de la cuota. Para obtener más información sobre las cuotas, consulta Trabaja con cuotas.

Configura los permisos necesarios para habilitar los modelos de Claude y enviar instrucciones

Para que un usuario habilite los modelos de Claude Anthropic, un administrador debe otorgar a ese usuario el rol de administrador de Identity and Access Management (IAM) de autorizaciones de adquisición de consumidores. Cualquier usuario al que se le haya otorgado este rol puede habilitar un modelo de Claude Anthropic en Model Garden.

Para que un usuario realice solicitudes de mensaje desde Vertex AI, un administrador debe otorgarle el permiso aiplatform.endpoints.predict. Este permiso se incluye en el rol de IAM de usuario de Vertex AI. Para obtener más información, consulta Usuario de Vertex AI y Control de acceso.

Console

  1. Para otorgar los roles de IAM de Administrador de autorizaciones de adquisición de consumidores a un usuario, ve a la página IAM.

    Ir a IAM

  2. En la columna Principal, busca el principal del usuario para el que deseas habilitar el acceso a los modelos de Anthropic Claude y, luego, haz clic en . Editar principal en esa fila.

  3. En el panel Editar permisos, haz clic en Agregar otra función.

  4. En Selecciona un rol, selecciona Administrador de autorizaciones de adquisición de consumidores.

  5. En el panel Editar permisos, haz clic en Agregar otro rol.

  6. En Selecciona un rol, selecciona Usuario de Vertex AI.

  7. Haz clic en Guardar.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  2. Otorga el rol de administrador de autorizaciones de adquisición de consumidores que es necesaria para habilitar los modelos Anthropic Claude en Model Garden.

    gcloud projects add-iam-policy-binding  PROJECT_ID \
    --member=PRINCIPAL --role=roles/consumerprocurement.entitlementManager
    
  3. Otorga el rol de usuario de Vertex AI que incluye el permiso aiplatform.endpoints.predict necesario para realizar solicitudes de prompts:

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

    Reemplaza PRINCIPAL por el identificador del principal. El identificador tiene la forma user|group|serviceAccount:email o domain:domain, por ejemplo: user:cloudysanfrancisco@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com odomain:example.domain.com.

    El resultado es una lista de vinculaciones de políticas que incluye lo siguiente:

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

    Para obtener más información, consulta Otorga un solo rol y gcloud projects add-iam-policy-binding.