Discourse AI - triage IA

Le triage par IA est conçu pour améliorer la gestion et la modération des publications de forum en automatisant le processus de classification des publications.

Veuillez noter que cette fonctionnalité nécessite les plugins discourse-automation et discourse-ai pour fonctionner.

Cas d’utilisation

  1. Catégorisation automatique des publications : Le triage par IA peut catégoriser automatiquement les sujets en fonction de leur contenu. Ceci est particulièrement bénéfique pour les grands forums où la catégorisation manuelle peut prendre beaucoup de temps. Vous pouvez appliquer les règles à un sous-ensemble de sujets (premier sujet uniquement ou sujets publiés dans des catégories particulières).

  2. Étiquetage des publications : Le triage par IA peut attribuer des étiquettes spécifiées aux publications. Cette fonctionnalité contribue à une meilleure organisation des publications et rend la recherche et la récupération des sujets plus efficaces.

  3. Réponses automatisées : Le triage par IA peut générer des réponses aux publications à l’aide de réponses prédéfinies. Ceci est utile pour répondre aux questions fréquemment posées ou aux requêtes courantes, envoyer du spam dans des catégories indésirables, et plus encore.

  4. Masquage des sujets : Le triage par IA peut masquer les sujets en fonction de certains critères. Ceci peut être utilisé pour gérer le spam ou le contenu inapproprié.

  5. Détection NSFW/Toxicité/Spam

Comment ça marche

Le triage par IA utilise des modèles d’IA pour analyser le contenu des publications. Sur la base de cette analyse, si le modèle renvoie un texte spécifique, il effectue les actions spécifiées. Ces actions incluent le déplacement de la publication vers une catégorie spécifiée, l’ajout d’étiquettes, la réponse avec une réponse prédéfinie et le masquage du sujet.





Configuration

:spiral_notepad: Le champ de l’invite système a été déprécié au profit des Personas. Si vous aviez une automatisation IA avant ce changement, une nouvelle Persona avec l’invite système associée sera automatiquement créée.

Pour configurer le triage par IA, vous devez spécifier certains paramètres :

  • Persona : Persona associée à l’automatisation IA.
  • Rechercher du texte : Si le texte suivant apparaît dans la réponse du LLM, appliquez les actions ci-dessous.
  • Catégorie : C’est la catégorie vers laquelle la publication sera déplacée si le texte spécifié est trouvé.
  • Étiquettes : Ce sont les étiquettes qui seront ajoutées à la publication si le texte spécifié est trouvé.
  • Masquer le sujet : Si cette option est activée, le sujet sera masqué si le texte spécifié est trouvé.
  • Signaler la publication : Si cette option est activée, le sujet sera signalé dans la file d’attente de révision pour que les modérateurs, le personnel et les administrateurs puissent agir.
  • Type de signalement : Option pour marquer la publication signalée comme spam et la masquer, ou l’envoyer à la file d’attente de révision.
  • Utilisateur de réponse : C’est l’utilisateur qui sera mentionné dans la réponse standard.
  • Réponse : C’est la réponse prédéfinie qui sera publiée si le texte spécifié est trouvé.
  • Persona de réponse : Persona IA à utiliser pour les réponses. Doit avoir un LLM par défaut, sera prioritaire sur la réponse standard. Répondra conditionnellement contrairement à Discourse AI - AI Auto responder.
  • Répondre en tant que murmure : Si la réponse de la persona doit apparaître comme un murmure.

Mises en garde

  • Les appels LLM peuvent être coûteux. Lorsque vous appliquez un classificateur, veillez à surveiller les coûts et envisagez toujours de ne l’exécuter que sur de petits sous-ensembles.
  • Le cas d’utilisation particulier que nous avons testé (et que nous utilisons en production pour un client) est la classification des premiers sujets d’un utilisateur.
  • Nous vous recommandons d’utiliser AI bot pour vous aider à rédiger l’invite système.
37 « J'aime »

En étant l’un des chanceux à voir cela en action, voici une fonctionnalité pour les grands sites que vous devriez vraiment comprendre et envisager d’utiliser.

Comme cela fonctionne à l’aide d’une IA basée sur un LLM, elle ne parvient pas toujours à la bonne conclusion, mais elle réussit tellement bien dans les cas où je l’ai vue utilisée pendant quelques jours pour faire une partie du travail d’un modérateur qu’elle a certainement été un avantage significatif.

