Testez un garde-corps - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Testez un garde-corps

Une fois que vous avez créé un garde-corps, une version de travail (DRAFT) est disponible. Le brouillon de travail est une version du garde-corps que vous pouvez continuellement modifier et sur laquelle vous pouvez effectuer des itérations jusqu'à ce que vous obteniez une configuration satisfaisante pour votre cas d'utilisation. Vous pouvez tester le brouillon de travail ou d'autres versions du garde-corps pour voir si les configurations sont adaptées à votre cas d'utilisation. Modifiez les configurations dans le brouillon et testez différentes instructions pour voir dans quelle mesure le garde-corps évalue et intercepte les invites ou les réponses.

Lorsque vous êtes satisfait de la configuration, vous pouvez créer une version du garde-corps, qui sert de capture instantanée des configurations du brouillon de travail lorsque vous créez la version. Vous pouvez utiliser des versions pour rationaliser le déploiement des garde-corps dans les applications de production chaque fois que vous apportez des modifications à vos garde-corps. Toute modification apportée au brouillon ou à une nouvelle version créée ne sera reflétée dans votre application d'IA générative que lorsque vous utiliserez spécifiquement la nouvelle version dans l'application.

Console
Pour tester un garde-corps afin de déterminer s'il bloque le contenu préjudiciable
  1. Connectez-vous à l' AWS Management Console aide d'un IAMrôle avec les autorisations Amazon Bedrock et ouvrez la console Amazon Bedrock à l'adresse. https://console.aws.amazon.com/bedrock/

  2. Choisissez Guardrails dans le volet de navigation de gauche. Sélectionnez ensuite un garde-corps dans la section Rambardes.

  3. Une fenêtre de test apparaît sur la droite. Dans la fenêtre de test, vous disposez des options suivantes :

    1. Par défaut, le brouillon de travail du garde-corps est utilisé dans la fenêtre de test. Pour tester une autre version du garde-corps, choisissez Working draft en haut de la fenêtre de test, puis sélectionnez la version.

    2. Pour sélectionner un modèle, choisissez Sélectionner un modèle. Après avoir fait votre choix, sélectionnez Appliquer. Pour modifier le modèle, choisissez Modifier.

    3. Entrez une invite dans le champ Invite.

    4. Pour obtenir une réponse du modèle, sélectionnez Exécuter.

    5. Le modèle renvoie une réponse dans la zone de réponse finale (qui peut être modifiée par le garde-corps). Si le garde-corps bloque ou filtre l'invite ou le modèle de réponse, un message apparaît sous Contrôle de sécurité pour vous informer du nombre de violations détectées par le garde-corps.

    6. Pour afficher les sujets ou les catégories dangereux figurant dans l'invite ou la réponse qui ont été reconnus et autorisés au-delà du filtre ou bloqués par celui-ci, sélectionnez Afficher le suivi.

    7. Utilisez les onglets de réponse Prompt et Modèle pour afficher les sujets ou les catégories dangereux qui ont été filtrés ou bloqués par le garde-fou.

Vous pouvez également tester le garde-corps dans le terrain de jeu Text. Sélectionnez le terrain de jeu et sélectionnez le garde-corps dans le volet Configurations avant de tester les instructions.

API

Pour utiliser un garde-corps lors de l'invocation d'un modèle, envoyez une InvokeModeldemande OR. InvokeModelWithResponseStream Sinon, si vous créez une application conversationnelle, vous pouvez utiliser le Converse API.

Format de demande

Les points de terminaison de la demande pour invoquer un modèle, avec ou sans streaming, sont les suivants. Remplacez modelId avec l'identifiant du modèle à utiliser.

  • InvokeModel— POST /modèle/modelId/invoke /1.1 HTTP

  • InvokeModelWithResponseStream— POST /modèle/modelId/invoke-with-response-stream HTTP/1,1

L'en-tête des deux API opérations est au format suivant.

Accept: accept Content-Type: contentType X-Amzn-Bedrock-Trace: trace X-Amzn-Bedrock-GuardrailIdentifier: guardrailIdentifier X-Amzn-Bedrock-GuardrailVersion: guardrailVersion

