Discourse AI - Triagem de IA

A triagem de IA foi projetada para aprimorar o gerenciamento e a moderação de postagens de fóruns, automatizando o processo de classificação de postagens.

Observe que este recurso requer os plugins discourse-automation e discourse-ai para funcionar.

Casos de Uso

  1. Categorização Automática de Postagens: A triagem de IA pode categorizar automaticamente tópicos com base em seu conteúdo. Isso é particularmente benéfico para fóruns grandes onde a categorização manual pode consumir muito tempo. Você pode aplicar as regras a um subconjunto de tópicos (apenas o primeiro tópico ou tópicos postados em categorias específicas)

  2. Marcação de Postagens: A triagem de IA pode atribuir tags especificadas a postagens. Este recurso auxilia na melhor organização de postagens e torna a busca e recuperação de tópicos mais eficientes.

  3. Respostas Automáticas: A triagem de IA pode gerar respostas para postagens usando respostas predefinidas. Isso é útil para responder a perguntas frequentes ou consultas comuns, enviar spam para categorias de lixo eletrônico e muito mais.

  4. Ocultar Tópicos: A triagem de IA pode ocultar tópicos com base em certos critérios. Isso pode ser usado para gerenciar spam ou conteúdo inadequado.

  5. Detecção de NSFW/Toxicidade/Spam

Como Funciona

A triagem de IA usa modelos de IA para analisar o conteúdo das postagens. Com base nessa análise, se o modelo retornar um texto específico, ele executa as ações especificadas. Essas ações incluem mover a postagem para uma categoria especificada, adicionar tags, responder com uma resposta predefinida e ocultar o tópico.





Configuração

:spiral_notepad: O campo de prompt do sistema foi descontinuado em favor de Personas. Se você tinha uma automação de IA antes desta alteração, uma nova Persona com o prompt do sistema associado será criada automaticamente.

Para configurar a triagem de IA, você precisa especificar certos parâmetros:

  • Persona: Persona associada à automação de IA.
  • Pesquisar por Texto: Se o texto a seguir aparecer na resposta do LLM, aplique as ações abaixo.
  • Categoria: Esta é a categoria para a qual a postagem será movida se o texto especificado for encontrado.
  • Tags: Estas são as tags que serão adicionadas à postagem se o texto especificado for encontrado.
  • Ocultar Tópico: Se esta opção estiver habilitada, o tópico será ocultado se o texto especificado for encontrado.
  • Marcar Postagem: Se isso estiver habilitado, o tópico será marcado para a fila de revisão para moderadores, equipe e administradores tomarem providências.
  • Tipo de Marcação: Opção para marcar a postagem marcada como spam e ocultá-la, ou enviá-la para a fila de revisão.
  • Usuário de Resposta: Este é o usuário que será mencionado na resposta pronta.
  • Resposta: Esta é a resposta predefinida que será postada se o texto especificado for encontrado.
  • Persona de Resposta: Persona de IA a ser usada para respostas. Deve ter um LLM padrão, será priorizado sobre a resposta pronta. Responderá condicionalmente, ao contrário do Discourse AI - AI Auto responder.
  • Responder como Sussurro: Se a resposta da persona deve aparecer como um sussurro.

Ressalvas

  • Chamadas de LLM podem ser caras. Ao aplicar um classificador, tome cuidado para monitorar os custos e sempre considere executar isso apenas em pequenos subconjuntos.
  • O caso de uso específico que testamos (e executamos em produção para um cliente) é a classificação dos primeiros tópicos de um usuário.
  • Recomendamos que você use AI bot para ajudar a criar o prompt do sistema.
37 curtidas
Setting up spam detection in your community
Setting up toxicity detection in your community
What's next for Toxicity detection in Discourse AI
It would be great to be able to assign personas created in Discourse AI to respond to the topic
How are we all feeling about ChatGPT and other LLMs and how they'll impact forums?
A Plug-In to convert Discourse Forum Discussions into Clear Proposal Revisions with Community-Sourced Justifications
Configuring automatic post review triggers
I Need a category link to take me to a tags page
How to Get Notified of Offensive Language in Personal Messages to Issue Warnings?
Weekly Summary of AI topics
Statistics on spam flags reported by AI triage automation
Tips for Preventing Spam
How do you use Discourse AI? Tell us and make it even better!
Discourse AI to make spam filter smarter?
Discourse AI - Spam detection
Site Management Index
'Watch' suspicious users
Where in Discourse can users publicly share PII?
Discourse AI - NSFW
How do you use Discourse AI? Tell us and make it even better!
What's your workflow for the annual EU DSA compliance?
Are you experiencing AI based spam?
Watched Words Reference Guide
Advice on a support bot for a technical support forum (Discourse AI vs Discourse Chatbot)
Discourse AI - Toxicity
AI integration for moderation
What’s next for NSFW detection in Discourse AI
What's next for Toxicity detection in Discourse AI
Discourse Chatbot :robot:
Discourse Chatbot :robot:
Testing automation rules
What’s next for NSFW detection in Discourse AI

