Phase 18 - Lesson 29

Moderation Systems — OpenAI, Perspective, Llama Guard

Los sistemas de moderación en producción operacionalizan las políticas de seguridad definidas en las Lecciones 12-16. OpenAI Moderation API: omni-moderation-latest (2024), construida sobre GPT-4o, clasifica texto + imágenes en una sola llamada; 42% mejor en el conjunto de pruebas multilingües que la versión anterior; el esquema de respuesta devuelve 13 booleanos de categoría — acoso (harassment), acoso/amenaza (harassment/threatening), odio (hate), odio/amenaza (hate/threatening), ilícito (illicit), ilícito/violento (illicit/violent), autolesión (self-harm), autolesión/intento (self-harm/intent), autolesión/instrucciones (self-harm/instructions), sexual, sexual/menores (sexual/minors), violencia (violence), violencia/gráfico (violence/graphic); gratuita para la mayoría de los desarrolladores. Patrones en capas: Moderación de entrada (pre-generación), Moderación de salida (post-generación), Moderación personalizada (reglas de dominio). Las llamadas paralelas asíncronas ocultan la latencia; las respuestas marcadas muestran marcadores de posición (placeholders). Llama Guard 3/4 (Lección 16): 14 peligros de MLCommons, abuso de intérprete de código, 8 idiomas (v3), multi-imagen (v4). Perspective API (Google Jigsaw): puntuación de toxicidad anterior a la ola de LLM como moderador; principalmente toxicidad unidimensional con variantes de toxicidad severa/insulto/profanidad; línea base para la investigación de moderación de contenido. Depreciaciones: Azure Content Moderator depreciado en febrero de 2024, retirado en febrero de 2027, reemplazado por Azure AI Content Safety.

Type: Build Languages: Python (stdlib, three-layer moderation harness) Prerequisites: Phase 18 · 16 (Llama Guard / Garak / PyRIT) Time: ~60 minutes

Learning Objectives

  • Describir la taxonomía de categorías de OpenAI Moderation API y cómo difiere del conjunto MLCommons de Llama Guard 3.
  • Describir el patrón de tres capas de moderación (entrada, salida, personalizada) y nombrar un modo de falencia de cada una.
  • Describir la posición de Perspective API como una línea base de la era pre-LLM y por qué se sigue utilizando en investigación.
  • Indicar el cronograma de depreciación de Azure.

The Problem

Las Lecciones 12-16 describen ataques y herramientas de defensa. La Lección 29 cubre los sistemas de moderación desplegados que operacionalizan las defensas en la superficie donde los usuarios interactúan con el producto. El patrón de tres capas es la configuración predeterminada en 2026.

The Concept

OpenAI Moderation API

omni-moderation-latest (2024). Construida sobre GPT-4o. Clasifica texto + imágenes en una sola llamada. Gratuita para la mayoría de los desarrolladores.

Categorías (13 booleanos en el esquema de respuesta):

  • harassment, harassment/threatening
  • hate, hate/threatening
  • self-harm, self-harm/intent, self-harm/instructions
  • sexual, sexual/minors
  • violence, violence/graphic
  • illicit, illicit/violent

El soporte multimodal se aplica a violence, self-harm y sexual pero no a sexual/minors; el resto son solo texto.

Para el arnés de código en code/main.py colapsamos las subcategorías /threatening, /intent, /instructions y /graphic en sus padres de nivel superior para mayor simplicidad pedagógica. El código de producción debería utilizar el esquema completo de 13 categorías.

42% mejor en el conjunto de pruebas multilingües que el endpoint de moderación de la generación anterior. Puntuaciones por categoría; las aplicaciones definen los umbrales.

Llama Guard 3/4

Cubierto en la Lección 16. 14 categorías de peligro de MLCommons (organizadas de manera diferente a los 13 booleanos del esquema de respuesta de OpenAI). Soporta 8 idiomas (v3). Llama Guard 4 (abril de 2025) es nativamente multimodal, 12B.

Las taxonomías de OpenAI y Llama Guard se superponen pero divergen. OpenAI tiene "illicit" como una categoría amplia; Llama Guard tiene "violent crimes" y "non-violent crimes" por separado. Los despliegues eligen según el ajuste con la taxonomía de sus políticas.

Perspective API (Google Jigsaw)

Sistema de puntuación de toxicidad anterior a la ola de LLM como moderador (antes de 2020). Categorías: TOXICITY, SEVERE_TOXICITY, INSULT, PROFANITY, THREAT, IDENTITY_ATTACK. Puntuación primaria unidimensional (TOXICITY) con variantes de subdimensiones.