Les paramètres sont décrits ci-dessous.

  • AcceptDéfini sur le MIME type du corps d'inférence dans la réponse. La valeur par défaut est application/json.

  • Content-TypeDéfini selon le MIME type des données d'entrée dans la demande. La valeur par défaut est application/json.

  • Réglez X-Amzn-Bedrock-Trace sur ENABLED pour permettre un suivi afin de voir, entre autres, quel contenu a été bloqué par des rambardes et pourquoi.

  • X-Amzn-Bedrock-GuardrailIdentifierDéfini avec l'identifiant du garde-corps que vous souhaitez appliquer à la demande, à la demande et à la réponse du modèle.

  • Définissez X-Amzn-Bedrock-GuardrailVersion la version du garde-corps que vous souhaitez appliquer à la demande et le modèle de réponse.

Le format général du corps de la demande est illustré dans l'exemple suivant. La tagSuffix propriété est uniquement utilisée avec le balisage d'entrée. Vous pouvez également configurer le garde-corps lors du streaming de manière synchrone ou asynchrone en utilisant. streamProcessingMode Cela ne fonctionne qu'avecInvokeModelWithResponseStream.

{ <see model details>, "amazon-bedrock-guardrailConfig": { "tagSuffix": "string", "streamProcessingMode": "SYNCHRONOUS" | "ASYNCHRONOUS" } }
Avertissement

Vous obtiendrez un message d'erreur dans les situations suivantes

  • Vous activez le garde-corps mais il n'y a aucun amazon-bedrock-guardrailConfig champ dans le corps de la demande.

  • Vous désactivez le garde-corps mais vous spécifiez un amazon-bedrock-guardrailConfig champ dans le corps de la demande.

  • Vous activez le garde-corps, mais ce n'contentTypeest pas le cas. application/json

Pour voir le corps de la demande pour les différents modèles, voirParamètres de demande d'inférence et champs de réponse pour les modèles de base.

Note

Dans Cohere Command modèles, vous ne pouvez spécifier qu'une génération num_generations sur le terrain si vous utilisez un garde-corps.

Si vous activez un garde-corps et sa trace, le format général de la réponse pour invoquer un modèle, avec ou sans streaming, est le suivant. Pour connaître le format du reste body pour chaque modèle, voirParamètres de demande d'inférence et champs de réponse pour les modèles de base. Le contentType correspond à ce que vous avez spécifié dans la demande.

  • InvokeModel

    HTTP/1.1 200 Content-Type: contentType { <see model details for model-specific fields>, "completion": "<model response>", "amazon-bedrock-guardrailAction": "INTERVENED | NONE", "amazon-bedrock-trace": { "guardrail": { "modelOutput": [ "<see model details for model-specific fields>" ], "input": { "sample-guardrailId": { "topicPolicy": { "topics": [ { "name": "string", "type": "string", "action": "string" } ] }, "contentPolicy": { "filters": [ { "type": "string", "confidence": "string", "filterStrength": "string", "action": "string" } ] }, "wordPolicy": { "customWords": [ { "match": "string", "action": "string" } ], "managedWordLists": [ { "match": "string", "type": "string", "action": "string" } ] }, "sensitiveInformationPolicy": { "piiEntities": [ { "type": "string", "match": "string", "action": "string" } ], "regexes": [ { "name": "string", "regex": "string", "match": "string", "action": "string" } ] }, "invocationMetrics": { "guardrailProcessingLatency": "integer", "usage": { "topicPolicyUnits": "integer", "contentPolicyUnits": "integer", "wordPolicyUnits": "integer", "sensitiveInformationPolicyUnits": "integer", "sensitiveInformationPolicyFreeUnits": "integer", "contextualGroundingPolicyUnits": "integer" }, "guardrailCoverage": { "textCharacters": { "guarded": "integer", "total": "integer" } } } } }, "outputs": ["same guardrail trace format as input"] } } }
  • InvokeModelWithResponseStream— Chaque réponse renvoie un chunk dont le texte se trouve dans le bytes champ, ainsi que toutes les exceptions qui se produisent. La trace du garde-corps n'est renvoyée que pour le dernier morceau.

    HTTP/1.1 200 X-Amzn-Bedrock-Content-Type: contentType Content-type: application/json { "chunk": { "bytes": "<blob>" }, "internalServerException": {}, "modelStreamErrorException": {}, "throttlingException": {}, "validationException": {}, "amazon-bedrock-guardrailAction": "INTERVENED | NONE", "amazon-bedrock-trace": { "guardrail": { "modelOutput": ["<see model details for model-specific fields>"], "input": { "sample-guardrailId": { "topicPolicy": { "topics": [ { "name": "string", "type": "string", "action": "string" } ] }, "contentPolicy": { "filters": [ { "type": "string", "confidence": "string", "filterStrength": "string", "action": "string" } ] }, "wordPolicy": { "customWords": [ { "match": "string", "action": "string" } ], "managedWordLists": [ { "match": "string", "type": "string", "action": "string" } ] }, "sensitiveInformationPolicy": { "piiEntities": [ { "type": "string", "match": "string", "action": "string" } ], "regexes": [ { "name": "string", "regex": "string", "match": "string", "action": "string" } ] }, "invocationMetrics": { "guardrailProcessingLatency": "integer", "usage": { "topicPolicyUnits": "integer", "contentPolicyUnits": "integer", "wordPolicyUnits": "integer", "sensitiveInformationPolicyUnits": "integer", "sensitiveInformationPolicyFreeUnits": "integer", "contextualGroundingPolicyUnits": "integer" }, "guardrailCoverage": { "textCharacters": { "guarded": "integer", "total": "integer" } } } } }, "outputs": ["same guardrail trace format as input"] } } }

