Verwenden Sie das ApplyGuardrail API in Ihrer Anwendung - 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.

Verwenden Sie das ApplyGuardrail API in Ihrer Anwendung

Guardrails wird verwendet, um Sicherheitsvorkehrungen für Ihre generativen KI-Anwendungen zu implementieren, die auf Ihre Anwendungsfälle zugeschnitten sind und auf Ihre verantwortlichen KI-Richtlinien abgestimmt sind. Mit Guardrails können Sie abgelehnte Themen konfigurieren, schädliche Inhalte filtern und vertrauliche Informationen entfernen.

Sie können den verwenden ApplyGuardrailAPI, um jeden Text mit Ihren vorkonfigurierten Amazon Bedrock Guardrails zu bewerten, ohne die Foundation-Modelle aufrufen zu müssen.

Merkmal des: ApplyGuardrail API

  • Inhaltsvalidierung — Sie können jede Texteingabe oder -ausgabe an die senden ApplyGuardrailAPI, um sie mit Ihren definierten Regeln zur Themenvermeidung, Inhaltsfiltern, PII Detektoren und Wortblocklisten zu vergleichen. Sie können Benutzereingaben und FM-generierte Ausgaben unabhängig voneinander auswerten.

  • Flexibler Einsatz — Sie können das System ApplyGuardrail API überall in Ihren Anwendungsablauf integrieren, um Daten zu validieren, bevor sie verarbeitet oder dem Benutzer Ergebnisse zur Verfügung gestellt werden. Wenn Sie beispielsweise eine RAG Anwendung verwenden, können Sie jetzt die Benutzereingaben vor dem Abruf auswerten, anstatt bis zur endgültigen Generierung der Antwort zu warten.

  • Entkoppelt von. FMs — ApplyGuardrail API ist von grundlegenden Modellen entkoppelt. Sie können jetzt Guardrails verwenden, ohne Foundation Models aufzurufen. Sie können die Bewertungsergebnisse verwenden, um das Erlebnis in Ihrer generativen KI-Anwendung zu entwerfen.

Rufen Sie den ApplyGuardrail API in Ihrem App-Flow auf

Die Anfrage ermöglicht es dem Kunden, all seine Inhalte, die geschützt werden sollen, mithilfe seiner definierten Guardrails weiterzugeben. Das Quellfeld sollte auf „INPUT“ gesetzt werden, wenn der auszuwertende Inhalt von einem Benutzer stammt, normalerweise die Aufforderung. LLM Die Quelle sollte auf „OUTPUT“ gesetzt werden, wenn die Leitplanken für die Modellausgabe durchgesetzt werden sollen, in der Regel eine Antwort. LLM

