Moderação de conteúdo
A moderação de conteúdo é um aspecto crítico para manter um ambiente seguro, respeitoso e produtivo em aplicações digitais. Neste guia, discutiremos como o Claude pode ser usado para moderar conteúdo dentro da sua aplicação digital.
Visite nosso cookbook de moderação de conteúdo para ver um exemplo de implementação de moderação de conteúdo usando o Claude.
Antes de construir com o Claude
Decida se deve usar o Claude para moderação de conteúdo
Aqui estão alguns indicadores-chave de que você deve usar um LLM como o Claude em vez de uma abordagem tradicional de ML ou baseada em regras para moderação de conteúdo:
Gere exemplos de conteúdo para moderar
Antes de desenvolver uma solução de moderação de conteúdo, primeiro crie exemplos de conteúdo que deve ser sinalizado e conteúdo que não deve ser sinalizado. Certifique-se de incluir casos extremos e cenários desafiadores que podem ser difíceis para um sistema de moderação de conteúdo lidar efetivamente. Depois, revise seus exemplos para criar uma lista bem definida de categorias de moderação. Por exemplo, os exemplos gerados por uma plataforma de mídia social podem incluir o seguinte:
Moderar efetivamente esses exemplos requer uma compreensão nuançada da linguagem. No comentário, Este filme foi ótimo, eu realmente gostei. O ator principal arrasou!
, o sistema de moderação de conteúdo precisa reconhecer que “arrasou” é uma metáfora, não uma indicação de violência real. Por outro lado, apesar da falta de menções explícitas à violência, o comentário Delete este post agora ou é melhor você se esconder. Estou indo atrás de você e sua família.
deve ser sinalizado pelo sistema de moderação de conteúdo.
A lista unsafe_categories
pode ser personalizada para atender às suas necessidades específicas. Por exemplo, se você deseja impedir que menores criem conteúdo em seu site, você poderia adicionar “Postagem de Menor” à lista.
Como moderar conteúdo usando o Claude
Selecione o modelo Claude correto
Ao selecionar um modelo, é importante considerar o tamanho dos seus dados. Se os custos são uma preocupação, um modelo menor como o Claude 3 Haiku é uma excelente escolha devido à sua relação custo-benefício. Abaixo está uma estimativa do custo para moderar texto para uma plataforma de mídia social que recebe um bilhão de posts por mês:
-
Tamanho do conteúdo
- Posts por mês: 1bn
- Caracteres por post: 100
- Total de caracteres: 100bn
-
Tokens estimados
- Tokens de entrada: 28,6bn (assumindo 1 token por 3,5 caracteres)
- Porcentagem de mensagens sinalizadas: 3%
- Tokens de saída por mensagem sinalizada: 50
- Total de tokens de saída: 1,5bn
-
Custo estimado do Claude 3 Haiku
- Custo de tokens de entrada: 2.860 MTok * 715
- Custo de tokens de saída: 1.500 MTok * 1.875
- Custo mensal: 1.875 = $2.590
-
Custo estimado do Claude 3.7 Sonnet
- Custo de tokens de entrada: 2.860 MTok * 8.580
- Custo de tokens de saída: 1.500 MTok * 22.500
- Custo mensal: 22.500 = $31.080
explanation
da resposta.Construa um prompt forte
Para usar o Claude para moderação de conteúdo, o Claude deve entender os requisitos de moderação da sua aplicação. Vamos começar escrevendo um prompt que permite definir suas necessidades de moderação:
Neste exemplo, a função moderate_message
contém um prompt de avaliação que inclui as categorias de conteúdo inseguro e a mensagem que desejamos avaliar. O prompt pede ao Claude para avaliar se a mensagem deve ser moderada, com base nas categorias inseguras que definimos.
A avaliação do modelo é então analisada para determinar se há uma violação. Se houver uma violação, o Claude também retorna uma lista de categorias violadas, bem como uma explicação sobre por que a mensagem é insegura.
Avalie seu prompt
Moderação de conteúdo é um problema de classificação. Assim, você pode usar as mesmas técnicas descritas em nosso cookbook de classificação para determinar a precisão do seu sistema de moderação de conteúdo.
Uma consideração adicional é que, em vez de tratar a moderação de conteúdo como um problema de classificação binária, você pode criar múltiplas categorias para representar vários níveis de risco. Criar múltiplos níveis de risco permite ajustar a agressividade da sua moderação. Por exemplo, você pode querer bloquear automaticamente consultas de usuários consideradas de alto risco, enquanto usuários com muitas consultas de risco médio são sinalizados para revisão humana.
Este código implementa uma função assess_risk_level
que usa o Claude para avaliar o nível de risco de uma mensagem. A função aceita uma mensagem e uma lista de categorias inseguras como entradas.
Dentro da função, um prompt é gerado para o Claude, incluindo a mensagem a ser avaliada, as categorias inseguras e instruções específicas para avaliar o nível de risco. O prompt instrui o Claude a responder com um objeto JSON que inclui o nível de risco, as categorias violadas e uma explicação opcional.
Esta abordagem permite moderação de conteúdo flexível atribuindo níveis de risco. Ela pode ser perfeitamente integrada a um sistema maior para automatizar a filtragem de conteúdo ou sinalizar comentários para revisão humana com base em seu nível de risco avaliado. Por exemplo, ao executar este código, o comentário Delete este post agora ou é melhor você se esconder. Estou indo atrás de você e sua família.
é identificado como alto risco devido à sua ameaça perigosa. Por outro lado, o comentário Fique longe dos celulares 5G!! Eles estão usando 5G para controlar você.
é categorizado como risco médio.
Implante seu prompt
Uma vez que você esteja confiante na qualidade da sua solução, é hora de implantá-la em produção. Aqui estão algumas melhores práticas a seguir ao usar moderação de conteúdo em produção:
-
Forneça feedback claro aos usuários: Quando a entrada do usuário é bloqueada ou uma resposta é sinalizada devido à moderação de conteúdo, forneça feedback informativo e construtivo para ajudar os usuários a entender por que sua mensagem foi sinalizada e como eles podem reformulá-la apropriadamente. Nos exemplos de código acima, isso é feito através da tag
explanation
na resposta do Claude. -
Analise o conteúdo moderado: Mantenha um registro dos tipos de conteúdo sendo sinalizados pelo seu sistema de moderação para identificar tendências e potenciais áreas para melhoria.
-
Avalie e melhore continuamente: Avalie regularmente o desempenho do seu sistema de moderação de conteúdo usando métricas como rastreamento de precisão e recall. Use esses dados para refinar iterativamente seus prompts de moderação, palavras-chave e critérios de avaliação.
Melhore o desempenho
Em cenários complexos, pode ser útil considerar estratégias adicionais para melhorar o desempenho além das técnicas padrão de engenharia de prompt. Aqui estão algumas estratégias avançadas:
Defina tópicos e forneça exemplos
Além de listar as categorias inseguras no prompt, outras melhorias podem ser feitas fornecendo definições e frases relacionadas a cada categoria.
A função moderate_message_with_definitions
expande a função anterior moderate_message
permitindo que cada categoria insegura seja pareada com uma definição detalhada. Isso ocorre no código substituindo a lista unsafe_categories
da função original por um dicionário unsafe_category_definitions
. Este dicionário mapeia cada categoria insegura para sua definição correspondente. Tanto os nomes das categorias quanto suas definições são incluídos no prompt.
Notavelmente, a definição para a categoria Conselhos Especializados
agora especifica os tipos de conselhos financeiros que devem ser proibidos. Como resultado, o comentário É um ótimo momento para investir em ouro!
, que anteriormente passou pela avaliação moderate_message
, agora aciona uma violação.
Considere processamento em lote
Para reduzir custos em situações onde a moderação em tempo real não é necessária, considere moderar mensagens em lotes. Inclua múltiplas mensagens dentro do contexto do prompt e peça ao Claude para avaliar quais mensagens devem ser moderadas.
Neste exemplo, a função batch_moderate_messages
lida com a moderação de um lote inteiro de mensagens com uma única chamada à API do Claude.
Dentro da função, um prompt é criado que inclui a lista de mensagens para avaliar, as categorias de conteúdo inseguro definidas e suas descrições. O prompt direciona o Claude a retornar um objeto JSON listando todas as mensagens que contêm violações. Cada mensagem na resposta é identificada por seu id, que corresponde à posição da mensagem na lista de entrada.
Tenha em mente que encontrar o tamanho ideal de lote para suas necessidades específicas pode requerer alguma experimentação. Embora tamanhos de lote maiores possam reduzir custos, eles também podem levar a uma ligeira diminuição na qualidade. Além disso, você pode precisar aumentar o parâmetro max_tokens
na chamada da API do Claude para acomodar respostas mais longas. Para detalhes sobre o número máximo de tokens que seu modelo escolhido pode gerar, consulte a página de comparação de modelos.