Créer et gérer des modèles Model Armor

Cette page explique comment créer, afficher, mettre à jour et supprimer des modèles Model Armor.

Créer un modèle Model Armor

Console

  1. Dans la console Google Cloud , accédez à la page Model Armor.

    Accéder à Model Armor

  2. Vérifiez que vous consultez le projet sur lequel vous avez activé Model Armor.

  3. Sur la page Model Armor, cliquez sur Créer un modèle. La page Créer un modèle s'affiche.

  4. Spécifiez l'ID du modèle. L'ID de modèle peut comporter des lettres, des chiffres ou des traits d'union. Il ne doit pas comporter plus de 63 caractères, ni contenir d'espaces ni commencer par un trait d'union.

  5. Sélectionnez une région où exécuter vos modèles Model Armor. Vous ne pourrez pas modifier la région ultérieurement.

  6. Facultatif : Ajoutez des libellés. Les libellés sont des paires clé/valeur que vous pouvez utiliser pour regrouper des modèles associés.

  7. Dans la section Détections, configurez les paramètres de détection suivants :

    • Détection des URL malveillantes : identifie les adresses Web (URL) conçues pour nuire aux utilisateurs ou aux systèmes. Ces URL peuvent mener à des sites d'hameçonnage, des téléchargements de logiciels malveillants ou d'autres cyberattaques. Pour en savoir plus, consultez Détection des URL malveillantes.

    • Détection de l'injection de requêtes et du jailbreak : détecte les contenus malveillants et les tentatives de jailbreak dans une requête. Pour une application plus stricte, définissez le niveau de confiance sur Faible et plus** afin de détecter la plupart des contenus susceptibles de relever de l'injection de requêtes et de la tentative de jailbreaking. Pour en savoir plus, consultez Détection de l'injection de requêtes et du jailbreak.

    • Protection des données sensibles : détecte les données sensibles et aide à prévenir leur exposition accidentelle à des attaques telles que l'injection de requêtes. Pour en savoir plus, consultez Sensitive Data Protection.

      Vous pouvez configurer la protection des données sensibles de base ou avancée.

      • De base : utilisez des infoTypes prédéfinis pour détecter les types de données sensibles. Pour en savoir plus sur l'infoType prédéfini, consultez Configuration de base de Sensitive Data Protection.

      • Avancé : utilisez un modèle d'inspection défini dans le service Sensitive Data Protection comme source unique pour les infoTypes correspondant à des données sensibles.

        Si vous sélectionnez la protection avancée des données sensibles, vous devez spécifier les paramètres suivants :

        • Modèle d'inspection : modèles permettant d'enregistrer les informations de configuration associées aux tâches d'analyse d'inspection, y compris les détecteurs prédéfinis ou personnalisés qui doivent être utilisés. Saisissez le nom du modèle au format suivant : projects/projectName/locations/locationID/inspectTemplates/templateName

        • Facultatif : Modèle d'anonymisation : modèles permettant d'enregistrer les informations de configuration associées aux tâches d'anonymisation, y compris les transformations d'ensembles de données structurés et d'infoTypes. Saisissez un identifiant pour le modèle d'anonymisation au format suivant : projects/projectName/locations/locationID/deidentifyTemplates/templateName

          Vérifiez que le modèle d'inspection et le modèle d'anonymisation existent dans Sensitive Data Protection. Si le modèle réside dans un autre projet, le rôle Utilisateur DLP (roles/dlp.user) et le rôle Lecteur DLP (roles/dlp.reader) doivent être attribués à l'agent de service Model Armor pour ce projet.

  8. Dans la section Responsible AI, vous pouvez définir le niveau de confiance pour chaque filtre de contenu. Le niveau de confiance indique la probabilité que les résultats correspondent à un type de filtre de contenu. Les valeurs possibles sont les suivantes :

    • Aucun : aucun type de contenu n'est détecté.
    • Faible et plus : détecte les contenus avec un niveau de confiance faible, moyen ou élevé.
    • Moyenne et supérieure : détecte les contenus avec un niveau de confiance moyen ou élevé.
    • Élevé : détecte les contenus avec un niveau de confiance élevé.

    Pour une application plus stricte, définissez le niveau de confiance sur Faible et plus afin de détecter la plupart des contenus qui correspondent à un type de filtre de contenu. Vous pouvez également sélectionner le niveau de confiance pour tous les types de contenu en même temps.

  9. Cliquez sur Créer.

