Configuración de guías
Puede configurar barandillas mediante Aidputils como parte de la selección de un modelo básico mediante OCIAIConf().
La configuración de las guías se proporciona al seleccionar un modelo básico del servicio OCI Generative AI. En este ejemplo, seleccionamos el modelo xai.grok-4:
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)La configuración de las guías de protección es una cadena similar a JSON que consta de una matriz de políticas. En el ejemplo anterior, se define en este bloque de código donde <guardrailsName> y <guardrailsDescription> son un nombre y una descripción definidos por el usuario:
guardrails_config = {
"name" : "<guardrailsName>",
"description" : "<guardrailsDescription>",
"policies" : [ ]
}Cada política tiene las siguientes claves:
| Tecla | Obligatorio | Descripción | Tipo de dato | Valor por defecto |
|---|---|---|---|---|
policyName
|
N.º | Nombre personalizado para la política | Cadena | No disponible |
policyType
|
Sí | Tipo de política de barandilla que aplicar.
Los valores permitidos son:
|
ENUM | |
policyDescription
|
N.º | Descripción de la política | Cadena | |
scope
|
N.º | El ámbito define dónde se aplican las barandillas.
Los valores permitidos son:
|
ENUM | |
action
|
N.º | Acción que se debe realizar cuando se viola la política
Los valores permitidos son:
|
ENUM | |
threshold
|
N.º | Umbral de detección.
El rango es una probabilidad entre 0 y 1. |
float | |
piiCategories
|
Sí | Categoría de datos de PII que se detectarán junto con su acción y habilitación. | Matriz |
piiCategories también es una matriz de objetos similares a JSON que utiliza las siguientes claves:
| Tecla | Obligatorio | Descripción | Tipo de dato | Valor por defecto |
|---|---|---|---|---|
category
|
Sí | La categoría de PII que se debe detectar.
Los valores permitidos son:
|
Cadena | No disponible |
isEnabled
|
N.º | Permite activar la detección de la categoría de información de identificación personal.
Los valores permitidos son:
|
ENUM | |
action
|
N.º | Acción que se debe realizar si se detecta una categoría de información de identificación personal. Sustituya la acción anterior.
Los valores permitidos son:
|
Cadena |
Ejemplo: configuración completa de guías de protección
- la moderación del contenido solo se aplica a la respuesta del agente,
- la inyección de aviso bloqueará las solicitudes del usuario si se detectan,
- La información de identificación personal se detecta tanto en la respuesta del agente como en la solicitud del usuario. Cada categoría de PII se trata de manera diferente.
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"
} ]
} ]
}