Certaines des premières discussions à ce sujet se trouvent dans la catégorie Lounge sur le site d’OpenAI. Bien que l’accès à cette catégorie soit ouvert à tous, les exigences TL3 doivent être satisfaites et OpenAI étant un grand site, il faut beaucoup d’efforts pour atteindre TL3 sur le site.

Pour ceux qui ont accès, voici le lien
https://community.openai.com/t/lost-users-first-empirical-data/403082/95


Fondamentalement, la logique consiste à aider les modérateurs pour un problème spécifique : nous constatons qu’environ 5 % des publications d’utilisateurs nouveaux pensent que le forum est l’endroit où ils posent des questions à ChatGPT, ils sont clairement perdus ou peut-être qu’un résultat de recherche fournit un lien invalide. L’IA identifie ces publications, répond avec un texte préécrit et modifie la catégorie et les tags si nécessaire, par exemple


Dans le cas noté, voici ce que fait la “Règle d’automatisation du classificateur de publications Discourse AI”

Catégorisation automatisée des publications
Le classificateur modifie la catégorie en ChatGPT si nécessaire. Comme la plupart des nouveaux utilisateurs ne sélectionnent pas de catégorie, le site OpenAI attribue actuellement par défaut la catégorie API aux nouvelles publications, ce qui est incorrect dans ce cas.

Tagging des publications
Le classificateur modifie le(s) tag(s) en lost-user dans ce cas. Le nom du tag a été créé par un utilisateur TL3 sur le forum qui modifiait manuellement les tags.

Réponses automatisées
Le classificateur répond avec une publication préécrite.

Masquage des sujets
Les sujets sont non répertoriés car ils n’avaient pas de valeur pour les développeurs qui utilisent le site.

Utilisateur de réponse
System est utilisé comme créateur de la réponse.

Remarque : Je fournirais la Configuration pour cela, mais je manque d’accès. Peut-être que @Sam peut ajouter les détails. D’après ce que je sais, cela peut être rendu public car rien n’est confidentiel dans la configuration. Comme il s’agit d’un site spécifique, je ne m’attendrais pas à le trouver dans le dépôt public. Si vous comprenez cette technologie, il n’est pas difficile de deviner les bonnes valeurs, ou des valeurs proches. Le Prompt système a nécessité un certain travail et peut-être que @sam peut partager certaines leçons apprises, la connaissance de la façon de créer le prompt a été d’une grande valeur pendant la phase de développement.

Prompt système

Remarque : Ceci est une version publiée dans l’OpenAI Lounge (ref), je suis à peu près sûr que la version finale est différente, mais un exemple évite beaucoup de conjectures.

You are bot that is triaging all first interactions a user has on the OpenAI developer forum.

Please only ever respond with “ok” or “bad”

Posts are on topic and ok if:

They relate to OpenAI APIs / Community / Plugin development / Documentation / Prompting
They are about developing or improving methods for prompting large language models
They relate to AI in a general way
They involve complex discussions or logical problems related to AI
Posts are bad if:

A user appears to be having a random conversation with ChatGPT
A user is off topic discussing an unrelated field
A user is prompting a large language model to generate text without a clear purpose
You have extreme difficulty understanding what they are about
Relates to an OpenAI topic BUT is clearly a conversation with a bot
A user is attempting to train or test the AI model through their post
A user is giving instructions or asking for responses in a non-discussion format
A user is posting content that is not conducive to meaningful discussion or learning
A user is posting hypothetical or speculative content without clear relation to OpenAI’s scope
A user is posting the entire post in a language that is not English
Please classify the following content surrounded by [[[]]]:

[[[
%%POST%%
]]]

FYI

Si vous êtes modérateur sur un site utilisant cela et que vous souhaitez/avez besoin de voir une liste de publications non répertoriées, rappelez-vous que vous ne pouvez pas utiliser la recherche. Cependant, vous pouvez accéder à une telle liste en naviguant vers la catégorie, puis en sélectionnant les tags. Ou vous pourriez également créer l’URL manuellement, par exemple https://community.openai.com/tags/c/chatgpt/19/lost-user


Oui, cela fonctionne même pour les langues autres que l’anglais

Cependant, cela ne fonctionne pas avec les images :wink:, il ne convertira pas une image en texte puis n’exécutera pas la vérification, par exemple