gcloud

Exécutez la commande ci-dessous.

gcloud model-armor templates create TEMPLATE_ID --location LOCATION

Remplacez les éléments suivants :

  • LOCATION est l'emplacement du modèle.
  • TEMPLATE_ID est l'ID du modèle.

Voici un exemple avec tous les filtres.

 gcloud model-armor templates create --location LOCATION TEMPLATE_ID 
--rai-settings-filters='[{ "filterType": "HATE_SPEECH", "confidenceLevel": "MEDIUM_AND_ABOVE" },{ "filterType": "HARASSMENT", "confidenceLevel": "MEDIUM_AND_ABOVE" },{ "filterType": "SEXUALLY_EXPLICIT", "confidenceLevel": "MEDIUM_AND_ABOVE" }]'
--basic-config-filter-enforcement=enabled
--pi-and-jailbreak-filter-settings-enforcement=enabled
--pi-and-jailbreak-filter-settings-confidence-level=LOW_AND_ABOVE
--malicious-uri-filter-settings-enforcement=enabled
--template-metadata-custom-llm-response-safety-error-code=798
--template-metadata-custom-llm-response-safety-error-message="test template llm response evaluation failed"
--template-metadata-custom-prompt-safety-error-code=799
--template-metadata-custom-prompt-safety-error-message="test template prompt evaluation failed"
--template-metadata-ignore-partial-invocation-failures
--template-metadata-log-operations
--template-metadata-log-sanitize-operations

REST

Utilisez cette commande pour créer un modèle Model Armor.

  curl -X POST \
    -d "{'FILTER_CONFIG': {} }" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"

Remplacez les éléments suivants :

  • FILTER_CONFIG correspond à la configuration du filtre pour le modèle.
  • PROJECT_ID correspond à l'ID du projet auquel appartient le modèle.
  • TEMPLATE_ID correspond à l'ID du modèle à créer.
  • LOCATION est l'emplacement du modèle.

Suivez ces étapes pour obtenir ce jeton.

L'exemple suivant explique la configuration du modèle Model Armor.

  1. Créez une configuration (FILTER_CONFIG dans cet exemple) des filtres que vous souhaitez que le modèle Model Armor utilise pour filtrer les résultats, et indiquez le niveau de confiance le cas échéant.
  2. Créez un modèle Model Armor (ma-template-id-1234 dans le cas présent) à l'aide de la configuration que vous avez créée.

Notez que LOW_AND_ABOVE signifie que tout contenu présentant une probabilité FAIBLE, MOYENNE ou ÉLEVÉE sera signalé.

  export FILTER_CONFIG='{
   "filterConfig": {
    "raiSettings": {
     "raiFilters": [{
       "filterType": "HATE_SPEECH",
       "confidenceLevel": "MEDIUM_AND_ABOVE"
      }, {
      "filterType": "HARASSMENT",
      "confidenceLevel": "HIGH"
    }, {
      "filterType": "DANGEROUS",
      "confidenceLevel": "MEDIUM_AND_ABOVE"
    },{
      "filterType": "SEXUALLY_EXPLICIT",
      "confidenceLevel": "MEDIUM_AND_ABOVE"
    }]
  },

  "piAndJailbreakFilterSettings": {
    "filterEnforcement": "ENABLED",
    "confidenceLevel": "LOW_AND_ABOVE"
  },
  "maliciousUriFilterSettings": {
    "filterEnforcement": "ENABLED"
  }
 }
}'

curl -X POST \
 -d  $FILTER_CONFIG \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/templates?template_id=TEMPLATE_ID"

Pour créer un modèle Model Armor avec la détection multilingue activée, vous devez transmettre le paramètre TEMPLATE_CONFIG dans votre commande. Ce paramètre définit la configuration des paramètres de détection de la langue.

