Testen Sie eine Leitplanke - 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.

Testen Sie eine Leitplanke

Nachdem Sie eine Leitplanke erstellt haben, ist eine funktionierende Version des Entwurfs (DRAFT) verfügbar. Der Arbeitsentwurf ist eine Version der Leitplanke, die Sie kontinuierlich bearbeiten und wiederholen können, bis Sie eine für Ihren Anwendungsfall zufriedenstellende Konfiguration gefunden haben. Sie können den Arbeitsentwurf oder andere Versionen der Guardrail testen und vergleichen, um sicherzustellen, dass die Konfigurationen Ihren Anwendungsanforderungen entsprechen. Bearbeiten Sie die Konfigurationen im Arbeitsentwurf und testen Sie verschiedene Eingabeaufforderungen, um zu sehen, wie gut die Guardrail die Eingabeaufforderungen oder Antworten auswertet und abfängt.

Wenn Sie mit der Konfiguration zufrieden sind, können Sie eine Version der Leitplanke erstellen, die bei der Erstellung der Version als Momentaufnahme der Konfigurationen des Arbeitsentwurfs dient. Sie können Versionen verwenden, um die Bereitstellung von Guardrails für Produktionsanwendungen jedes Mal zu optimieren, wenn Sie Änderungen an Ihren Guardrails 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
Um eine Leitplanke zu testen, um festzustellen, ob schädliche Inhalte blockiert werden
  1. Melden Sie sich bei der Rolle AWS Management Console Using an IAM mit Amazon Bedrock-Berechtigungen an und öffnen Sie die Amazon Bedrock-Konsole unter. https://console.aws.amazon.com/bedrock/

  2. Wählen Sie im linken Navigationsbereich die Option Guardrails aus. Wählen Sie dann im Abschnitt „Leitplanken“ eine Leitplanke aus.

  3. Auf der rechten Seite wird ein Testfenster angezeigt. Im Testfenster haben Sie die folgenden Optionen:

    1. Standardmäßig wird der Arbeitsentwurf der Leitplanke im Testfenster verwendet. Um eine andere Version der Leitplanke zu testen, wählen Sie oben im Testfenster die Option Arbeitsentwurf und dann die Version aus.

    2. Um ein Modell auszuwählen, wählen Sie Modell auswählen. Nachdem Sie eine Auswahl getroffen haben, wählen Sie Anwenden aus. Um das Modell zu ändern, wählen Sie Ändern.

    3. Geben Sie eine Aufforderung in das Feld Eingabeaufforderung ein.

    4. Um eine Modellantwort auszulösen, wählen Sie Ausführen aus.

    5. Das Modell gibt im Feld Endgültige Antwort eine Antwort zurück (die durch die Leitplanke geändert werden kann). Wenn die Leitplanke die Eingabeaufforderung oder die Modellantwort blockiert oder filtert, wird unter Schutzplankenprüfung eine Meldung angezeigt, die Sie darüber informiert, wie viele Verstöße die Leitplanke erkannt hat.

    6. Wählen Sie „Trace anzeigen“, um die Themen oder schädlichen Kategorien in der Aufforderung oder Antwort anzuzeigen, die erkannt wurden und den Filter passieren lassen oder durch ihn blockiert wurden.

    7. Verwenden Sie die Registerkarten „Aufforderung“ und „Antwort modellieren“, um die Themen oder schädlichen Kategorien anzuzeigen, die von der Leitplanke gefiltert oder blockiert wurden.

Sie können die Leitplanke auch im Textspielfeld testen. Wählen Sie den Playground und anschließend im Bereich Konfigurationen die Guardrail aus, bevor Sie zum Testen aufgefordert werden.

API

Um eine Leitplanke beim Modellaufruf zu verwenden, senden Sie eine Oder-Anfrage. InvokeModelInvokeModelWithResponseStream Wenn Sie eine Konversationsanwendung erstellen, können Sie alternativ Converse API.

Format der Anfrage

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

  • InvokeModel— POST /model/ /invoke modelId 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.

  • Auf Accept den MIME-Typ des Inferenztextes in der Antwort gesetzt. Der Standardwert ist application/json.

  • Auf Content-Type den MIME-Typ der Eingabedaten in der Anfrage festgelegt. Der Standardwert ist application/json.

  • Wird X-Amzn-Bedrock-Trace auf gesetztENABLED, um eine Ablaufverfolgung zu ermöglichen, um unter anderem zu sehen, welche Inhalte durch Leitplanken blockiert wurden und warum..

  • Geben Sie X-Amzn-Bedrock-GuardrailIdentifier die Guardrail-ID der Leitplanke ein, die Sie auf die Anfrage anwenden möchten, auf die Anfrage und die Modellantwort.

  • Geben Sie X-Amzn-Bedrock-GuardrailVersion die Version der Leitplanke an, die Sie auf die Anfrage anwenden möchten, und geben Sie die Modellantwort an.

