Phase 18 - Lesson 29

Moderation Systems — OpenAI, Perspective, Llama Guard

Sistemas de moderação em produção operacionalizam as políticas de segurança definidas nas Lições 12-16. OpenAI Moderation API: omni-moderation-latest (2024), construída com base no GPT-4o, classifica texto + imagens em uma única chamada; 42% superior no conjunto de testes multilíngues em comparação com a versão anterior; o esquema de resposta retorna 13 booleanos de categoria — assédio (harassment), assédio/ameaça (harassment/threatening), ódio (hate), ódio/ameaça (hate/threatening), ilícito (illicit), ilícito/violento (illicit/violent), automutilação (self-harm), automutilação/intenção (self-harm/intent), automutilação/instruções (self-harm/instructions), sexual, sexual/menores (sexual/minors), violência (violence), violência/gráfico (violence/graphic); gratuita para a maioria dos desenvolvedores. Padrões em camadas: Moderação de entrada (pré-geração), Moderação de saída (pós-geração), Moderação personalizada (regras de domínio). Chamadas paralelas assíncronas ocultam a latência; respostas marcadas exibem marcadores de posição (placeholders). Llama Guard 3/4 (Lição 16): 14 perigos da MLCommons, abuso de interpretador de código, 8 idiomas (v3), multi-imagem (v4). Perspective API (Google Jigsaw): pontuação de toxicidade anterior à onda de LLM como moderador; principalmente toxicidade unidimensional com variantes de toxicidade severa/insulto/profanidade; linha de base para pesquisa de moderação de conteúdo. Depreciações: Azure Content Moderator descontinuado em fevereiro de 2024, aposentado em fevereiro de 2027, substituído pelo 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

  • Descrever a taxonomia de categorias da OpenAI Moderation API e como ela difere do conjunto MLCommons do Llama Guard 3.
  • Descrever o padrão de três camadas de moderação (entrada, saída, personalizada) e nomear um modo de falha de cada uma.
  • Descrever o posicionamento da Perspective API como uma linha de base da era pré-LLM e por que ela continua sendo usada em pesquisas.
  • Indicar o cronograma de depreciação do Azure.

The Problem

As Lições 12-16 descrevem ataques e ferramentas de defesa. A Lição 29 aborda os sistemas de moderação implantados que operacionalizam as defesas na superfície de contato com o usuário final do produto. O padrão de três camadas é a configuração padrão em 2026.

The Concept

OpenAI Moderation API

omni-moderation-latest (2024). Construída com base no GPT-4o. Classifica texto + imagens em uma única chamada. Gratuita para a maioria dos desenvolvedores.

Categorias (13 booleanos no esquema de resposta):

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

O suporte multimodal aplica-se a violence, self-harm e sexual, mas não a sexual/minors; os demais são apenas para texto.

Para o harness de código em code/main.py, colapsamos as subcategorias /threatening, /intent, /instructions e /graphic em suas categorias pai de nível superior para fins de simplicidade pedagógica. O código de produção deve usar o esquema completo de 13 categorias.

42% melhor no conjunto de testes multilíngues em relação ao endpoint de moderação de geração anterior. Pontuações por categoria; os aplicativos definem os limiares.

Llama Guard 3/4

Abordado na Lição 16. 14 categorias de perigos da MLCommons (organizadas de forma diferente dos 13 booleanos do esquema de resposta da OpenAI). Suporta 8 idiomas (v3). O Llama Guard 4 (abril de 2025) é nativamente multimodal, 12B.

As taxonomias da OpenAI e do Llama Guard se sobrepõem, mas divergem. A OpenAI possui "illicit" como uma categoria ampla; o Llama Guard separa "violent crimes" e "non-violent crimes". As implantações escolhem com base no alinhamento da taxonomia com a sua política.

Perspective API (Google Jigsaw)

Sistema de pontuação de toxicidade anterior à onda de LLM como moderador (pré-2020). Categorias: TOXICITY, SEVERE_TOXICITY, INSULT, PROFANITY, THREAT, IDENTITY_ATTACK. Pontuação primária unidimensional (TOXICITY) com variantes de subdimensão.

Amplamente utilizada como uma linha de base de pesquisa em moderação de conteúdo porque a API é estável, documentada e possui anos de dados de calibração. Para casos de uso modernos adjacentes a LLMs, o Llama Guard ou a OpenAI Moderation costumam ser mais adequados.

