So testen Sie Ihren Integritätsschutz - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

So testen Sie Ihren Integritätsschutz

Nachdem Sie einen Integritätsschutz erstellt haben, ist ein Arbeitsentwurf, also eine (DRAFT)-Version verfügbar. Der Arbeitsentwurf ist eine Version des Integritätsschutzes, die Sie kontinuierlich bearbeiten und iterieren können, bis Sie eine für Ihren Anwendungsfall zufriedenstellende Konfiguration gefunden haben. Sie können den Arbeitsentwurf oder andere Versionen des Integritätsschutzes testen und vergleichen, um sicherzustellen, dass die Konfigurationen Ihren Anwendungsanforderungen entsprechen. Bearbeiten Sie die Konfigurationen im Arbeitsentwurf und testen Sie verschiedene Prompts, um zu sehen, wie gut der Integritätsschutz die Prompts oder Antworten auswertet und abfängt.

Wenn Sie mit der Konfiguration zufrieden sind, können Sie eine Version des Integritätsschutzes erstellen, die bei der Erstellung der Version als Momentaufnahme der Konfigurationen des Arbeitsentwurfs dient. Sie können Versionen verwenden, um die Bereitstellung des Integritätsschutzes für Produktionsanwendungen jedes Mal zu optimieren, wenn Sie Änderungen an Ihrem Integritätsschutz vornehmen. Alle Änderungen am Arbeitsentwurf oder an einer neu erstellten Version werden erst in Ihrer generativen KI-Anwendung berücksichtigt, wenn Sie die neue Version ausdrücklich in der Anwendung verwenden.

Console
So testen Sie einen Integritätsschutz, um festzustellen, ob schädliche Inhalte blockiert werden
  1. Melden Sie sich bei der AWS-Managementkonsole mit einer IAM-Identität an, die zur Verwendung der Amazon-Bedrock-Konsole berechtigt ist. Öffnen Sie dann die Amazon-Bedrock-Konsole unter https://console.aws.amazon.com/bedrock.

  2. Wählen Sie im linken Navigationsbereich Integritätsschutz aus. Wählen Sie anschließend im Bereich Integritätsschutz einen Integritätsschutz aus.

  3. Auf der rechten Seite erscheint ein Testfenster. Im Testfenster können Sie aus folgenden Optionen auswählen:

    1. Standardmäßig wird im Testfenster der Arbeitsentwurf des Integritätsschutzes verwendet. Wenn Sie eine andere Version des Integritätsschutzes testen möchten, wählen Sie oben im Testfenster die Option Arbeitsentwurf und dann die gewünschte Version aus.

    2. Wählen Sie Modell auswählen, um ein Modell auszuwählen. Nachdem Sie eine Auswahl getroffen haben, klicken Sie auf Anwenden. Wenn Sie das Modell wechseln möchten, klicken Sie auf Änderung.

    3. Geben Sie einen Prompt im Feld Prompt ein.

    4. Klicken Sie auf Ausführen, um eine Modellantwort auszulösen.

    5. Das Modell gibt im Feld Endgültige Antwort eine Antwort zurück (die durch den Integritätsschutz modifiziert werden kann). Wenn der Integritätsschutz den Prompt oder die Modellantwort blockiert oder filtert, erscheint unter Integritätsschutzprüfung eine Meldung dazu, wie viele Verstöße der Integritätsschutz erkannt hat.

    6. Klicken Sie auf Nachverfolgung anzeigen, um die erkannten Themen oder schädlichen Kategorien im Prompt oder in der Antwort anzuzeigen, die den Filter passiert haben oder durch ihn blockiert wurden.

    7. Verwenden Sie die Registerkarten Prompt und Modellantwort, um die Themen oder schädlichen Kategorien anzuzeigen, die vom Integritätsschutz gefiltert oder blockiert wurden.

Sie können den Integritätsschutz auch im Text-Playground testen. Wählen Sie den Playground und anschließend im Bereich Konfigurationen die Option Integritätsschutz aus, bevor Sie die Prompts testen.

API

Wenn Sie einen Integritätsschutz beim Modellaufruf verwenden möchten, senden Sie eine InvokeModel- oder InvokeModelWithResponseStream-Anfrage. Alternativ können Sie die the Converse-API verwenden, wenn Sie eine Konversationsanwendung erstellen.

Anforderungsformat

Die Anforderungsendpunkte für das Aufrufen eines Modells mit und ohne Streaming lauten wie folgt. Ersetzen Sie modelId durch die ID des zu verwendenden Modells.

  • InvokeModel – POST /model/modelId/invoke HTTP/1.1

  • InvokeModelWithResponseStream – POST /model/modelId/invoke-with-response-stream HTTP/1.1

Der Header für beide API-Operationen hat das folgende Format.

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

Die Parameter werden unten beschrieben.

  • Setzen Sie Accept auf den MIME-Typ des Inferenztextes in der Antwort. Der Standardwert ist application/json.

  • Setzen Sie Content-Type auf den MIME-Typ der Eingabedaten in der Anfrage. Der Standardwert ist application/json.

  • Setzen Sie X-Amzn-Bedrock-Trace auf ENABLED, um eine Ablaufverfolgung zu aktivieren, um unter anderem zu sehen, welche Inhalte durch den Integritätsschutz blockiert wurden und warum.

  • Setzen Sie X-Amzn-Bedrock-GuardrailIdentifier auf die Integritätsschutz-ID des auf die Anfrage anzuwendenden Integritätsschutzes für die Anforderung und die Modellantwort.

  • Setzen Sie X-Amzn-Bedrock-GuardrailVersion auf die Version des Integritätsschutzes, den Sie auf die Anfrage und die Modellantwort anwenden möchten.