La réponse renvoie les champs suivants si vous activez un garde-corps.

  • amazon-bedrock-guardrailAction— Spécifie si le garde-corps est INTERVENED ou non ()NONE.

  • amazon-bedrock-trace— N'apparaît que si vous activez le suivi. Contient une liste de traces, chacune fournissant des informations sur le contenu bloqué par le garde-corps. La trace contient les champs suivants :

    • modelOutput— Un objet contenant les sorties du modèle bloqué.

    • input— Contient les informations suivantes concernant l'évaluation du signal par le garde-corps :

      • topicPolicy— Contient topics une liste d'évaluations pour chaque sujet qui n'a pas été respecté. Chaque rubrique inclut les champs suivants :

        • name— Le nom de la politique thématique.

        • type— Spécifie s'il faut refuser le sujet.

        • action— Spécifie que le sujet a été bloqué

      • contentPolicy— Contient filters une liste d'évaluations pour chaque filtre de contenu enfreint. Chaque filtre inclut les champs suivants :

        • type— Catégorie du filtre de contenu.

        • confidence— Le niveau de confiance selon lequel le résultat peut être classé comme appartenant à la catégorie dangereuse.

        • action— Spécifie que le contenu a été bloqué. Ce résultat dépend de la résistance du filtre installé dans le garde-corps.

      • wordPolicy— Contient une collection de mots personnalisés et de mots gérés qui ont été filtrés et une évaluation correspondante de ces mots. Chaque liste contient les champs suivants :

        • customWords— Une liste de mots personnalisés correspondant au filtre.

          • match— Le mot ou la phrase correspondant au filtre.

          • action— Spécifie que le mot a été bloqué.

        • managedWordLists— Une liste de mots gérés correspondant au filtre.

          • match— Le mot ou la phrase correspondant au filtre.

          • type— Spécifie le type de mot géré correspondant au filtre. Par exemple, PROFANITY s'il correspond au filtre de blasphème.

          • action— Spécifie que le mot a été bloqué.

      • sensitiveInformationPolicy— Contient les objets suivants, qui contiennent des évaluations des informations personnellement identifiables (PII) et des filtres regex qui ont été violés :

        • piiEntities— Une liste d'évaluations pour chaque PII filtre non respecté. Chaque filtre contient les champs suivants :

          • type— Le PII type qui a été trouvé.

          • match— Le mot ou la phrase correspondant au filtre.

          • action— Spécifie si le mot a été BLOCKED ou a été remplacé par un identifiant (ANONYMIZED).

        • regexes— Une liste d'évaluations pour chaque filtre regex violé. Chaque filtre contient les champs suivants :

          • name— Nom du filtre regex.

          • regex— Le PII type qui a été trouvé.

          • match— Le mot ou la phrase correspondant au filtre.

          • action— Spécifie si le mot a été BLOCKED ou a été remplacé par un identifiant (ANONYMIZED).

    • outputs— Une liste de détails sur l'évaluation de la réponse du modèle par le garde-corps. Chaque élément de la liste est un objet qui correspond au format de l'inputobjet. Pour plus de détails, consultez le input champ.