Utilisez cette commande pour créer un modèle Model Armor avec la détection multilingue activée.

curl -X POST \
    -d "{'TEMPLATE_CONFIG': {} }" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"

L'exemple suivant explique la configuration du modèle Model Armor avec la détection multilingue activée.

  export TEMPLATE_CONFIG='{
   "filterConfig": {
    "raiSettings": {
     "raiFilters": [{
       "filterType": "HATE_SPEECH",
       "confidenceLevel": "MEDIUM_AND_ABOVE"
      }, {
      "filterType": "HARASSMENT",
      "confidenceLevel": "HIGH"
    }, {
      "filterType": "DANGEROUS",
      "confidenceLevel": "MEDIUM_AND_ABOVE"
    },{
      "filterType": "SEXUALLY_EXPLICIT",
      "confidenceLevel": "MEDIUM_AND_ABOVE"
    }]
  },

  "piAndJailbreakFilterSettings": {
    "filterEnforcement": "ENABLED",
    "confidenceLevel": "LOW_AND_ABOVE"
  },
  "maliciousUriFilterSettings": {
    "filterEnforcement": "ENABLED"
  }
 },
 "templateMetadata": {
    "multiLanguageDetection": {
      "enableMultiLanguageDetection": true
    }
  }
}'

curl -X POST \
 -d  $TEMPLATE_CONFIG  \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/templates?template_id=TEMPLATE_ID"

Python

Pour exécuter cette commande, commencez par initialiser un client Model Armor en Python.

  request = modelarmor_v1.CreateTemplateRequest(
    parent="projects/PROJECT_ID/locations/LOCATION",
    template_id="TEMPLATE_ID",
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
      "filter_config": FILTER_CONFIG
    }
  )
  response = client.create_template(request=request)
 

Remplacez les éléments suivants :

  • FILTER_CONFIG correspond à la configuration du filtre pour le modèle.
  • PROJECT_ID correspond à l'ID du projet auquel appartient le modèle.
  • TEMPLATE_ID correspond à l'ID du modèle à créer.
  • LOCATION est l'emplacement du modèle.

Pour activer la journalisation complète sur un modèle, consultez Journalisation d'audit et de plate-forme Model Armor.

Afficher un modèle Model Armor

Console

  1. Dans la console Google Cloud , accédez à la page Model Armor.

    Accéder à Model Armor

  2. Vérifiez que vous consultez le projet sur lequel vous avez activé Model Armor. La page Model Armor s'affiche et liste les modèles créés pour votre projet.

  3. Cliquez sur un modèle de la liste pour afficher ses détails.

gcloud

Exécutez la commande ci-dessous.

gcloud model-armor templates describe TEMPLATE_ID --location LOCATION

Remplacez les éléments suivants :

  • LOCATION est l'emplacement du modèle.
  • TEMPLATE_ID est l'ID du modèle.

REST

Exécutez la commande suivante :

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://modelarmor.LOCATION_ID.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID"

Remplacez les éléments suivants :

  • PROJECT_ID correspond à l'ID du projet auquel appartient le modèle.
  • TEMPLATE_ID correspond à l'ID du modèle à afficher.
  • LOCATION est l'emplacement du modèle.

Python

Pour exécuter cette commande, commencez par initialiser un client Model Armor en Python.

  request = modelarmor_v1.GetTemplateRequest(
    name="projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
    )
  response = client.get_template(request=request)
 

Remplacez les éléments suivants :

  • PROJECT_ID correspond à l'ID du projet auquel appartient le modèle.
  • TEMPLATE_ID correspond à l'ID du modèle à afficher.
  • LOCATION est l'emplacement du modèle.

Mettre à jour un modèle Model Armor

Console

  1. Dans la console Google Cloud , accédez à la page Model Armor.

    Accéder à Model Armor

  2. Vérifiez que vous consultez le projet sur lequel vous avez activé Model Armor. La page Model Armor s'affiche et liste les modèles créés pour votre organisation.

  3. Dans la liste, cliquez sur le modèle que vous souhaitez modifier. La page Détails du modèle s'affiche.

  4. Cliquez sur Modifier.

  5. Mettez à jour les paramètres requis, puis cliquez sur Enregistrer.

