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:
|
ENUM | |
policyDescription
|
Nr. | Eine Beschreibung der Richtlinie | String (Zeichenfolgendatentyp) | |
scope
|
Nr. | Der Geltungsbereich definiert, wo die Leitschienen angewendet werden.
Zulässige Werte sind:
|
ENUM | |
action
|
Nr. | Die auszuführende Aktion, wenn gegen die Policy verstoßen wird
Zulässige Werte sind:
|
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:
|
String (Zeichenfolgendatentyp) | N/V |
isEnabled
|
Nr. | Aktivieren Sie die Erkennung der Kategorie "PII".
Zulässige Werte sind:
|
ENUM | |
action
|
Nr. | Aktion, die ausgeführt wird, wenn personenbezogene Daten ermittelt werden. Überschreiben Sie die oben genannte Aktion.
Zulässige Werte sind:
|
String (Zeichenfolgendatentyp) |
Beispiel: Vollständige Guardrails-Konfiguration
- 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"
} ]
} ]
}