Das Format des allgemeinen Anforderungstextes wird im folgenden Beispiel gezeigt. Die tagSuffix-Eigenschaft wird nur beim Input-Tagging verwendet. Sie können den Integritätsschutz beim Streaming auch synchron oder asynchron konfigurieren, indem Sie streamProcessingMode verwenden. Dies funktioniert nur mit InvokeModelWithResponseStream.

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

In folgenden Situationen wird ein Fehler angezeigt

  • Sie aktivieren den Integritätsschutz, aber der Text der Anfrage enthält kein amazon-bedrock-guardrailConfig-Feld.

  • Sie deaktivieren den Integritätsschutz, geben jedoch ein amazon-bedrock-guardrailConfig-Feld im Hauptteil der Anfrage an.

  • Sie aktivieren den Integritätsschutz, aber der contentType lautet nicht application/json.

Den Text der Anfrage für verschiedene Modelle finden Sie unter Inferenzanforderungsparameter und Antwortfelder für Basismodelle.

Anmerkung

Bei Cohere-Command-Modellen können Sie im Feld num_generations nur eine Generation angeben, wenn Sie einen Integritätsschutz verwenden.

Wenn Sie einen Integritätsschutz und dessen Ablaufverfolgung aktivieren, sieht das allgemeine Format der Antwort für den Aufruf eines Modells mit und ohne Streaming wie folgt aus. Das Format des restlichen body für die einzelnen Modelle finden Sie unter Inferenzanforderungsparameter und Antwortfelder für Basismodelle. Der contentType entspricht dem, was Sie in der Anfrage angegeben haben.

  • 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 – Jede Antwort gibt einen chunk zurück, dessen Text im bytes-Feld mitsamt allen auftretenden Ausnahmen zu finden ist. Die Ablaufverfolgung für den Integritätsschutz wird nur für den letzten Block zurückgegeben.

    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"] } } }

Die Antwort gibt die folgenden Felder zurück, wenn Sie einen Integritätsschutz aktivieren.

  • amazon-bedrock-guardrailAction – Gibt an, ob der Integritätsschutz INTERVENED oder nicht (NONE).

  • amazon-bedrock-trace – Erscheint nur, wenn Sie die Ablaufverfolgung aktivieren. Enthält eine Liste von Ablaufverfolgungen, von denen jede Information über den Inhalt enthält, den der Integritätsschutz blockiert hat. Die Ablaufverfolgung enthält die folgenden Felder:

    • modelOutput – Ein Objekt, das die Ausgaben des blockierten Modells enthält.

    • input – Enthält die folgenden Details zur Prompt-Bewertung durch den Integritätsschutz:

      • topicPolicy – Enthält topics, also eine Liste mit Bewertungen der einzelnen verletzten Themenrichtlinien. Jedes Thema enthält die folgenden Felder:

        • name – Der Name der Themenrichtlinie.

        • type – Gibt an, ob das Thema abgelehnt werden soll.

        • action – Gibt an, dass das Thema blockiert wurde

      • contentPolicy – Enthält filters, also eine Liste mit Bewertungen der einzelnen verletzten Inhaltsfilter. Jeder Filter enthält die folgenden Felder:

        • type – Die Kategorie des Inhaltsfilters.

        • confidence – Das Konfidenzniveau, mit dem die Ausgabe als der schädlichen Kategorie zugehörig ausgewiesen werden kann.

        • action – Gibt an, dass der Inhalt blockiert wurde. Dieses Ergebnis hängt von der im Integritätsschutz eingestellten Filterstärke ab.

      • wordPolicy – Enthält eine Sammlung von benutzerdefinierten Wörtern und verwalteten, gefilterten Wörtern sowie eine entsprechende Bewertung dieser Wörter. Jede Liste enthält die folgenden Felder:

        • customWords – Eine Liste benutzerdefinierter Wörter, die dem Filter entsprochen haben.

          • match – Das Wort oder die Wortgruppe, die dem Filter entsprochen hat.

          • action – Gibt an, dass das Wort blockiert wurde.

        • managedWordLists – Eine Liste verwalteter Wörter, die dem Filter entsprochen haben.

          • match – Das Wort oder die Wortgruppe, die dem Filter entsprochen hat.

          • type – Gibt den Typ des verwalteten Wortes an, das dem Filter entsprochen hat. Zum Beispiel PROFANITY wenn es dem Profanitätsfilter entsprochen hat.

          • action – Gibt an, dass das Wort blockiert wurde.

      • sensitiveInformationPolicy – Enthält die folgenden Objekte, die Bewertungen für persönlich identifizierbare Informationen (PII) und Regex-Filter enthalten, gegen die verstoßen wurde:

        • piiEntities – Eine Liste mit Bewertungen für jeden PII-Filter, gegen den verstoßen wurde. Jeder Filter enthält die folgenden Felder:

          • type – Der gefundene PII-Typ.

          • match – Das Wort oder die Wortgruppe, die dem Filter entsprochen hat.

          • action – Gibt an, ob das Wort BLOCKED oder durch eine ID (ANONYMIZED) ersetzt wurde.

        • regexes – Eine Liste mit Bewertungen für jeden Regex-Filter, gegen den verstoßen wurde. Jeder Filter enthält die folgenden Felder:

          • name – Der Name des Regex-Filters.

          • regex – Der gefundene PII-Typ.

          • match – Das Wort oder die Wortgruppe, die dem Filter entsprochen hat.

          • action – Gibt an, ob das Wort BLOCKED oder durch eine ID (ANONYMIZED) ersetzt wurde.

    • outputs – Eine Liste mit Einzelheiten zur Bewertung der Modellantwort durch den Integritätsschutz. Jedes Element in der Liste ist ein Objekt, das dem Format des input-Objekts entspricht. Weitere Informationen hierzu finden Sie im input-Feld.