gcloud

Exécutez la commande ci-dessous.

gcloud model-armor templates update TEMPLATE_ID --location LOCATION

Remplacez les éléments suivants :

  • LOCATION est l'emplacement du modèle.
  • TEMPLATE_ID est l'ID du modèle.

REST

Exécutez la commande suivante :

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d $FILTER_CONFIG \
  "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID?update_mask=FILTER_CONFIG"

Remplacez les éléments suivants :

  • PROJECT_ID correspond à l'ID du projet auquel appartient le modèle.
  • LOCATION est l'emplacement du modèle.
  • TEMPLATE_ID est l'ID du modèle.
  • FILTER_CONFIG est la représentation JSON de la configuration du filtre.

Tous les autres champs sont immuables. Toute tentative de mise à jour d'autres champs (par exemple, le nom du modèle) génère une erreur.

Python

Pour exécuter cette commande, commencez par initialiser un client Model Armor en Python.

  request = modelarmor_v1.UpdateTemplateRequest(
    template={
      "name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
      "filter_config": FILTER_CONFIG
    }
  )
  response = client.update_template(request=request)
 

Remplacez les éléments suivants :

  • FILTER_CONFIG correspond à la configuration du filtre pour le modèle.
  • PROJECT_ID correspond à l'ID du projet auquel appartient le modèle.
  • TEMPLATE_ID correspond à l'ID du modèle à modifier.
  • LOCATION est l'emplacement du modèle.

Supprimer un modèle Model Armor

Console

  1. Dans la console Google Cloud , accédez à la page Model Armor.

    Accéder à Model Armor

  2. Vérifiez que vous consultez le projet sur lequel vous avez activé Model Armor. La page Model Armor s'affiche et liste les modèles créés pour votre organisation.

  3. Dans la liste, cliquez sur le modèle que vous souhaitez supprimer. La page Détails du modèle s'affiche.

  4. Cliquez sur Supprimer. Une boîte de dialogue de confirmation s'affiche.

  5. Saisissez le nom du modèle pour confirmer la suppression, puis cliquez sur Supprimer.

gcloud

Exécutez la commande ci-dessous.

gcloud model-armor templates delete TEMPLATE_ID --location LOCATION

Remplacez les éléments suivants :

  • LOCATION est l'emplacement du modèle.
  • TEMPLATE_ID est l'ID du modèle.

REST

Exécutez la commande suivante :

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)"  \
  "https://modelarmor.LOCATION_ID.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID"

Remplacez les éléments suivants :

  • PROJECT_ID correspond à l'ID du projet auquel appartient le modèle.
  • LOCATION est l'emplacement du modèle.
  • TEMPLATE_ID est l'ID du modèle.

Python

Pour exécuter cette commande, commencez par initialiser un client Model Armor en Python.

  request = modelarmor_v1.DeleteTemplateRequest(
    name="projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
  )
  response = client.delete_template(request=request)
 

Remplacez les éléments suivants :

  • PROJECT_ID correspond à l'ID du projet auquel appartient le modèle.
  • TEMPLATE_ID correspond à l'ID du modèle à supprimer.
  • LOCATION est l'emplacement du modèle.

Métadonnées des modèles

Les métadonnées du modèle Model Armor vous aident à configurer le comportement de Model Armor, y compris la gestion des vérifications de sécurité, la gestion des exceptions et le comportement de journalisation.

Les métadonnées du modèle pour Model Armor incluent les champs suivants :

Métadonnées Type Description
multi_language_detection Booléen Active la détection multilingue.
enforcement_type Enum

Définit le type d'application. Appliquez l'une des valeurs suivantes :

  • INSPECT_ONLY : inspecte les requêtes qui ne respectent pas les paramètres configurés, mais ne les bloque pas.
  • INSPECT_AND_BLOCK : bloque les requêtes qui ne respectent pas les paramètres configurés.
log_template_operations Booléen Active la journalisation des opérations de modèle.
log_sanitize_operations Booléen Active la journalisation des opérations de nettoyage.

Étapes suivantes