Voici un faux positif récent ou du moins je pense qu’il l’est.


Pour les détails sur les faux/vrais négatifs/positifs - Classification : Vrai vs Faux et Positif vs Négatif

17 « J'aime »

Une fonctionnalité possible.

Au moins pour les modérateurs examinant un message, convertissez le texte dans la langue du modérateur lorsqu’il consulte le sujet. Ceci n’implique pas seulement pour un signalement, mais pour toute consultation du message.


Parfois, lors de l’examen des actions du classificateur de messages de Discourse AI, il est nécessaire de convertir le texte du message dans ma langue (anglais) pour vérifier si l’IA a pris une mesure correcte. Actuellement, il m’est plus facile de coller le texte dans Google Translate.

4 « J'aime »

Il convient de noter et cela est lié à cette quête secondaire.

@keegan travaille à l’intégration d’un assistant IA dans notre menu contextuel. Ainsi, à l’avenir, dans les cas où il y a beaucoup de texte dans une langue inconnue, vous pourrez simplement surligner le texte et cliquer sur traduire.

Nous prenons cela en charge dans le compositeur aujourd’hui, mais une fois fusionné, vous pourrez surligner du texte dans n’importe quel message Discourse et obtenir une traduction rapide basée sur un LLM.

6 « J'aime »

Cela… change la donne pour moi. Où puis-je envoyer des cartes de remerciement ?

5 « J'aime »

Quel est un exemple de la façon de faire cela en faisant référence aux étiquettes existantes de votre forum aujourd’hui ? par exemple, la publication est analysée par le LLM et les étiquettes les plus probables/pertinentes sont ajoutées à la publication.

3 « J'aime »

J’adore cette question, pouvez-vous développer… comment aimeriez-vous que cela fonctionne ?

  • Appliqueriez-vous le « marquage automatique » si le sujet a déjà des étiquettes ?
  • L’appliqueriez-vous sur tous les premiers messages ou seulement sur les premiers messages de groupes particuliers ? (par exemple, tl0 / tl1)
  • Est-ce quelque chose que vous préféreriez exécuter manuellement sur un sous-ensemble de sujets ?

Nous allons devoir faire quelques ajustements ici… pour le moment, le classificateur est binaire, mais les changements sont raisonnablement faciles tant que nous connaissons l’objectif ?

3 « J'aime »
  • Appliquer à tous les nouveaux sujets d’une catégorie
  • Vous pourriez certainement avoir la possibilité de varier selon le niveau de confiance. Comme tout (et dans ce cas, chaque communauté), cela dépend. Dans le cas de ma communauté, je le garderais probablement activé pour tout le monde sauf tl4 (ou tout le monde, si cette configuration n’est pas une option)
  • Je préférerais qu’il s’exécute sur tous les nouveaux sujets dans les catégories spécifiées

L’objectif ici, bien sûr, est de ne jamais avoir à travailler sur le marquage des sujets par nous-mêmes et de laisser l’IA le faire entièrement en fonction du sujet initial créé et de l’examen des balises existantes que nous avons maintenant.

Cela pourrait probablement être encore amélioré si vous aviez la possibilité d’ajouter des descriptions aux balises dans Discourse, et de le laisser utiliser ces descriptions pour un contexte supplémentaire afin d’ajouter les bonnes balises :slight_smile:

6 « J'aime »

Tout d’abord, permettez-moi de déclarer que je soutiens pleinement cette fonctionnalité et que je souhaite l’améliorer. Ce qui suit n’est que quelques faits sur son fonctionnement actuel (16/10/2023). Chaque jour, en tant que modérateur de catégorie sur OpenAI, j’examine tous les nouveaux messages, pas toutes les réponses, et je vois tous les faux positifs et faux négatifs de l’IA.