The three-layer pattern

  1. Input moderation. Classifica o prompt do usuário antes da geração. Rejeita se for sinalizado. Latência: uma chamada do classificador.
  2. Output moderation. Classifica a saída do modelo antes do envio. Substitui por uma recusa se for sinalizado. Latência: uma chamada do classificador após a geração.
  3. Custom moderation. Regras específicas do domínio (regex, listas de permissão, política de negócios). Executada na entrada ou na saída.

As três camadas são sequenciais por design: a moderação de entrada deve ser concluída antes da geração, e a moderação de saída é executada após a geração. O paralelismo aplica-se a uma única camada — executar múltiplos classificadores (por exemplo, OpenAI Moderation + Llama Guard + Perspective) simultaneamente no mesmo texto oculta a latência de cada classificador individual. Como uma otimização opcional, uma resposta temporária ("um momento, verificando...") pode ser exibida enquanto a moderação de entrada é concluída e o streaming a partir do token-1 é postergado. O comportamento de sinalização é configurável: recusar, sanitizar, encaminhar para revisão humana.

Failure modes

  • Input only. Não captura alucinações de saída (ataques de codificação das Lições 12-14 ignoram classificadores de entrada).
  • Output only. Permite que qualquer entrada chegue ao modelo; aumenta o custo; expõe o raciocínio interno ao atacante.
  • Custom only. Não é robusto entre diferentes categorias; expressões regulares são frágeis.

O padrão em camadas é o padrão recomendado. Prevenção dupla.

Azure deprecation

Azure Content Moderator: descontinuado em fevereiro de 2024, aposentado em fevereiro de 2027. Substituído pelo Azure AI Content Safety, que é baseado em LLM e se integra ao Azure OpenAI. A migração é um projeto de nível de campo de 2024-2027 para implantações do Azure.

Where this fits in Phase 18

A Lição 16 aborda as ferramentas de moderação no contexto de red-team. A Lição 29 aborda a moderação implantada. A Lição 30 encerra com as evidências atuais de capacidades de uso duplo.

Use It

code/main.py constrói um harness de moderação de três camadas: moderador de entrada (palavra-chave + pontuação de categoria), moderador de saída (mesmo classificador na saída), moderador personalizado (regras de domínio). Você pode enviar entradas e observar qual camada captura cada tipo de violação.

Ship It

Esta lição gera outputs/skill-moderation-stack.md. Dada uma implantação, ela recomenda uma configuração do stack de moderação: qual classificador na entrada, qual na saída, quais regras personalizadas e qual juiz usar para casos limítrofes.

Exercises

  1. Execute code/main.py. Teste uma entrada benigna, uma limítrofe e uma prejudicial em todas as três camadas. Relate qual camada foi acionada para cada uma.

  2. Estenda o harness com pontuação de toxicidade semelhante à da Perspective API em uma categoria específica. Compare seu comportamento de limiar com a pontuação da categoria.

  3. Leia os documentos da OpenAI Moderation API e a lista de categorias do Llama Guard 3. Mapeie cada categoria da OpenAI para as categorias correspondentes mais próximas do Llama Guard. Identifique três categorias que não se mapeiam diretamente.

  4. Projete um stack de moderação para uma implantação de assistente de código (por exemplo, GitHub Copilot). Identifique as categorias mais e menos relevantes e proponha regras personalizadas.

  5. O Azure Content Moderator será aposentado em fevereiro de 2027. Planeje uma migração para o Azure AI Content Safety. Identifique o elemento de maior risco na migração.

Key Terms

Term What people say What it actually means
OpenAI Moderation "omni-moderation-latest" Classificador de 13 categorias (texto) baseado em GPT-4o com suporte multimodal parcial
Perspective API "Google Jigsaw toxicity" Linha de base de pontuação de toxicidade da era pré-LLM
Llama Guard "MLCommons 14-category" Classificador de perigos da Meta (v3: 8B texto, 8 idiomas; v4: 12B multimodal)
Input moderation "pre-generation filter" Classificador no prompt do usuário antes da chamada do modelo
Output moderation "post-generation filter" Classificador na saída do modelo antes do envio
Custom moderation "domain rules" Regras específicas de implantação (regex, lista de permissão, política)
Layered moderation "all three layers" Padrão padrão de implantação em produção

Further Reading

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