0Pricing
AI Agents · Aula

Filtragem de saídas (Llama Guard, NeMo)

Execute um modelo de proteção menor sobre as saídas para detectar toxicidade, vazamentos de PII e violações de políticas antes da publicação.

Filtragem de saídas (Llama Guard, NeMo) é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.

Por que Filtrar as Saídas?

Mesmo com entradas seguras, os modelos podem produzir:

  • Vazamentos de dados pessoais
  • Discurso de ódio / assédio
  • Conteúdo de automutilação
  • Chamadas de ferramentas que violam a intenção do usuário

Um filtro de saída é sua última linha de defesa antes que o usuário veja qualquer coisa.

Llama Guard

Classificador de segurança da Meta — pesos abertos, muito rápido:

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

NeMo Guardrails

NVIDIA NeMo Guardrails — estrutura Python que envolve LLMs com verificações:

# 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 é a biblioteca Python focada em validação e proteções. Ela oferece “trilhos” baseados em XML e ciclos de reparo reAsk.

Classificador Constitucional da Anthropic

A Anthropic lançou um classificador (além do treinamento de segurança do Claude). É útil para a filtragem posterior de qualquer saída de modelo.

Filtro Baseado em LLM Personalizado

Caminho mais barato: um LLM menor que examina as saídas:

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 Expressões Regulares / Regras

Para padrões específicos, expressões regulares são rápidas e confiáveis:

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)}')

Ocultação de PII

Não bloqueie simplesmente — às vezes oculte dados e deixe o restante passar:

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

Filtro em Duas Camadas

Regras rápidas primeiro, LLM caro depois:

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

Transmissão de Saídas

Para saídas transmitidas, filtre SENTENCE-BY-SENTENCE:

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 vs Falsos Negativos

Ajuste o sistema para obter o equilíbrio correto:

  • Áreas de alto risco (médica, financeira): prefira falsos positivos (bloqueie mais)
  • Criatividade/entretenimento: prefira falsos negativos (bloqueie menos)

Os Registros do Filtro são Sensíveis

Os registros do filtro contêm o conteúdo bloqueado. Armazene-os com segurança e tempos de expiração curtos:

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

Oriente o Usuário

Ao bloquear, explique ao usuário o motivo para que ele não repita tentativas excessivamente:

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

print(handle_privacy_request())

Filtro em Múltiplas Camadas

Por que combinar expressões regulares com filtragem baseada em LLM?

Recapitulação

Llama Guard / NeMo / filtro LLM personalizado + regras de expressões regulares. Duas camadas. Oculte dados quando possível. Sempre informe ao usuário quando o conteúdo for bloqueado.

Perguntas Frequentes

A aula “Filtragem de saídas (Llama Guard, NeMo)” é grátis?

Sim — o texto completo de “Filtragem de saídas (Llama Guard, NeMo)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.

O que vou aprender em “Filtragem de saídas (Llama Guard, NeMo)”?

Execute um modelo de proteção menor sobre as saídas para detectar toxicidade, vazamentos de PII e violações de políticas antes da publicação. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AI Agents?

Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Filtragem de saídas (Llama Guard, NeMo)”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AI Agents?

Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Defesas contra injeção de prompt
  2. Filtragem de saídas (Llama Guard, NeMo)
  3. Execução em ambiente isolado para agentes de código
  4. Controle de acesso às ferramentas
← Voltar para AI Agents