Ser um dos sortudos a ver isso em ação é um recurso para sites grandes que você realmente deve entender e considerar usar.

Como funciona usando uma IA baseada em LLM, ela nem sempre chega à conclusão correta, mas acerta muito nos casos em que a vi sendo usada por alguns dias, fazendo parte do trabalho de um moderador, o que definitivamente foi um benefício significativo.

Algumas das primeiras discussões sobre isso estão na categoria Lounge no site da OpenAI. Embora o acesso a essa categoria possa ser obtido por qualquer pessoa, os requisitos do TL3 devem ser atendidos e, sendo a OpenAI um site grande, leva um esforço considerável para chegar ao TL3 no site.

Para aqueles com acesso, aqui está o link

https://community.openai.com/t/lost-users-first-empirical-data/403082/95


Basicamente, a lógica que está ajudando os moderadores para um problema específico é que estamos vendo cerca de 5% das postagens de novos usuários que pensam que o fórum é onde eles postam perguntas para o ChatGPT, claramente eles estão perdidos ou talvez um resultado de pesquisa esteja fornecendo um link inválido. A IA identifica tais postagens, responde com texto pré-escrito e altera a categoria e as tags conforme necessário, por exemplo.


Para o caso observado, aqui está o que a “Regra de Automação do Classificador de Postagens de IA do Discourse” está fazendo

Categorização Automática de Postagens
O classificador está alterando a categoria para ChatGPT conforme necessário. Como a maioria dos novos usuários não selecionará uma categoria, o site da OpenAI atualmente define a categoria API como padrão para novas postagens, o que está incorreto neste caso.

Marcação de Postagens
O classificador está alterando a(s) tag(s) para lost-user neste caso. O nome da tag foi criado por um usuário TL3 no fórum que estava alterando manualmente as tags.

Respostas Automáticas
O classificador está respondendo com uma postagem pré-escrita.

Ocultar Tópicos
Os tópicos estão sendo deslistados pois não eram de valor para os desenvolvedores que usam o site.

Usuário de Resposta
System está sendo usado como o criador da resposta.

Nota: Eu forneceria a Configuração para isso, mas não tenho acesso. Talvez @Sam possa adicionar os detalhes. Pelo que sei, pode ser tornada pública, pois nada é confidencial na configuração. Como é para um site específico, não esperaria encontrá-la no repositório público. Se você entende essa tecnologia, não é difícil adivinhar os valores corretos, ou próximos a eles. O System Prompt exigiu algum trabalho e talvez @sam possa compartilhar algumas das lições aprendidas, o conhecimento de como criar o prompt foi de grande valor durante a fase de desenvolvimento.

System Prompt

Nota: Esta é uma versão postada no OpenAI Lounge (ref), tenho certeza de que a versão final é diferente, mas um exemplo economiza muitas suposições.

Você é um bot que está triando todas as primeiras interações que um usuário tem no fórum de desenvolvedores da OpenAI.

Por favor, responda apenas com "ok" ou "bad"

Postagens estão no tópico e ok se:

Relacionam-se a APIs da OpenAI / Comunidade / Desenvolvimento de Plugins / Documentação / Prompting
São sobre o desenvolvimento ou aprimoramento de métodos para prompting de modelos de linguagem grandes
Relacionam-se à IA de forma geral
Envolvem discussões complexas ou problemas lógicos relacionados à IA
Postagens são ruins se:

Um usuário parece estar tendo uma conversa aleatória com o ChatGPT
Um usuário está fora do tópico discutindo um campo não relacionado
Um usuário está solicitando a um modelo de linguagem grande para gerar texto sem um propósito claro
Você tem extrema dificuldade em entender do que se trata
Relaciona-se a um tópico da OpenAI, MAS é claramente uma conversa com um bot
Um usuário está tentando treinar ou testar o modelo de IA através de sua postagem
Um usuário está fornecendo instruções ou solicitando respostas em um formato não de discussão
Um usuário está postando conteúdo que não é propício a discussões ou aprendizado significativos
Um usuário está postando conteúdo hipotético ou especulativo sem relação clara com o escopo da OpenAI
Um usuário está postando todo o conteúdo em um idioma que não seja o inglês
Por favor, classifique o seguinte conteúdo cercado por [[[]]]:

[[[
%%POST%%
]]]

FYI

Se você for um moderador em um site que usa isso e quiser/precisar ver uma lista de postagens deslistadas, lembre-se de que não pode usar a pesquisa. No entanto, você pode navegar até essa lista usando a categoria e selecionando as tags. Ou você também poderia criar a URL manualmente, por exemplo, https://community.openai.com/tags/c/chatgpt/19/lost-user


Sim, funciona até para idiomas diferentes do inglês

No entanto, não funciona com imagens :wink:, ele não converterá uma imagem em texto e, em seguida, executará a verificação, por exemplo.

Aqui está um falso positivo recente ou pelo menos eu acho que é.


Para detalhes sobre falsos/verdadeiros negativos/positivos - Classificação: Verdadeiro vs. Falso e Positivo vs. Negativo

17 curtidas

Um recurso possível.

Pelo menos para moderadores que revisam uma postagem, converta o texto para o idioma do moderador quando ele visualizar o tópico. Isso não implica apenas para uma sinalização, mas para qualquer visualização da postagem.


Às vezes, ao revisar as ações do Classificador de Postagens de IA do Discourse, há a necessidade de converter o texto da postagem para o meu idioma (inglês) para verificar se a IA tomou uma ação correta. Atualmente, é mais fácil para mim colar o texto no Google Tradutor.

4 curtidas

Vale notar e relacionado a esta missão secundária.

@keegan está trabalhando na integração de um assistente de IA em nosso menu pop-up. Assim, no futuro, em casos onde houver muito texto em um idioma desconhecido, você poderá simplesmente destacar o texto e clicar em traduzir.

Nós suportamos isso no composer hoje, mas assim que for mesclado, você poderá destacar texto em qualquer postagem do Discourse e obter uma tradução rápida baseada em LLM.

6 curtidas

Isso … muda o jogo para mim. Onde posso enviar cartões de agradecimento.

5 curtidas

Qual é um exemplo de como fazer isso referenciando as tags existentes que seu fórum possui hoje? por exemplo, o post é analisado pelo LLM e as tags mais prováveis/relevantes são adicionadas ao post.

3 curtidas

Eu adoro essa pergunta, você pode expandi-la por favor… como você gostaria de ver isso funcionar?

  • Você aplicaria a “marcação automática” se o tópico já tiver tags?
  • Você a aplicaria em todas as primeiras postagens ou apenas nas primeiras postagens de grupos específicos? (por exemplo, tl0 / tl1)
  • Isso é algo que você prefere executar manualmente em um subconjunto de tópicos?

Precisaremos fazer alguns ajustes aqui… no momento o classificador é binário, mas as mudanças são razoavelmente fáceis, desde que saibamos qual é o objetivo?

3 curtidas
  • Aplicar a todos os novos tópicos em uma categoria
  • Você certamente poderia ter a opção de variar por nível de confiança. Como tudo (e, neste caso, toda comunidade), depende. No caso da minha comunidade, eu provavelmente a manteria ativada para todos, exceto tl4 (ou apenas para todos, se essa configuração não for uma opção)
  • Eu preferiria que funcionasse em todos os novos tópicos em categorias especificadas

O objetivo aqui, é claro, é nunca ter que trabalhar na marcação de tópicos por conta própria e deixar a IA fazer isso inteiramente com base no tópico inicial que está sendo criado e olhando as tags existentes que temos agora.

Provavelmente poderia ser ainda mais aprimorado se você tivesse a capacidade de adicionar descrições às tags no Discourse e deixá-lo usar essas descrições para contexto adicional para adicionar as tags corretas :slight_smile:

6 curtidas

Em primeiro lugar, deixe-me afirmar que apoio totalmente essa capacidade e seu aprimoramento. O seguinte são apenas alguns fatos sobre como ela funciona atualmente (16/10/2023). Diariamente, como moderador de categoria na OpenAI, reviso todas as novas postagens, não todas as respostas, e vejo todos os falsos positivos e negativos da IA.

