Les modèles Llama sur Vertex AI offrent des modèles entièrement gérés et sans serveur en tant qu'API. Pour utiliser un modèle Llama sur Vertex AI, envoyez une requête directement au point de terminaison de l'API Vertex AI. Étant donné que les modèles Llama utilisent une API gérée, il n'est pas nécessaire de provisionner ou de gérer l'infrastructure.
Vous pouvez diffuser vos réponses en flux continu pour réduire la perception de la latence côté utilisateur. Une réponse en flux continu utilise des événements envoyés par le serveur (SSE) pour diffuser la réponse de manière incrémentielle.
Aucuns frais ne sont facturés pendant la période de preview. Si vous avez besoin d'un service prêt pour la production, utilisez les modèles Llama auto-hébergés.
Modèles Llama 3.1 disponibles
Llama 3.1 est un modèle de langage autorégressif qui utilise une architecture de transformateur optimisée. Les versions réglées utilisent le réglage supervisé (SFT) et l'apprentissage par renforcement qui utilise le feedback humain (RLHF) afin de s'aligner sur les préférences humaines pour l'utilité et la sécurité.
Les modèles Llama suivants sont disponibles depuis Meta et peuvent être utilisés dans Vertex AI. Pour accéder à un modèle Llama, accédez à la fiche de modèle Model Garden.
Llama 3.1 405B
Llama 3.1 405B est le modèle le plus puissant et polyvalent de Meta à ce jour. Il s'agit du plus grand modèle de fondation disponible publiquement. Il offre des fonctionnalités allant de la génération de données synthétiques à la distillation de modèles, la maniabilité, les calculs, l'utilisation d'outils, la traduction multilingue, etc. Pour en savoir plus, consultez le site Llama 3.1 de Meta.
Llama 3.1 405B est optimisé pour les cas d'utilisation suivants :
- Applications en entreprise
- Recherche et développement
- Génération de données synthétiques et distillation de modèle
Utiliser des modèles Llama
Lorsque vous envoyez des requêtes d'utilisation des modèles de Llama, utilisez les noms de modèles suivants :
- Pour Llama 3.1 405B, utilisez
llama3-405b-instruct-maas
. - Pour Llama 3.1 70B, utilisez
llama3-70b-instruct-maas
. - Pour Llama 3.1 8B, utilisez
llama3-8b-instruct-maas
.
Nous vous recommandons d'utiliser les versions de modèle qui incluent un suffixe commençant par le symbole @
, en raison des différences possibles entre les versions de modèle. Si vous ne spécifiez pas de version de modèle, la dernière version est toujours utilisée, ce qui peut affecter vos workflows de manière imprévue lorsqu'une version de modèle change.
Avant de commencer
Pour utiliser des modèles Llama avec Vertex AI, procédez comme suit. Vous devez activer l'API Vertex AI (aiplatform.googleapis.com
) pour pouvoir utiliser Vertex AI. Si vous disposez déjà d'un projet pour lequel l'API Vertex AI est activée, vous pouvez utiliser ce projet au lieu de créer un projet.
Assurez-vous de disposer des autorisations requises pour activer et utiliser des modèles partenaires. Pour en savoir plus, consultez la section Accorder les autorisations requises.
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
- Go to one of the following Model Garden model cards, then click enable:
Effectuer un appel en flux continu à un modèle Llama
L'exemple suivant effectue un appel en flux continu à un modèle Llama.
REST
Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester une requête textuelle. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région compatible avec les modèles Llama.
- MODEL : nom du modèle que vous souhaitez utiliser.
- ROLE : rôle associé à un message. Vous pouvez spécifier
user
ouassistant
. Le premier message doit utiliser le rôleuser
. Les modèles fonctionnent avec des toursuser
etassistant
alternés. Si le message final utilise le rôleassistant
, le contenu de la réponse continue immédiatement à partir du contenu de ce message. Cela vous permet de limiter une partie de la réponse du modèle. - CONTENT : contenu, tel que le texte, du message
user
ouassistant
. - MAX_OUTPUT_TOKENS : nombre maximal de jetons pouvant être générés dans la réponse. Un jeton correspond environ à quatre caractères. 100 jetons correspondent à environ 60-80 mots.
Spécifiez une valeur inférieure pour obtenir des réponses plus courtes et une valeur supérieure pour des réponses potentiellement plus longues.
- STREAM : valeur booléenne qui spécifie si la réponse est diffusée ou non. Diffusez votre réponse en flux continu pour réduire la perception de la latence d'utilisation finale. Définissez la valeur sur
true
pour diffuser la réponse et surfalse
pour la renvoyer simultanément. - ENABLE_LLAMA_GUARD : valeur booléenne qui indique si Llama Guard doit être activé sur vos entrées et sorties. Par défaut, Llama Guard est activé et signale les réponses si elles sont jugées non sécurisées.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Corps JSON de la requête :
{ "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": {} } } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON semblable à la suivante.
Effectuer un appel unaire à un modèle Llama
L'exemple suivant effectue un appel unaire à un modèle Llama.
REST
Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester une requête textuelle. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région compatible avec les modèles Llama.
- MODEL : nom du modèle que vous souhaitez utiliser.
- ROLE : rôle associé à un message. Vous pouvez spécifier
user
ouassistant
. Le premier message doit utiliser le rôleuser
. Les modèles fonctionnent avec des toursuser
etassistant
alternés. Si le message final utilise le rôleassistant
, le contenu de la réponse continue immédiatement à partir du contenu de ce message. Cela vous permet de limiter une partie de la réponse du modèle. - CONTENT : contenu, tel que le texte, du message
user
ouassistant
. - MAX_OUTPUT_TOKENS : nombre maximal de jetons pouvant être générés dans la réponse. Un jeton correspond environ à quatre caractères. 100 jetons correspondent à environ 60-80 mots.
Spécifiez une valeur inférieure pour obtenir des réponses plus courtes et une valeur supérieure pour des réponses potentiellement plus longues.
- STREAM : valeur booléenne qui spécifie si la réponse est diffusée ou non. Diffusez votre réponse en flux continu pour réduire la perception de la latence d'utilisation finale. Définissez la valeur sur
true
pour diffuser la réponse et surfalse
pour la renvoyer simultanément. - ENABLE_LLAMA_GUARD : valeur booléenne qui indique si Llama Guard doit être activé sur vos entrées et sorties. Par défaut, Llama Guard est activé et signale les réponses si elles sont jugées non sécurisées.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions
Corps JSON de la requête :
{ "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": {} } } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON semblable à la suivante.
Réponses signalées
Par défaut, Llama Guard est activé pour toutes les prédictions que vous faites avec des modèles Llama. Llama Guard permet de protéger les réponses en vérifiant les entrées et les sorties. Si Llama Guard détermine qu'elles ne sont pas sûres, il signale la réponse.
Si vous souhaitez désactiver Llama Guard, modifiez le paramètre de sécurité du modèle. Pour en savoir plus, consultez le champ model_safety_settings
dans l'exemple d'appels en streaming ou d'appels unaires.
Disponibilité et quotas des régions d'un modèle Llama
Pour les modèles Llama, un quota s'applique à chaque région dans laquelle le modèle est disponible. Le quota est spécifié en requêtes par minute (RPM).
Les régions compatibles, les quotas par défaut et la longueur maximale de contexte pour chaque modèle Llama sont regroupés dans les tableaux suivants :
Llama 3.1 405B
Région | Système de quotas | Longueur de contexte compatible |
---|---|---|
us-central1 |
60 RPM | 32 000 jetons |
Llama 3.1 70B
Région | Système de quotas | Longueur de contexte compatible |
---|---|---|
us-central1 |
60 RPM | 32 000 jetons |
Llama 3.1 8B
Région | Système de quotas | Longueur de contexte compatible |
---|---|---|
us-central1 |
60 RPM | 32 000 jetons |
Si vous souhaitez augmenter vos quotas pour l'IA générative sur Vertex AI, vous pouvez en faire la demande via la console Google Cloud. Pour en savoir plus sur les quotas, consultez la page Utiliser des quotas.