Model Armor peut être directement intégré à Vertex AI à l'aide des paramètres de seuil ou des modèles. L'intégration de Model Armor à Vertex AI vous permet d'analyser les requêtes envoyées aux modèles Gemini et les réponses qu'ils fournissent, et d'inspecter ou de bloquer les requêtes ou les réponses si elles ne respectent pas les seuils des paramètres de plancher. Model Armor assure la protection des requêtes et des réponses dans l'API Gemini de Vertex AI pour la méthode generateContent
.
Vous devez activer Cloud Logging pour obtenir de la visibilité sur les résultats de la désinfection des requêtes et des réponses. Les emplacements acceptés pour cette intégration sont us-central1
, us-east4
, us-west1
et europe-west4
. L'utilisation de cette intégration est sans frais en version Preview. Pour en savoir plus sur les tarifs, consultez Tarifs de Model Armor.
Avant de commencer
Accordez à l'utilisateur Model Armor l'autorisation d'accéder au compte de service Vertex AI.
gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com' --role='roles/modelarmor.user'
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google Cloud .PROJECT_NUMBER
: numéro de votre projet Google Cloud .
Configurer les paramètres de plancher
Vous utilisez les paramètres de plancher pour configurer les seuils de détection minimaux pour les modèles Model Armor. Ces paramètres permettent de vérifier que tous les modèles nouveaux et modifiés respectent les exigences du règlement sur les planchers.
Avant de configurer les paramètres de plancher, tenez compte des points suivants :
- Les paramètres de plancher peuvent être définis au niveau de l'organisation, du dossier et du projet. L'interface utilisateur n'est disponible que pour les paramètres de plancher au niveau du projet. Pour définir les paramètres de plancher au niveau de l'organisation ou du dossier, vous devez utiliser l'API.
- L'interface utilisateur n'est disponible qu'au niveau du projet et vous permet d'hériter des paramètres au niveau de l'organisation ou du dossier.
Pour configurer les paramètres de plancher, consultez Configurer les paramètres de plancher.
Pour configurer les paramètres de plancher avec l'intégration de Vertex AI, exécutez la commande suivante :
curl -X PATCH \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{"filterConfig" : {}, "integratedServices": "AI_PLATFORM", "aiPlatformFloorSetting":{"inspect_only":true, "enableCloudLogging":true}}' \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
Remplacez PROJECT_ID
par l'ID du projet pour les paramètres de plancher.
Une fois les paramètres de base configurés pour activer la désinfection Vertex AI, Model Armor désinfecte tous les appels d'API generateContent
vers les points de terminaison Gemini du projet à l'aide des paramètres de filtrage spécifiés.
L'exemple de code suivant montre comment utiliser la méthode generateContent
.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-2.0-flash-001:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 } }'
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google Cloud .LOCATION
: emplacement Google Cloud du point de terminaison Gemini. Pour connaître les emplacements acceptés, consultez Emplacements pour l'API Model Armor.
L'exemple de code suivant montre la réponse de la méthode generateContent
.
{ "promptFeedback": { "blockReason": "MODEL_ARMOR", "blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings (Harassment, Dangerous), Prompt Injection and Jailbreak filters." }, "usageMetadata": { "trafficType": "ON_DEMAND" }, "modelVersion": "gemini-2.0-flash-001", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }
Configurer les modèles Model Armor
Model Armor peut également être intégré à Vertex AI à l'aide de modèles Model Armor. Les modèles vous permettent de configurer la façon dont Model Armor analyse les requêtes et les réponses, et de définir les configurations des filtres de sécurité.
Vous devez d'abord créer des modèles, puis les utiliser avec la méthode generateContent
de Gemini. Pour en savoir plus sur les modèles, consultez Créer et gérer des modèles Model Armor.
Après avoir configuré le modèle Model Armor, transmettez l'ID du modèle en tant que paramètre lorsque vous appelez l'API Gemini à l'aide de la méthode generateContent
. Vertex AI acheminera la requête vers Model Armor pour traitement.
L'exemple de code suivant montre la requête envoyée à la méthode generateContent
.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/gemini-2.0-flash-001:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 }, "model_armor_config": { "prompt_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID", "response_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID" } }'
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google Cloud .LOCATION
: emplacement Google Cloud du point de terminaison Gemini. Les emplacements acceptés sontus-central1
,us-east4
,us-west1
eteurope-west4
.TEMPLATE_ID
: ID du modèle Model Armor.
L'exemple de code suivant montre la réponse de la méthode generateContent
.
{ "promptFeedback": { "blockReason": "MODEL_ARMOR", "blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings (Harassment, Dangerous), Prompt Injection and Jailbreak filters." }, "usageMetadata": { "trafficType": "ON_DEMAND" }, "modelVersion": "gemini-2.0-flash-001", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }