For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal
Theme

Moderação

Identifique conteúdo nocivo em textos e imagens.

Use os modelos de moderação da OpenAI para detectar conteúdo nocivo em textos e imagens. Você pode classificar entradas de forma independente com o endpoint de moderação ou solicitar pontuações de moderação junto com uma resposta gerada. Use os resultados para aplicar a política do seu aplicativo. Por exemplo, você pode filtrar conteúdo, encaminhar uma solicitação para análise ou tomar medidas em relação a contas que enviam conteúdo sinalizado.

O modelo omni-moderation-latest aceita entradas de texto e imagem. Ele não classifica áudio. O uso do endpoint de moderação é gratuito, e cada arquivo de imagem pode ter até 20 MB.

Segurança infantil: Não envie à API de moderação nenhum conteúdo que você saiba ou suspeite ser material de abuso sexual infantil (CSAM). A API não foi projetada para detectar ou lidar com CSAM e não substitui medidas específicas de proteção infantil. Consulte nossas orientações sobre CSAM para saber como prevenir e detectar casos de CSAM, como responder a eles e como denunciá-los.

Escolha um fluxo de moderação

Fluxo de trabalho Quando usar
Moderar conteúdo gerado Seu aplicativo gera texto com a API Responses ou a API chat completions e precisa de sinais de moderação.
Classificar entradas de forma independente Seu aplicativo precisa classificar textos ou imagens sem gerar uma resposta do modelo.
Entender os resultados da moderação Seu aplicativo precisa interpretar sinalizações, categorias, pontuações ou tipos de entrada aos quais as pontuações se aplicam.
Consultar as categorias compatíveis Seu aplicativo precisa saber quais categorias de conteúdo nocivo se aplicam a textos, imagens ou ambos.

Moderar conteúdo gerado

Quando seu aplicativo precisar receber o texto gerado e as pontuações de moderação na mesma resposta, inclua um objeto moderation no nível superior da solicitação de geração. A API retorna as pontuações de moderação da entrada do modelo e da saída gerada sem exigir uma solicitação de moderação separada.

O modelo continua gerando texto normalmente. Analise os resultados da moderação antes de mostrar a saída ao usuário ou executar ações que dependam dela.

Defina moderation.model ao criar uma resposta:

Gerar uma resposta com pontuações de moderação
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input=[
        {
            "role": "user",
            "content": (
                "A user asks for instructions to make a harmful weapon. "
                "Draft a brief refusal and offer a safer alternative."
            ),
        }
    ],
    moderation={"model": "omni-moderation-latest"},
)

input_moderation = response.moderation.input
output_moderation = response.moderation.output
if input_moderation.type == "error":
    raise RuntimeError(input_moderation.message)
if output_moderation.type == "error":
    raise RuntimeError(output_moderation.message)

print(input_moderation.flagged)
print(output_moderation.flagged)

A API Responses retorna um objeto moderation_result para a entrada em response.moderation.input e um objeto moderation_result para a saída em response.moderation.output.

Os resultados de moderação que acompanham a resposta usam os mesmos campos de categoria que os resultados de uma solicitação de moderação separada. Comece por flagged para tomar uma decisão inicial. Depois, examine categories e category_scores para registrar eventos, encaminhar solicitações, manter trilhas de auditoria ou organizar filas de revisão humana. Mesmo uma recusa ou outra resposta que leve em conta a segurança pode ser sinalizada se abordar conteúdo nocivo. Use as pontuações de moderação como sinais para aplicar a política do seu aplicativo. Uma pontuação, por si só, não deve determinar o bloqueio automático do conteúdo.

Se o aplicativo precisar lidar com falhas de moderação, verifique o tipo de resultado antes de ler as pontuações. Se uma etapa de moderação não puder ser concluída, o campo de moderação correspondente à entrada ou à saída poderá conter um erro em vez das pontuações.

Em solicitações com chamadas de ferramentas, a moderação abrange os argumentos das chamadas e as saídas das ferramentas quando aparecem no conteúdo da conversa. Ela não abrange nomes, descrições ou schemas das ferramentas, nem schemas de formato de resposta.

Se você transmitir uma resposta gerada por streaming, as pontuações de moderação chegarão depois que toda a saída gerada estiver disponível. Os trechos parciais da saída não incluem essas pontuações.

Classificar entradas de forma independente

Use o endpoint de moderação para classificar entradas de texto ou imagem sem gerar uma resposta do modelo. As abas abaixo mostram como usar as bibliotecas da OpenAI e o modelo omni-moderation-latest:

Obter informações sobre a classificação de uma entrada de texto
from openai import OpenAI

client = OpenAI()

response = client.moderations.create(
    model="omni-moderation-latest",
    input="...text to classify goes here...",
)

print(response)

Entender os resultados da moderação

O exemplo abaixo mostra a saída completa para uma imagem de um único quadro de um filme de guerra. O modelo identifica indícios de violência na imagem e atribui à categoria violence uma pontuação superior a 0,8.