Das allgemeine Format des Anfragetexts wird im folgenden Beispiel gezeigt. Die tagSuffix Eigenschaft wird nur beim Input-Tagging verwendet. Sie können die Leitplanke auch für synchrones oder asynchrones Streaming konfigurieren, indem Sie streamProcessingMode Das funktioniert nur mit. InvokeModelWithResponseStream

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

In den folgenden Situationen wird eine Fehlermeldung angezeigt

  • Sie aktivieren die Leitplanke, aber der Text der Anfrage amazon-bedrock-guardrailConfig enthält kein Feld.

  • Sie deaktivieren die Leitplanke, geben aber ein amazon-bedrock-guardrailConfig Feld im Hauptteil der Anfrage an.

  • Sie aktivieren die Leitplanke, aber sie ist es nicht. contentType application/json

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

Anmerkung

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Cohere Command Bei Modellen können Sie in dem num_generations Feld nur eine Generation angeben, wenn Sie eine Leitplanke verwenden.

Wenn Sie eine Leitplanke und ihren Trace aktivieren, lautet das allgemeine Format der Antwort für den Aufruf eines Modells mit und ohne Streaming wie folgt. Das Format der restlichen Daten body für jedes Modell finden Sie unter. Inferenzanforderungsparameter und Antwortfelder für Foundation-Modelle Das 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 eine zurückchunk, deren Text sich in dem bytes Feld befindet, zusammen mit allen auftretenden Ausnahmen. Der Guardrail-Trace wird nur für den letzten Abschnitt 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 eine Leitplanke aktivieren.

  • amazon-bedrock-guardrailAction— Gibt an, ob die Leitplanke aktiviert ist INTERVENED oder nicht (). NONE

  • amazon-bedrock-trace— Erscheint nur, wenn Sie den Trace aktivieren. Enthält eine Liste von Traces, von denen jede Information über den Inhalt enthält, den die Leitplanke blockiert hat. Der Trace enthält die folgenden Felder:

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

    • input— Enthält die folgenden Informationen zur Bewertung des Prompts durch die Leitplanke:

      • topicPolicy— Enthält topics eine Liste mit Bewertungen für jede Themenrichtlinie, gegen die verstoßen wurde. Jedes Thema umfasst 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 eine Liste mit Bewertungen für jeden Inhaltsfilter, gegen den verstoßen wurde. Jeder Filter umfasst die folgenden Felder:

        • type— Die Kategorie des Inhaltsfilters.

        • confidence— Das Maß an Sicherheit, dass das Produkt als schädlich eingestuft werden kann.

        • action— Gibt an, dass der Inhalt blockiert wurde. Dieses Ergebnis hängt von der Stärke des in der Leitplanke eingestellten Filters ab.

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

        • customWords— Eine Liste von benutzerdefinierten Wörtern, die dem Filter entsprachen.

          • match— Das Wort oder die Phrase, die dem Filter entsprach.

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

        • managedWordLists— Eine Liste verwalteter Wörter, die dem Filter entsprachen.

          • match— Das Wort oder die Phrase, die dem Filter entsprach.

          • type— Gibt den Typ des verwalteten Wortes an, das dem Filter entsprach. Zum Beispiel, PROFANITY wenn es dem Obszönitätsfilter entsprach.

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

      • sensitiveInformationPolicy— Enthält die folgenden Objekte, die Bewertungen für personenbezogene Daten (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 PII-Typ, der gefunden wurde.

          • match— Das Wort oder die Phrase, die dem Filter entsprach.

          • action— Gibt an, ob das Wort durch einen Bezeichner (ANONYMIZED) ersetzt wurde BLOCKED oder durch diesen ersetzt wurde.

        • regexes— Eine Liste von 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 PII-Typ, der gefunden wurde.

          • match— Das Wort oder die Phrase, die dem Filter entsprach.

          • action— Gibt an, ob das Wort durch einen Bezeichner (ANONYMIZED) ersetzt wurde BLOCKED oder durch diesen ersetzt wurde.

    • outputs— Eine Liste mit Einzelheiten zur Bewertung der Modellreaktion durch die Leitplanke. Jedes Element in der Liste ist ein Objekt, das dem Format des input Objekts entspricht. Weitere Informationen finden Sie in dem input Feld.