Themen

    Konfiguration der Leitplanke zur Verwendung mit ApplyGuardrail API

    Sie geben Konfigurationsinformationen für die Leitplanke im Eingabeparameter an. guardrailConfig Die Konfiguration umfasst die ID und die Version der Leitplanke, die Sie verwenden möchten. Sie können die Ablaufverfolgung auch für die Leitplanke aktivieren, wodurch Informationen über den Inhalt bereitgestellt werden, den die Leitplanke blockiert hat.

    ApplyGuardrail API Request
    POST /guardrail/{guardrailIdentifier}/version/{guardrailVersion}/apply HTTP/1.1 { "source": "INPUT" | "OUTPUT", "content": [ { "text": { "text": "string", } }, ] }
    ApplyGuardrail API Response
    { "usage": { "topicPolicyUnits": "integer", "contentPolicyUnits": "integer", "wordPolicyUnits": "integer", "sensitiveInformationPolicyUnits": "integer", "sensitiveInformationPolicyFreeUnits": "integer", "contextualGroundingPolicyUnits": "integer" }, "action": "GUARDRAIL_INTERVENED" | "NONE", "output": [ // if guardrail intervened and output is masked we return request in same format // with masking // if guardrail intervened and blocked, output is a single text with canned message // if guardrail did not intervene, output is empty array { "text": "string", }, ], "assessments": [{ "topicPolicy": { "topics": [{ "name": "string", "type": "DENY", "action": "BLOCKED", }] }, "contentPolicy": { "filters": [{ "type": "INSULTS | HATE | SEXUAL | VIOLENCE | MISCONDUCT |PROMPT_ATTACK", "confidence": "NONE" | "LOW" | "MEDIUM" | "HIGH", "filterStrength": "NONE" | "LOW" | "MEDIUM" | "HIGH", "action": "BLOCKED" }] }, "wordPolicy": { "customWords": [{ "match": "string", "action": "BLOCKED" }], "managedWordLists": [{ "match": "string", "type": "PROFANITY", "action": "BLOCKED" }] }, "sensitiveInformationPolicy": { "piiEntities": [{ // for all types see: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailPiiEntityConfig.html#bedrock-Type-GuardrailPiiEntityConfig-type "type": "ADDRESS" | "AGE" | ..., "match": "string", "action": "BLOCKED" | "ANONYMIZED" }], "regexes": [{ "name": "string", "regex": "string", "match": "string", "action": "BLOCKED" | "ANONYMIZED" }], "contextualGroundingPolicy": { "filters": [{ "type": "GROUNDING | RELEVANCE", "threshold": "double", "score": "double", "action": "BLOCKED | NONE" }] }, "invocationMetrics": { "guardrailProcessingLatency": "integer", "usage": { "topicPolicyUnits": "integer", "contentPolicyUnits": "integer", "wordPolicyUnits": "integer", "sensitiveInformationPolicyUnits": "integer", "sensitiveInformationPolicyFreeUnits": "integer", "contextualGroundingPolicyUnits": "integer" }, "guardrailCoverage": { "textCharacters": { "guarded":"integer", "total": "integer" } } } }, "guardrailCoverage": { "textCharacters": { "guarded": "integer", "total": "integer" } } ] }

    ApplyGuardrail APIBeispiele für Anwendungsfälle

    Die Ergebnisse der ApplyGuardrail Anfrage hängen von der Aktion ab, die Guardrail für den übergebenen Inhalt ergriffen hat.

    • Wenn Guardrail dort eingegriffen hat, wo der Inhalt nur maskiert ist, wird der exakte Inhalt mit angewendeter Maskierung zurückgegeben.

    • Wenn Guardrail eingegriffen und den Anforderungsinhalt blockiert hat, besteht das Ausgabefeld aus einem einzigen Text, bei dem es sich um die vorgefertigte Nachricht handelt, die auf der Guardrail-Konfiguration basiert.

    • Wenn keine Guardrail-Aktion für den Anforderungsinhalt ergriffen wurde, ist das Ausgabe-Array leer.

    No guardrail intervention

    Beispiel für eine Anfrage

    { "source": "OUTPUT", "content": [ "text": { "text": "Hi, my name is Zaid. Which car brand is reliable?", } ] }

    Reaktion, wenn Guardrails nicht eingegriffen hat

    { "usage": { "topicPolicyUnitsProcessed": 1, "contentPolicyUnitsProcessed": 1, "wordPolicyUnitsProcessed": 0, "sensitiveInformationPolicyFreeUnits": 0 }, "action": "NONE", "outputs": [], "assessments": [{}] }
    Guardrails intervened with BLOCKED action

    Beispiel für eine Antwort

    { "usage": { "topicPolicyUnitsProcessed": 1, "contentPolicyUnitsProcessed": 1, "wordPolicyUnitsProcessed": 0, "sensitiveInformationPolicyFreeUnits": 0 }, "action": "GUARDRAIL_INTERVENED", "outputs": [{ "text": "Configured guardrial canned message, i.e cannot respond", }], "assessments": [{ "topicPolicy": { "topics": [{ "name": "Cars", "type": "DENY", "action": "BLOCKED" }] }, "sensitiveInformationPolicy": { "piiEntities": [{ "type": "NAME", "match": "ZAID", "action": "ANONYMIZED" }], "regexes": [] } }] }
    Guardrails intervened with MASKED action

    Beispiel für eine Antwort

    Guardrails hat bei der Namensmaskierung eingegriffen (Name ist maskiert)

    { "usage": { "topicPolicyUnitsProcessed": 1, "contentPolicyUnitsProcessed": 1, "wordPolicyUnitsProcessed": 0, "sensitiveInformationPolicyFreeUnits": 0 }, "action": "GUARDRAIL_INTERVENED", "outputs": [ { "text": "Hi, my name is {NAME}. Which car brand is reliable?" }, { "text": "Hello {NAME}, ABC Cars are reliable..", } ], "assessments": [{ "sensitiveInformationPolicy": { "piiEntities": [{ "type": "NAME", "match": "ZAID", "action": "MASKED" }], "regexes": [] } }] }
    AWS CLI Example

    Eingabebeispiel

    # Make sure preview CLI is downloaded and setup aws bedrock-runtime apply-guardrail \ --cli-input-json '{ "guardrailIdentifier": "someGuardrailId", "guardrailVersion": "DRAFT", "source": "INPUT", "content": [ { "text": { "text": "How should I invest for my retirement? I want to be able to generate $5,000 a month" } } ] }' \ --region us-east-1 \ --output json

    Ausgabebeispiel

    { "usage": { "topicPolicyUnits": 1, "contentPolicyUnits": 1, "wordPolicyUnits": 1, "sensitiveInformationPolicyUnits": 1, "sensitiveInformationPolicyFreeUnits": 0 }, "action": "GUARDRAIL_INTERVENED", "outputs": [ { "text": "I apologize, but I am not able to provide fiduciary advice. =" } ], "assessments": [ { "topicPolicy": { "topics": [ { "name": "Fiduciary Advice", "type": "DENY", "action": "BLOCKED" } ] } } ] }