0Pricing
AI Agents · Lección

Filtrado de salidas (Llama Guard, NeMo)

Ejecute un modelo de protección más pequeño sobre las salidas para detectar toxicidad, filtraciones de información personal y vulneraciones de políticas antes de publicarlas.

Filtrado de salidas (Llama Guard, NeMo) es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.

¿Por qué filtrar las salidas?

Incluso con entradas seguras, los modelos pueden generar:

  • Filtraciones de datos personales
  • Discurso de odio o acoso
  • Contenido de autolesión
  • Llamadas a herramientas que infringen la intención del usuario

Un filtro de salidas es su última línea de defensa antes de que el usuario vea algo.

Llama Guard

El clasificador de seguridad de Meta: pesos abiertos y gran velocidad:

from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-Guard-3-8B')
# Outputs 'safe' or 'unsafe' with category.

NeMo Guardrails

NeMo Guardrails de NVIDIA: framework de Python que envuelve los LLM con comprobaciones:

# pip install nemoguardrails
from nemoguardrails import RailsConfig, LLMRails

config = RailsConfig.from_path('./config')
rails = LLMRails(config)
response = rails.generate(messages=[{'role': 'user', 'content': '...'}])

Guardrails AI

guardrails-ai es la biblioteca de Python centrada en la validación y las protecciones. Admite «rails» basados en XML y bucles de reparación reAsk.

Clasificador constitucional de Anthropic

Anthropic lanzó un clasificador, además del entrenamiento de seguridad de Claude. Es útil para filtrar a posteriori las salidas de cualquier modelo.

Filtro personalizado basado en LLM

La opción más económica: un LLM más pequeño que examine las salidas:

FILTER_PROMPT = '''
Analyse the output. Return JSON: {safe: true/false, reason: str, categories: list}

Unsafe categories: PII leak, harmful instructions, copyright violation, prompt-injection echo.

Output:
{output}
'''

result = guard_llm.invoke(FILTER_PROMPT.format(output=text))

Filtros de regex y reglas

Para patrones específicos, regex es rápido y fiable:

import re
EMAIL_RE = re.compile(r'[\w\.-]+@[\w\.-]+')
SSN_RE = re.compile(r'\b\d{3}-\d{2}-\d{4}\b')

def has_pii(text):
    return bool(EMAIL_RE.search(text) or SSN_RE.search(text))

# --- demo ---
samples = ['Contact me at jane@example.com', 'My SSN is 123-45-6789', 'No PII in this sentence']
for s in samples:
    print(f'{s!r} -> has_pii={has_pii(s)}')

Redacción de PII

No se limite a bloquear: a veces redacte la información y permita que el resto pase:

def redact(text):
    text = EMAIL_RE.sub('[email]', text)
    text = SSN_RE.sub('[ssn]', text)
    return text

Filtro de dos capas

Primero reglas rápidas y después un LLM más costoso:

def filter_output(text):
    if has_obvious_pii(text):
        return BLOCKED
    result = guard_llm.invoke(...)
    return result

Salidas en streaming

Para las salidas en streaming, filtre ORACIÓN POR ORACIÓN:

buf = ''
for token in stream:
    buf += token
    if buf.endswith(('. ', '! ', '? ', '\n')):
        if not safe(buf):
            stream.close()
            emit_to_client('[content filtered]')
            break
        emit_to_client(buf)
        buf = ''

Falsos positivos frente a falsos negativos

Ajuste el sistema para lograr el equilibrio adecuado:

  • Alta importancia (medicina, finanzas): priorice los falsos positivos (bloquee más)
  • Creatividad/entretenimiento: priorice los falsos negativos (bloquee menos)

Los registros del filtro son sensibles

Los registros del filtro contienen el contenido bloqueado. Almacénelos de forma segura y con TTL cortos:

log.warning('Blocked output', extra={'reason': r, 'category': c}, sanitize_payload=True)

Informe al usuario

Cuando bloquee contenido, explique al usuario el motivo para que no repita las solicitudes continuamente:

def handle_privacy_request():
    return 'I cannot share that information for privacy reasons.'

print(handle_privacy_request())

Filtro multicapa

¿Por qué combinar regex con el filtrado basado en LLM?

Resumen

Llama Guard / NeMo / filtro LLM personalizado + reglas de regex. Dos capas. Redacte cuando sea posible. Informe siempre al usuario cuando se bloquee contenido.

Preguntas frecuentes

¿La lección «Filtrado de salidas (Llama Guard, NeMo)» es gratis?

Sí — el texto completo de «Filtrado de salidas (Llama Guard, NeMo)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.

¿Qué aprenderé en «Filtrado de salidas (Llama Guard, NeMo)»?

Ejecute un modelo de protección más pequeño sobre las salidas para detectar toxicidad, filtraciones de información personal y vulneraciones de políticas antes de publicarlas. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar AI Agents?

No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Filtrado de salidas (Llama Guard, NeMo)»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de AI Agents?

Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Defensas contra la inyección de prompts
  2. Filtrado de salidas (Llama Guard, NeMo)
  3. Ejecución aislada para agentes de código
  4. Control de acceso a las herramientas
← Volver a AI Agents