Como moderar e classificar textos em Python com a OpenAI Moderation
Neste post, vamos aprender como moderar e classificar textos em Python de forma prática e com poucas linhas de código.
Nos últimos anos, a moderação de conteúdo se tornou um desafio para plataformas digitais.
Vamos descobrir aqui o que é exatamente esta moderação e classificação de conteúdo, e também como é possível implementar uma ferramenta que faz isso de forma automática e simples!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para receber a planilha que usamos na aula no seu e-mail, preencha:
Como moderar e classificar textos em Python
O que é moderação de conteúdo?
Moderação de conteúdo é o processo de analisar, filtrar e controlar materiais publicados em plataformas digitais (como comentários, imagens e vídeos) para garantir que estejam de acordo com regras e políticas.
Ela pode ser feita manualmente por humanos ou automaticamente por IA, bloqueando ofensas, discurso de ódio, spam e outros conteúdos inadequados. Seu objetivo é manter ambientes online seguros, inclusivos e dentro da lei.
Redes sociais, e-commerces, fóruns e até sistemas internos de empresas precisam lidar diariamente com comentários ofensivos, discurso de ódio, assédio e outros tipos de conteúdo inadequado.
Fazer essa moderação manualmente é ineficiente, caro e emocionalmente desgastante para os moderadores humanos.
Felizmente, a Inteligência Artificial oferece soluções poderosas para automatizar esse processo, e neste guia, você vai aprender como implementar um sistema de moderação automática usando Python e a API da OpenAI.
Por que usar IA para moderação de conteúdo?
Antes de começarmos a ver o código, é importante entender por que, para além da velocidade, a moderação baseada em IA é tão valiosa:
- Escalabilidade
- Analisar milhares de comentários por segundo é impossível para humanos, mas trivial para um sistema automatizado.
- Consistência
- A IA não tem viés emocional. Ela aplica as mesmas regras para todos os usuários.
- Redução de Custos
- Empresas gastam milhões com equipes de moderação. Automatizar esse processo pode cortar custos drasticamente.
- Resposta em Tempo Real
- Bloquear conteúdo ofensivo antes que ele seja publicado evita danos à comunidade.
- Flexibilidade
- Você pode ajustar os critérios de moderação conforme as políticas da sua plataforma.
A OpenAI oferece uma API de Moderação poderosa e fácil de usar, que classifica textos (e até imagens) em categorias como ódio, assédio, violência e conteúdo sexual. Vamos ver como implementá-la!
Se você gosta deste tipo de conteúdo, onde aprendemos coisas simples utilizando Python e inteligência artificial, aprenda também a criar legendas automáticas com Python e OpenAI e a transcrever áudios com Python e o OpenAI Whisper.
Configurando o Ambiente
Pré-requisitos
- Python 3.8+
- Conta na OpenAI (para obter uma API Key)
- Bibliotecas
openaiepython-dotenv
Instalação
Execute no seu terminal:
pip install openai python-dotenvObtendo a Chave da API
- Acesse OpenAI API Keys.
- Crie uma nova chave (ela começa com
sk-). - Armazene-a com segurança! Nunca a compartilhe publicamente.
Configurando as Variáveis de Ambiente
Crie um arquivo .env no mesmo diretório do seu script:
OPENAI_API_KEY=sua-chave-aquiIsso evita que você exponha a chave no código.
Implementando a Moderação com Python
Vamos ao código! O exemplo abaixo mostra como detectar automaticamente se um texto é ofensivo.
Código Completo
from openai import OpenAI
from dotenv import load_dotenv
# Carrega a chave da API do arquivo .env
load_dotenv()
# Inicializa o cliente da OpenAI
cliente = OpenAI()
# Texto a ser moderado
texto = "O Lira é muito burro, não sabe nada de Python"
# Envia para a API de Moderação
resposta = cliente.moderations.create(
model="omni-moderation-latest", # Modelo que analisa texto e imagem
input=texto
)
# Extrai o resultado da moderação
moderacao = resposta.results[0]
# Verifica se o conteúdo foi sinalizado como ofensivo
print("Foi considerado ofensivo?", moderacao.flagged)
# Mostra as categorias detectadas
print("Categorias:", moderacao.categories.to_dict())Explicação passo a passo
- Carregamos a chave da API usando
python-dotenv(boa prática de segurança). - Criamos um cliente para interagir com a OpenAI.
- Enviamos o texto para a API de Moderação usando
omni-moderation-latest(que também funciona para imagens). - Analisamos a resposta:
moderacao.flagged→Truese o texto for ofensivo.moderacao.categories→ Mostra quais tipos de violação foram detectados.
Interpretando os Resultados
Quando executamos o código com o texto “O Lira é muito burro, não sabe nada de Python”, a resposta foi:
Foi considerado ofensivo? True
Categorias: {
'harassment': True,
'harassment/threatening': False,
'hate': False,
'hate/threatening': False,
'self-harm': False,
'sexual': False,
'sexual/minors': False,
'violence': False,
'violence/graphic': False
}O Que Isso Significa?
harassment: True→ A API identificou o texto como assédio (por conter insultos).- As outras categorias (
hate,violence, etc.) foram marcadas comoFalse, porque o texto não se encaixa nelas.
Isso permite ações personalizadas:
- Se for
harassment, você pode ocultar o comentário. - Se for
hate, pode banir o usuário. - Se for
self-harm, pode alertar um moderador humano.
Aplicações Práticas
1. Moderação em Redes Sociais
comentarios = ["Isso é ótimo!", "Você é um idiota!", "Vou te bater!"]
for comentario in comentarios:
resposta = cliente.moderations.create(input=comentario)
if resposta.results[0].flagged:
print(f"Comentário bloqueado: {comentario}")Saída:
Comentário bloqueado: Você é um idiota!
Comentário bloqueado: Vou te bater!2. Filtro de Reviews em E-commerce
reviews = [
"Produto excelente!",
"Que produto horrível, espero que a empresa queime!"
]
for review in reviews:
moderacao = cliente.moderations.create(input=review).results[0]
if moderacao.flagged:
print(f"Review removido (motivo: {moderacao.categories.to_dict()})")Saída:
Review removido (motivo: {'violence': True, ...})3. Chatbots com Filtro de Conteúdo
mensagem_do_usuario = "Seu sistema é uma merda!"
resposta = cliente.moderations.create(input=mensagem_do_usuario)
if resposta.results[0].flagged:
print("Desculpe, não toleramos linguagem ofensiva.")
else:
responder_chatbot()Vantagens do Modelo Omni-Moderation
A OpenAI oferece dois modelos para moderação:
text-moderation-latest(só texto) → Mais barato.omni-moderation-latest(texto + imagens) → Mais completo.
Qual escolher?
- Se só precisa moderar texto, use o primeiro.
- Se quer analisar imagens também, use o Omni.
Limitações e Boas Práticas
- Falsos positivos: Às vezes, a API pode marcar textos inofensivos. Sempre revise as regras.
- Contexto importa: Piadas e sarcasmo podem ser mal interpretados.
- Combine com moderação humana: Use IA para filtrar automaticamente e humanos para casos complexos.
O que aprendemos com esta aula?
Automatizar a moderação de conteúdo com Python e OpenAI é rápido, barato e eficiente.
Com poucas linhas de código, você pode:
✅ Filtrar discurso de ódio, assédio e ameaças.
✅ Proteger sua comunidade em tempo real.
✅ Reduzir custos com moderação manual.
Próximos passos:
- Teste com diferentes tipos de texto.
- Integre em um bot do Discord, WordPress ou sistema interno.
- Explore a documentação oficial para mais recursos.
E não esqueça de conferir nosso outros posts onde ensinamos muitas coisas que você pode fazer com Python, do básico ao avançado!
E se você quer aprender Python de forma completa e prática, com projetos aplicados e suporte especializado, conheça o Curso Python Impressionador. Ele vai te levar do zero até a criação de soluções avançadas que realmente geram resultado.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