En tant qu’utilisateur de cette fonctionnalité, le classificateur de messages Discourse AI - règle d’automatisation, soyez conscient que :

  • elle n’est pas précise à 100 %
  • elle nécessite actuellement une action manuelle pour annuler si l’IA a fait un faux positif. Selon la modification, une action peut être nécessaire par un modérateur de catégorie ou supérieur ; répertorier spécifiquement un sujet non listé.
  • elle peut manquer certains sujets, faux négatif
  • comme de nombreux utilisateurs qui recevront la réponse automatisée de l’IA ne comprennent pas comment signaler la réponse de l’IA s’il s’agit d’un faux positif, ils devront être identifiés et modifiés manuellement. Il faudra donc l’aide de vrais utilisateurs pour les repérer.
  • comprendre comment formuler l’invite pour qu’elle fonctionne comme nécessaire
  • pourrait potentiellement nécessiter un réglage fin et/ou des agents pour s’approcher du niveau de satisfaction souhaité, ce qui pourrait devenir coûteux
  • aucun moyen de suivre les faux positifs et négatifs pour comprendre comment modifier l’invite et/ou un éventuel réglage fin et/ou des agents

faux positif - L’IA n’aurait pas dû apporter de modification et l’a fait, ce qui est incorrect.
faux négatif - L’IA aurait dû apporter une modification et ne l’a pas fait, ce qui est incorrect.
vrai positif - L’IA a apporté une modification, ce qui est correct.
vrai négatif - L’IA n’a pas apporté de modification, ce qui est correct.

4 « J'aime »

Une bonne première étape consiste à essayer une invite en mode créatif :

Quelque chose comme…

Vous êtes un générateur d’étiquettes automatique pour Discourse, vous suggérez une liste d’étiquettes pour un sujet.

Les étiquettes sont :

étiquette1 : description
étiquette2 : description

Suggérez jusqu’à 3 étiquettes pour le sujet suivant :

SUJET

Essayez ceci sur quelques-uns de vos sujets, comment s’en sort-il ?

8 « J'aime »

Fonctionne très bien ! Merci

3 « J'aime »

Mise à jour récente (11/01/2023)

L’identifiant utilisateur du bot est désormais gpt-4-triage, du moins sur le forum OpenAI.

Cela a été fait pour que les utilisateurs puissent faire taire le bot si nécessaire.

image

Exemple de réponse du bot.

2 « J'aime »

Notez que ceci est configurable, vous pouvez faire en sorte que la réponse automatique provienne de n’importe quel utilisateur de votre choix.

5 « J'aime »

Donc, pour faire suite après avoir essayé ceci.

Il semble que ce soit dans les premières étapes, et je suis impatient de voir où cela va, mais la vision de @jordan-violet est exactement ce que je cherche à accomplir. J’ai essayé l’invite de test que @sam a suggérée et elle semblait suffisamment intelligente pour appliquer les bonnes étiquettes en théorie. Cependant, il semble que le script actuel limite les étiquettes applicables à 7, et nous en avons considérablement plus que cela.

En bref ? Ce serait formidable si cela permettait d’appliquer sémantiquement les étiquettes existantes à un nouveau sujet. En termes de gestion de forum (même ici sur meta, je l’ai remarqué !), l’application cohérente des étiquettes pour mieux organiser une communauté et son contenu continue d’être une bataille difficile, et c’est le chaos pur à grande échelle. Pour ceux d’entre nous qui comptent sur les étiquettes, ce serait une aubaine, même si c’est précis à 75 %.

Je garderai un œil sur ce projet au fur et à mesure de son développement !

2 « J'aime »

C’est super ! Avez-vous des suggestions pour déboguer cela ? Je viens de configurer une automatisation qui ne s’est pas déclenchée comme prévu. Je ne vois aucun journal pertinent.

1 « J'aime »

Hmmm, que s’est-il passé ici, pouvez-vous ouvrir un sujet dédié ?

Si je me souviens bien, je n’avais pas défini cette option au début. Quand je l’ai fait, cela a commencé à fonctionner.

3 « J'aime »

Question rapide. Y a-t-il des projets pour afficher un journal d’audit pour ces automatisations (peut-être de manière similaire au modèle de webhook que vous avez déjà) ?

Cela aiderait à atténuer le sentiment effrayant de « qu’as-tu fait » que j’ai après l’activation d’une automatisation :sweat_smile:

Ai log enregistre déjà toutes les interactions llm. Vous pouvez y accéder dès aujourd’hui via une requête dans l’explorateur de données.

2 « J'aime »

Bien que cela soit vrai, il est plutôt difficile de lier les entrées de journal de type llm_triage à un message/sujet qu’elles affectent, ou à l’action qui a été entreprise (ou non) en conséquence.

Avoir un aperçu de ces actions serait formidable :slight_smile:

5 « J'aime »