Los modelos de Llama en Vertex AI ofrecen modelos completamente administrados y sin servidores como APIs. Para usar un modelo de Llama en Vertex AI, envía una solicitud directamente al extremo de API de Vertex AI. Debido a que los modelos de Llama usan una API administrada, no es necesario aprovisionar o administrar la infraestructura.
Puedes transmitir tus respuestas 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.
No se aplican cargos durante el período de vista previa. Si necesitas un servicio listo para producción, usa los modelos de Llama alojados por el cliente.
Modelos de Llama disponibles
Meta ofrece los siguientes modelos de Llama para usar en Vertex AI. Para acceder a un modelo de Llama, ve a su tarjeta de modelo de Model Garden.
Llama 3.2
Llama 3.2 permite a los desarrolladores compilar e implementar los modelos y las aplicaciones de IA generativa más recientes que usan las capacidades más recientes de Llama, como el razonamiento de imágenes. Llama 3.2 también está diseñado para ser más accesible para las aplicaciones integradas en el dispositivo.
Ir a la tarjeta de modelo de Llama 3.2Consideraciones
Cuando usas llama-3.2-90b-vision-instruct-maas
, no hay restricciones cuando envías instrucciones de solo texto. Sin embargo, si incluyes una imagen en la instrucción, esta debe estar al comienzo y solo puedes incluir una. Por ejemplo, no puedes incluir texto y, luego, una imagen.
Llama 3.1
Llama 3.1 es un modelo de lenguaje de regresión automática que usa una arquitectura de transformador optimizada. Las versiones ajustadas usan el ajuste fino supervisado (SFT) y el aprendizaje por refuerzo con retroalimentación humana (RLHF) para alinearse con las preferencias de las personas en cuanto a utilidad y seguridad.
Ir a la tarjeta de modelo de Llama 3.1Usa modelos de Llama
Cuando envíes solicitudes para usar los modelos de Llama, usa los siguientes nombres de modelos:
- Para Llama 3.2 90B (versión preliminar), usa
llama-3.2-90b-vision-instruct-maas
. - Para Llama 3.1 405b (versión preliminar), usa
llama3-405b-instruct-maas
. - Para Llama 3.1 70B (versión preliminar), usa
llama3-70b-instruct-maas
. - Para Llama 3.1 8B (versión preliminar), usa
llama3-8b-instruct-maas
.
Te recomendamos que uses las versiones de modelos que incluyen un sufijo que comienza con un símbolo @
debido a las posibles diferencias entre las versiones de modelos. Si no especificas una versión del modelo, siempre se usa la versión más reciente, lo que puede afectar de forma inadvertida tus flujos de trabajo cuando cambia una versión del modelo.
Antes de comenzar
Para usar modelos de Llama 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 y usar los modelos de socios. Para obtener más información, consulta Otorga los permisos necesarios.
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Enable the Vertex AI API.
- Ve a una de las siguientes tarjetas de modelo de Model Garden y, luego, haz clic en habilitar:
Realiza una llamada de transmisión a un modelo de Llama
En el siguiente ejemplo, se realiza una llamada de transmisión a un modelo de Llama.
REST
Después de configurar tu entorno, puedes usar REST para probar una instrucción de texto. En el siguiente ejemplo, se envía una solicitud al extremo del modelo de publicador.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Una región que admite modelos de Llama.
- MODEL: El nombre del modelo que deseas usar.
- ROLE: El rol asociado a un mensaje. Puedes especificar un
user
o unassistant
. El primer mensaje debe usar el roluser
. Los modelos funcionan conuser
yassistant
turnos alternativos. Si el mensaje final usa el rolassistant
, 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. - CONTENT: El contenido, como el texto, del mensaje
user
oassistant
. - MAX_OUTPUT_TOKENS:
Cantidad máxima de tokens que se pueden generar en la respuesta. Un token tiene casi cuatro 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.
- 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 yfalse
para devolverla de una sola vez. - ENABLE_LLAMA_GUARD: Un valor booleano que especifica si se debe habilitar Llama Guard en tus entradas y salidas. De forma predeterminada, Llama Guard está habilitado y marca las respuestas si determina que no son seguras.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Cuerpo JSON de la solicitud:
{ "model": "meta/MODEL", "messages": [ { "role": "ROLE", "content": "CONTENT" } ], "max_tokens": MAX_OUTPUT_TOKENS, "stream": true, "extra_body": { "google": { "model_safety_settings": { "enabled": ENABLE_LLAMA_GUARD, "llama_guard_settings": {} } } } }
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Haz una llamada unaria a un modelo de Llama
En el siguiente ejemplo, se realiza una llamada unario a un modelo de Llama.
REST
Después de configurar tu entorno, puedes usar REST para probar una instrucción de texto. En el siguiente ejemplo, se envía una solicitud al extremo del modelo de publicador.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Una región que admite modelos de Llama.
- MODEL: El nombre del modelo que deseas usar.
- ROLE: El rol asociado a un mensaje. Puedes especificar un
user
o unassistant
. El primer mensaje debe usar el roluser
. Los modelos funcionan conuser
yassistant
turnos alternativos. Si el mensaje final usa el rolassistant
, 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. - CONTENT: El contenido, como el texto, del mensaje
user
oassistant
. - MAX_OUTPUT_TOKENS:
Cantidad máxima de tokens que se pueden generar en la respuesta. Un token tiene casi cuatro 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.
- 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 yfalse
para devolverla de una sola vez. - ENABLE_LLAMA_GUARD: Un valor booleano que especifica si se debe habilitar Llama Guard en tus entradas y salidas. De forma predeterminada, Llama Guard está habilitado y marca las respuestas si determina que no son seguras.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Cuerpo JSON de la solicitud:
{ "model": "meta/MODEL", "messages": [ { "role": "ROLE", "content": "CONTENT" } ], "max_tokens": MAX_OUTPUT_TOKENS, "stream": false, "extra_body": { "google": { "model_safety_settings": { "enabled": ENABLE_LLAMA_GUARD, "llama_guard_settings": {} } } } }
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuestas marcadas
De forma predeterminada, Llama Guard está habilitado en todas las predicciones que realizas con los modelos de Llama 3.1. Llama Guard ayuda a proteger las respuestas, ya que verifica las entradas y las salidas. Si Llama Guard determina que no son seguras, marca la respuesta.
Si quieres inhabilitar Llama Guard, modifica la configuración de seguridad del modelo. Para obtener más información, consulta el campo model_safety_settings
en el ejemplo de transmisión o unario.
Disponibilidad y cuotas de la región del modelo de Llama
En el caso de los modelos de Llama, se aplica una cuota para cada región en la que el modelo está disponible. La cuota se especifica en consultas por minuto (QPM).
En las siguientes tablas, se indican las regiones compatibles, las cuotas predeterminadas y la longitud máxima de contexto para cada modelo de Llama:
Llama 3.2 90B (versión preliminar)
Región | Sistema de cuota | Longitud de contexto compatible |
---|---|---|
us-central1 |
30 QPM | 128,000 tokens |
Llama 3.1 405B (versión preliminar)
Región | Sistema de cuota | Longitud de contexto compatible |
---|---|---|
us-central1 |
60 QPM | 128,000 tokens |
Llama 3.1 70B (versión preliminar)
Región | Sistema de cuota | Longitud de contexto compatible |
---|---|---|
us-central1 |
60 QPM | 128,000 tokens |
Llama 3.1 8B (versión preliminar)
Región | Sistema de cuota | Longitud de contexto compatible |
---|---|---|
us-central1 |
60 QPM | 128,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.