Como um dos que usam este recurso, o Classificador de Posts da IA do Discourse - Regra de Automação, esteja ciente de que:

  • não é 100% preciso
  • atualmente requer ação manual para desfazer se a IA cometeu um falso positivo. Dependendo da alteração, pode ser necessário um moderador de categoria ou superior; especificamente listando um tópico não listado.
  • pode deixar de identificar alguns tópicos, falso negativo
  • muitos usuários que receberão a resposta automatizada da IA não entendem como sinalizar a resposta da IA se for um falso positivo, eles terão que ser identificados e alterados manualmente. Portanto, precisará da ajuda de usuários reais para capturar esses casos.
  • entender como elaborar o prompt para que funcione conforme o necessário
  • poderia potencialmente precisar de ajuste fino e/ou agentes para chegar perto de um nível de satisfação desejado, o que pode se tornar caro
  • não há como rastrear falsos positivos e negativos para usar na compreensão de como alterar o prompt e/ou possível ajuste fino e/ou agentes

falso positivo - A IA não deveria ter feito uma alteração e fez, o que está incorreto.
falso negativo - A IA deveria ter feito uma alteração e não fez, o que está incorreto.
verdadeiro positivo - A IA fez uma alteração, o que está correto.
verdadeiro negativo - A IA não fez uma alteração, o que está correto.

4 curtidas

Um bom movimento inicial aqui é experimentar um prompt no modo criativo:

Algo como…

Você é um marcador automático do Discourse, você sugere uma lista de tags para o tópico.

As tags são:

tag1: descrição
tag2: descrição

Sugira até 3 tags para o seguinte tópico:

TÓPICO

Experimente isso em alguns dos seus tópicos, quão bem ele se sai?

8 curtidas

Funciona muito bem! Obrigado

3 curtidas

Atualização recente (11/01/2023)

O ID do usuário para o bot agora é gpt-4-triage, pelo menos no fórum da OpenAI.

Isso foi feito para que os usuários possam silenciar o bot conforme necessário.

image

Exemplo do bot respondendo.

2 curtidas

Observe que isso é configurável, você pode fazer com que a resposta automática venha de qualquer usuário que desejar.

5 curtidas

Então, dando seguimento depois de experimentar isso.

Parece que isto está nas fases iniciais, e estou animado para ver para onde vai, mas a abordagem de @jordan-violet é 100% o que estou a tentar alcançar. Tentei o prompt de teste que @sam sugeriu e pareceu inteligente o suficiente para aplicar as tags corretas em teoria. No entanto, parece que o script atual limita as tags aplicáveis a 7, e nós temos consideravelmente mais do que isso.

Resumindo? Seria ótimo se aplicasse semanticamente as tags existentes a um novo tópico. Em termos de gestão de fóruns (mesmo aqui no meta, tenho notado!), a aplicação consistente de tags para melhor organizar uma comunidade e o seu conteúdo continua a ser uma batalha árdua, e é puro caos em escala. Para aqueles de nós que dependem de tags, isto seria uma bênção, mesmo que fosse 75% preciso.

Manterei os meus olhos nesta questão à medida que se desenvolve!

2 curtidas

Isso é ótimo! Você tem alguma sugestão para depurar isso? Acabei de configurar uma automação que não foi acionada como esperado. Não vejo nenhum log relevante.

1 curtida

Hmmm, o que aconteceu aqui, você pode abrir um tópico dedicado?

Pelo que me lembro, eu não defini essa opção no início. Quando o fiz, começou a funcionar.

3 curtidas

Pergunta rápida. Há planos para exibir um log de auditoria para essas automações (talvez de forma semelhante ao padrão de webhook que vocês já têm)?

Isso ajudaria a aliviar a sensação assustadora de “o que você fez” que estou tendo depois que uma automação é ativada :sweat_smile:

O Ai log já armazena todas as interações de LLM. Você pode usá-lo hoje por meio de uma consulta no explorador de dados.

2 curtidas

Embora isso seja verdade, é bastante complicado vincular as entradas de log do tipo llm_triage a uma postagem/tópico que ela afeta, ou à ação que foi tomada (ou não) como resultado.

Ter uma visão geral dessas ações seria ótimo :slight_smile:

5 curtidas