Dépannage

Cette page explique comment résoudre les problèmes liés à Model Armor.

Cette section contient des étapes de dépannage qui pourraient vous être utiles si vous rencontrez des problèmes lors de l'utilisation de Model Armor.

Tous les appels d'API vers Model Armor renvoient une erreur 404 Not Found

Établissez une connexion Private Service Connect aux API Model Armor. Cette erreur se produit généralement lorsque les points de terminaison régionaux (REP) de Model Armor sont accessibles via l'accès privé à Google ou sans Private Service Connect. Pour en savoir plus, consultez À propos de l'accès aux points de terminaison régionaux via les points de terminaison Private Service Connect.

Le filtre Sensitive Data Protection renvoie une erreur ou est ignoré

Effectuez les vérifications suivantes :

  • Le modèle Sensitive Data Protection se trouve dans la même région que le point de terminaison Model Armor appelé.
  • L'agent de service qui effectue la requête Model Armor dispose des rôles dlp.User et dlp.Reader dans le projet contenant le modèle Sensitive Data Protection.

Cette erreur se produit en raison d'erreurs client dans les requêtes SanitizeUserPrompt ou SanitizeModelResponse, ou de problèmes liés au modèle Sensitive Data Protection.

Erreurs de point de terminaison global Model Armor

Assurez-vous d'envoyer les requêtes API au point de terminaison régional approprié, et non au point de terminaison mondial.

Model Armor n'accepte que les opérations suivantes sur ses points de terminaison régionaux :

  • Opérations de création, de lecture, de mise à jour, de suppression et de listage sur les modèles.
  • SanitizeUserPrompt et SanitizeModelResponse requêtes API.

Si vous envoyez les requêtes API pour ces opérations au point de terminaison global, l'erreur suivante s'affiche :

{
  "error": {
    "code": 403,
    "message": "Write access to project '<PROJECT_ID>' was denied",
    "status": "PERMISSION_DENIED"
  }
}

Erreurs de certificat lors de l'accès aux points de terminaison régionaux Model Armor

Cette erreur se produit généralement lorsque les points de terminaison régionaux Model Armor sont accessibles depuis un réseau VPC à l'aide de l'accès privé à Google ou de VPC Service Controls, et que la validation du certificat échoue.

Par exemple, un message d'erreur semblable à celui-ci peut s'afficher :

curl: (60) SSL: no alternative certificate subject name matches target host name 'modelarmor.europe-west4.rep.googleapis.com'

Pour résoudre ce problème, créez un point de terminaison Private Service Connect vers les API Model Armor. Pour en savoir plus, consultez À propos de l'accès aux points de terminaison régionaux via les points de terminaison Private Service Connect.

La région n'est pas compatible avec les fonctionnalités demandées

Un message d'erreur semblable à celui-ci peut s'afficher :

Region '<var>REGION</var>' does not support the requested capabilities: '<var>CAPABILITIES</var>'

Cette erreur se produit lorsque vous essayez de créer ou de mettre à jour un modèle dans une région soumise à des restrictions de fonctionnalités, et que la requête active des fonctionnalités qui ne sont pas compatibles avec cette région.

Pour remédier à ce problème :

  1. Identifiez les fonctionnalités non compatibles listées dans le message d'erreur.
  2. Consultez la disponibilité des fonctionnalités par région pour vérifier quelles fonctionnalités ne sont pas disponibles dans votre région cible.
  3. Supprimez les fonctionnalités non compatibles du modèle que vous créez ou mettez à jour.

Vous pouvez également utiliser une autre région Model Armor qui accepte ces fonctionnalités, si vos exigences de résidence des données le permettent.

Veuillez indiquer la conformité aux exigences de résidence des données du modèle

Un message d'erreur 400 (FAILED_PRECONDITION) semblable à celui-ci peut s'afficher :

Template data residency compliance is required. The 'Enforce data residency' field must not be set to false.

Cette erreur se produit lorsque la contrainte de service de règles d'administration gérée Exiger la conformité de la résidence des données du modèle Model Armor (constraints/modelarmor.managed.requireTemplateDataResidencyCompliance) est appliquée et que vous créez ou mettez à jour un modèle Model Armor avec la conformité de la résidence des données désactivée. La conformité aux exigences de résidence des données est désactivée lorsque vous définissez data_residency_compliant sur false ou que vous décochez l'option Appliquer la résidence des données. Étant donné que cette contrainte est appliquée par défaut, la modification d'un paramètre, tel qu'un filtre, sur un modèle existant dont le champ data_residency_compliant est déjà défini sur false déclenche également cette erreur. Les modèles existants et les requêtes de nettoyage des prompts et des réponses ne sont pas affectés, sauf si vous mettez à jour le modèle.

Pour résoudre ce problème, effectuez l'une des opérations suivantes :

  • Activez la conformité de la résidence des données sur le modèle en définissant data_residency_compliant sur true ou en sélectionnant l'option Appliquer la résidence des données.
  • Si vous devez laisser la conformité de la résidence des données désactivée pour le modèle, suivez les étapes de la section Désactiver la contrainte de règle d'administration pour la résidence des données pour que votre administrateur de règles d'administration désactive la contrainte.

Les contrôles ou filtres de règles sont ignorés pour les requêtes ou charges utiles volumineuses

Lors de l'analyse de requêtes ou de réponses volumineuses, telles que des charges utiles de génération augmentée par récupération (RAG) ou des historiques de conversations d'agents en plusieurs étapes, il est possible que certains filtres ne s'exécutent pas ou que le résultat de l'assainissement renvoie EXECUTION_SKIPPED avec l'un des messages d'avertissement suivants dans le champ messageItems :

Detection skipped as token limit exceeded.
Input size exceeded the limit of 4194304 bytes.

Ce problème se produit lorsqu'une requête d'assainissement unaire ou une requête de streaming mise en mémoire tampon dépasse la limite de jetons du système d'un filtre (65 536 jetons pour l'injection de prompt et la détection de jailbreaks, l'IA responsable et les contenus d'abus sexuels sur mineurs ; 130 000 jetons pour Sensitive Data Protection) ou la limite de taille d'entrée de 4 Mo. Lorsqu'une entrée dépasse la limite de jetons d'un filtre et qu'aucune correspondance n'est détectée, le filtre renvoie EXECUTION_SKIPPED et NO_MATCH_FOUND, ce qui permet à la requête de se poursuivre dans les intégrations intégrées.

Pour vérifier si un filtre a été ignoré en raison de limites de taille de jeton ou d'entrée, interrogez vos journaux SanitizeOperation dans Cloud Logging :

jsonPayload.@type="type.googleapis.com/google.cloud.modelarmor.logging.v1.SanitizeOperationLogEntry"
"EXECUTION_SKIPPED"

Pour remédier à ce problème :

  1. Pour les charges de travail de streaming ou les interactions d'agent de longue durée, utilisez la nettoyage de flux en temps réel (StreamSanitizeUserPrompt et StreamSanitizeModelResponse). Utilisez streamQuery pour les agents Agent Development Kit qui utilisent Agent Gateway, qui traite les entrées par fragments et accepte un nombre illimité de jetons.
  2. Pour les requêtes unaires, divisez les charges utiles RAG volumineuses ou tronquez l'historique des conversations des agents en plusieurs étapes avant de les envoyer à Model Armor, afin que chaque requête respecte les limites du système de jetons et la limite de taille d'entrée de 4 Mo.