{
  "id": "modr-970d409ef3bef3b70c73d8232df86e7d",
  "model": "omni-moderation-latest",
  "results": [
    {
      "flagged": true,
      "categories": {
        "sexual": false,
        "sexual/minors": false,
        "harassment": false,
        "harassment/threatening": false,
        "hate": false,
        "hate/threatening": false,
        "illicit": false,
        "illicit/violent": false,
        "self-harm": false,
        "self-harm/intent": false,
        "self-harm/instructions": false,
        "violence": true,
        "violence/graphic": false
      },
      "category_scores": {
        "sexual": 2.34135824776394e-7,
        "sexual/minors": 1.6346470245419304e-7,
        "harassment": 0.0011643905680426018,
        "harassment/threatening": 0.0022121340080906377,
        "hate": 3.1999824407395835e-7,
        "hate/threatening": 2.4923252458203563e-7,
        "illicit": 0.0005227032493135171,
        "illicit/violent": 3.682979260160596e-7,
        "self-harm": 0.0011175734280627694,
        "self-harm/intent": 0.0006264858507989037,
        "self-harm/instructions": 7.368592981140821e-8,
        "violence": 0.8599265510337075,
        "violence/graphic": 0.37701736389561064
      },
      "category_applied_input_types": {
        "sexual": ["image"],
        "sexual/minors": [],
        "harassment": [],
        "harassment/threatening": [],
        "hate": [],
        "hate/threatening": [],
        "illicit": [],
        "illicit/violent": [],
        "self-harm": ["image"],
        "self-harm/intent": ["image"],
        "self-harm/instructions": ["image"],
        "violence": ["image"],
        "violence/graphic": ["image"]
      }
    }
  ]
}

A resposta JSON inclui campos que indicam quais categorias estão presentes na entrada e o grau de confiança do modelo em cada classificação.

Campo de saídaDescrição
flagged

O valor é true se o modelo classificar o conteúdo como potencialmente nocivo e false caso contrário.

categories

Contém um dicionário que indica se houve violação em cada categoria. O valor é true se o modelo sinalizar uma violação na categoria correspondente e false caso contrário.

category_scores

Contém um dicionário de pontuações por categoria. Cada pontuação indica o grau de confiança do modelo de que a entrada contém conteúdo daquela categoria. O valor varia de 0 a 1. Quanto maior o valor, maior a confiança.

category_applied_input_types

Contém os tipos de entrada aos quais se aplica a pontuação de cada categoria. Por exemplo, se a categoria violence/graphic se aplicar tanto a imagens quanto a textos, o valor da propriedade violence/graphic será ["image", "text"].

Planejamos atualizar continuamente o modelo usado pelo endpoint de moderação. Por isso, pode ser necessário recalibrar, ao longo do tempo, as políticas personalizadas que dependem de category_scores.

Consultar as categorias compatíveis

A tabela abaixo descreve as categorias de conteúdo que o endpoint de moderação consegue detectar e os tipos de entrada compatíveis com cada uma.

As categorias marcadas como “Somente texto” não aceitam entradas de imagem. Se você enviar apenas imagens, sem texto, ao modelo omni-moderation-latest, ele retornará uma pontuação de 0 para essas categorias. Cada arquivo de imagem pode ter até 20 MB.

CategoriaDescriçãoEntradas
harassment

Conteúdo que usa linguagem de assédio contra qualquer alvo ou que incita ou promove o uso dessa linguagem.

Somente texto
harassment/threatening

Conteúdo de assédio que também envolve violência ou danos graves contra qualquer alvo.

Somente texto
hate

Conteúdo que expressa, incita ou promove ódio com base em raça, gênero, etnia, religião, nacionalidade, orientação sexual, deficiência ou casta. O modelo classifica como assédio o conteúdo de ódio dirigido a grupos não protegidos, como jogadores de xadrez.

Somente texto
hate/threatening

Conteúdo de ódio que também envolve violência ou danos graves contra um grupo por motivos de raça, gênero, etnia, religião, nacionalidade, orientação sexual, deficiência ou casta.

Somente texto
illicit

Conteúdo que dá orientações ou instruções sobre como cometer atos ilícitos. Uma frase como “como furtar produtos de uma loja” se enquadraria nessa categoria.

Somente texto
illicit/violent

Os mesmos tipos de conteúdo sinalizados na categoria illicit, quando também há referências à violência ou à obtenção de uma arma.

Somente texto
self-harm

Conteúdo que promove, incentiva ou retrata comportamentos autolesivos, como suicídio, cortes autoinfligidos e comportamentos associados a transtornos alimentares.

Texto e imagens
self-harm/intent

Conteúdo em que a pessoa afirma que pratica ou pretende praticar atos autolesivos, como suicídio, cortes autoinfligidos e comportamentos associados a transtornos alimentares.

Texto e imagens
self-harm/instructions

Conteúdo que incentiva atos autolesivos, como suicídio, cortes autoinfligidos e comportamentos associados a transtornos alimentares, ou que dá instruções ou orientações sobre como praticá-los.

Texto e imagens
sexual

Conteúdo destinado a provocar excitação sexual, como a descrição de atividades sexuais, ou que promove serviços sexuais. Educação sexual e bem-estar sexual ficam fora dessa categoria.

Texto e imagens
sexual/minors

Conteúdo sexual que envolve uma pessoa menor de 18 anos.

Somente texto
violenceConteúdo que retrata morte, violência ou lesões físicas.Texto e imagens
violence/graphic

Conteúdo que retrata morte, violência ou lesões físicas em detalhes explícitos.

Texto e imagens