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 Tipo de política de barandilla que aplicar.
Los valores permitidos son:
  • CONTENT_MODERATION
  • PROMPT_ATTACKS_PREVENTION
  • PII_DETECTION
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:
  • USER_REQUEST
  • AGENT_RESPONSE
  • BOTH
ENUM  
action N.º Acción que se debe realizar cuando se viola la política
Los valores permitidos son:
  • INFORM
  • BLOCK
  • ALLOW MASK

    (solo para PII_DETECTION)

ENUM  
threshold N.º Umbral de detección.

El rango es una probabilidad entre 0 y 1.

float  
piiCategories 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 La categoría de PII que se debe detectar.
Los valores permitidos son:
  • PERSON
  • ADDRESS
  • TELEPHONE_NUMBER
  • EMAIL
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:
  • True
  • False
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:
  • INFORM
  • BLOCK
  • ALLOW
  • MASK
Cadena  

Ejemplo: configuración completa de guías de protección

En este caso, aplicamos las tres políticas:
  • 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" 
      } ] 
    } ] 
  }