Guardrails konfigurieren

Sie können Guardrails mit Hilfe von Hilfsmitteln konfigurieren, wenn Sie ein grundlegendes Modell mit OCIAIConf() auswählen.

Guardrails-Konfiguration wird bereitgestellt, wenn ein grundlegendes Modell aus dem OCI Generative AI-Service ausgewählt wird. In diesem Beispiel wählen wir das xai.grok-4 Modell:

from aidputils.agents.toolkit.configs import OCIAIConf 
guardrails_config = { 
    "name" : "<guardrailsName>", 
    "description" : "<guardrailsDescription>", 
    "policies" : [ ] 
  } 
model_args = {} 
llm_conf = OCIAIConf(model_provider='generic', 
                     compartment_id='<compartment_ocid>', 
                     model_args=model_args, 
                     endpoint='https://inference.generativeai.<oci-region>.oci.oraclecloud.com', 
                     model_id='xai.grok-4', 
                     guardrails_config=guardrails_config)

Die Guardrails-Konfiguration ist eine JSON-ähnliche Zeichenfolge, die aus einem Array von Policys besteht. Im obigen Beispiel wird es in diesem Codeblock definiert, wobei <guardrailsName> und <guardrailsDescription> ein benutzerdefinierter Name und eine benutzerdefinierte Beschreibung sind:


guardrails_config = { 
    "name" : "<guardrailsName>", 
    "description" : "<guardrailsDescription>", 
    "policies" : [ ] 
  }

Jede Policy verfügt über die folgenden Schlüssel:

Legende Erforderlich Beschreibung Datentyp Standardwert
policyName Nr. Benutzerdefinierter Name für die Policy String (Zeichenfolgendatentyp) N/V
policyType Ja Art der anzuwendenden Leitplankenrichtlinie.
Zulässige Werte sind:
  • CONTENT_MODERATION
  • PROMPT_ATTACKS_PREVENTION
  • PII_DETECTION
ENUM  
policyDescription Nr. Eine Beschreibung der Richtlinie String (Zeichenfolgendatentyp)  
scope Nr. Der Geltungsbereich definiert, wo die Leitschienen angewendet werden.
Zulässige Werte sind:
  • USER_REQUEST
  • AGENT_RESPONSE
  • BOTH
ENUM  
action Nr. Die auszuführende Aktion, wenn gegen die Policy verstoßen wird
Zulässige Werte sind:
  • INFORM
  • BLOCK
  • ALLOW MASK

    (nur für PII_DETECTION)

ENUM  
threshold Nr. Schwellenwert für die Erkennung.

Der Bereich ist eine Wahrscheinlichkeit zwischen 0 und 1.

Fließkomma  
piiCategories Ja Kategorie der zu ermittelnden personenbezogenen Daten sowie deren Aktion und Aktivierung. Array  

piiCategories ist auch ein Array von JSON-ähnlichen Objekten, das die folgenden Schlüssel verwendet:

Legende Erforderlich Beschreibung Datentyp Standardwert
category Ja Die zu ermittelnde personenbezogene Datenkategorie.
Zulässige Werte sind:
  • PERSON
  • ADDRESS
  • TELEPHONE_NUMBER
  • EMAIL
String (Zeichenfolgendatentyp) N/V
isEnabled Nr. Aktivieren Sie die Erkennung der Kategorie "PII".
Zulässige Werte sind:
  • True
  • False
ENUM  
action Nr. Aktion, die ausgeführt wird, wenn personenbezogene Daten ermittelt werden. Überschreiben Sie die oben genannte Aktion.
Zulässige Werte sind:
  • INFORM
  • BLOCK
  • ALLOW
  • MASK
String (Zeichenfolgendatentyp)  

Beispiel: Vollständige Guardrails-Konfiguration

In diesem Fall wenden wir alle drei Richtlinien an:
  • Die Inhaltsmoderation wird nur auf die Agent-Antwort angewendet.
  • Prompt-Injection blockiert Benutzeranfragen, wenn erkannt,
  • PII wird sowohl in der Agent-Antwort als auch in der Benutzeranforderung ermittelt. Jede PII-Kategorie wird unterschiedlich behandelt.
guardrails_config = { 
    "policies" : [ { 
      "policyType" : "CONTENT_MODERATION", 
      "policyName" : "Content Moderation prevention", 
      "policyDescription" : "Choose an action to take when hate, sexual, violence, toxic, derogatory, or harassment content is detected in either the user input query or the agent response.", 
      "scope" : "AGENT_RESPONSE", 
      "action" : "INFORM", 
      "threshold" : 0.5, 
      "categories" : [ ] 
    }, { 
      "policyType" : "PROMPT_ATTACKS_PREVENTION", 
      "policyName" : "Prompt Injection prevention", 
      "policyDescription" : "Choose action when prompt injection is detected on the user query.", 
      "scope" : "USER_REQUEST", 
      "action" : "BLOCK", 
      "threshold" : 0.5 
    }, { 
      "policyType" : "PII_DETECTION", 
      "policyName" : "Personally Identifiable Information (PII) detection", 
      "policyDescription" : "Choose an action to take when PII entities are detected in either the user input query or the agent response.", 
      "scope" : "AGENT_RESPONSE", 
      "action" : "INFORM", 
      "threshold" : 0.5, 
      "piiCategories" : [ { 
        "category" : "PERSON", 
        "isEnabled" : False, 
        "action" : "INFORM" 
      }, { 
        "category" : "ADDRESS", 
        "isEnabled" : False, 
        "action" : "INFORM" 
      }, { 
        "category" : "TELEPHONE_NUMBER", 
        "isEnabled" : True, 
        "action" : "MASK" 
      }, { 
        "category" : "EMAIL", 
        "isEnabled" : True, 
        "action" : "MASK" 
      } ] 
    }, { 
      "policyType" : "PII_DETECTION", 
      "policyName" : "Personally Identifiable Information (PII) detection", 
      "policyDescription" : "Choose an action to take when PII entities are detected in either the user input query or the agent response.", 
      "scope" : "USER_REQUEST", 
      "action" : "INFORM", 
      "threshold" : 0.5, 
      "piiCategories" : [ { 
        "category" : "PERSON", 
        "isEnabled" : True, 
        "action" : "INFORM" 
      }, { 
        "category" : "ADDRESS", 
        "isEnabled" : True, 
        "action" : "INFORM" 
      }, { 
        "category" : "TELEPHONE_NUMBER", 
        "isEnabled" : True, 
        "action" : "BLOCK" 
      }, { 
        "category" : "EMAIL", 
        "isEnabled" : False, 
        "action" : "INFORM" 
      } ] 
    } ] 
  }