Ampliamente utilizada como línea base de investigación para la moderación de contenido porque la API es estable, está documentada y cuenta con años de datos de calibración. Para los casos de uso modernos adyacentes a LLM, Llama Guard o OpenAI Moderation suelen ser una mejor opción.

The three-layer pattern

  1. Input moderation. Clasificar el prompt del usuario antes de la generación. Rechazar si se marca. Latencia: una llamada al clasificador.
  2. Output moderation. Clasificar la salida del modelo antes de la entrega. Reemplazar con un rechazo si se marca. Latencia: una llamada al clasificador después de la generación.
  3. Custom moderation. Reglas específicas del dominio (regex, listas de permitidos, política de negocio). Se ejecuta en la entrada o en la sociedad.

Las tres capas son secuenciales por diseño: la moderación de entrada debe completarse antes de la generación, y la moderación de salida se ejecuta después de la generación. El paralelismo se aplica dentro de una capa — ejecutar múltiples clasificadores (por ejemplo, OpenAI Moderation + Llama Guard + Perspective) simultáneamente sobre el mismo texto oculta la latencia de cada clasificador. Como optimización opcional, se puede mostrar una respuesta de marcador de posición ("un momento, comprobando...") mientras se completa la moderación de entrada y se pospone la transmisión a partir del token 1. El comportamiento al marcarse es configurable: rechazar, sanitizar, escalar a revisión humana.

Failure modes

  • Input only. No detecta alucinaciones de salida (los ataques de codificación de las Lecciones 12-14 evaden los clasificadores de entrada).
  • Output only. Permite que cualquier entrada llegue al modelo; aumenta el costo; expone el razonamiento interno al atacante.
  • Custom only. No es robusto en todas las categorías; las expresiones regulares son frágiles.

La capa múltiple es la predeterminada. Doble seguridad.

Azure deprecation

Azure Content Moderator: depreciado en febrero de 2024, retirado en febrero de 2027. Reemplazado por Azure AI Content Safety, que está basado en LLM y se integra con Azure OpenAI. La migración es un proyecto de nivel de campo de 2024-2027 para despliegues en Azure.

Where this fits in Phase 18

La Lección 16 cubre las herramientas de moderación en el contexto de red-team. La Lección 29 cubre la moderación desplegada. La Lección 30 cierra con la evidencia actual de capacidades de doble uso.

Use It

code/main.py construye un arnés de moderación de tres capas: moderador de entrada (palabra clave + puntuación de categoría), moderador de salida (el mismo clasificador en la salida), moderador personalizado (reglas de dominio). Puede pasar entradas y observar qué capa detecta cada cosa.

Ship It

Esta lección produce outputs/skill-moderation-stack.md. Dado un despliegue, recomienda una configuración del stack de moderación: qué clasificador usar en la entrada, cuál en la salida, qué reglas personalizadas y qué juez para casos limítrofes.

Exercises

  1. Ejecute code/main.py. Pase una entrada benigna, una limítrofe y una dañina a través de las tres capas. Reporte qué capa se activa para cada una.

  2. Extienda el arnés con puntuación de toxicidad al estilo de Perspective API en una categoría específica. Compare su comportamiento de umbral con la puntuación de la categoría.

  3. Lea la documentación de OpenAI Moderation API y la lista de categorías de Llama Guard 3. Mapee cada categoría de OpenAI a las categorías más cercanas de Llama Guard. Identifique tres categorías que no se mapeen limpiamente.

  4. Diseñe un stack de moderación para un despliegue de asistente de código (por ejemplo, GitHub Copilot). Identifique las categorías más y menos relevantes y proponga reglas personalizadas.

  5. Azure Content Moderator se retira en febrero de 2027. Planifique una migración a Azure AI Content Safety. Identifique el elemento de mayor riesgo de la migración.

Key Terms

Term What people say What it actually means
OpenAI Moderation "omni-moderation-latest" Clasificador de 13 categorías (texto) basado en GPT-4o con soporte multimodal parcial
Perspective API "Google Jigsaw toxicity" Línea base de puntuación de toxicidad de la era pre-LLM
Llama Guard "MLCommons 14-category" Clasificador de peligros de Meta (v3: 8B texto, 8 idiomas; v4: 12B multimodal)
Input moderation "pre-generation filter" Clasificador en el prompt del usuario antes de la llamada al modelo
Output moderation "post-generation filter" Clasificador en la salida del modelo antes de la entrega
Custom moderation "domain rules" Reglas específicas del despliegue (regex, lista de permitidos, política)
Layered moderation "all three layers" Patrón estándar de despliegue en producción

Further Reading

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).