Gouvernance de l'IA + Automatisation : Orchestration des scripts de triage IA indépendants

Je construis des automatisations alimentées par l’IA à l’aide de scripts de triage IA indépendants (par exemple, vérification de spam, détermination de balises). Ceux-ci s’exécutent actuellement simultanément, ce qui est inefficace. Je dois les « chaîner » afin que, par exemple, le script de balisage ne s’exécute que si le script de spam ne signale pas le contenu.

Comment puis-je gouverner et orchestrer ces scripts pour un flux de travail plus logique ? Plus précisément, comment puis-je chaîner ces scripts conditionnellement ?

2 « J'aime »

Pouvez-vous décrire le flux complet que vous recherchez ? S’agirait-il de quelque chose que vous exécutez sur un serveur séparé ou souhaitez-vous que cela s’exécute dans Discourse ?

Les flux de travail d’IA sont quelque chose auquel nous réfléchissons beaucoup, la capacité de définir des chaînes est essentielle avec les flux de travail. Je suis tout à fait d’accord avec cela.

D’après ce que je vois, la plupart de mes cas d’utilisation peuvent être réalisés dans Discourse avec l’IA Triage et Automatisation, si l’on peut déclencher ensuite.

Voici un flux hypothétique où chaque étape enverrait le contenu du message et une invite au LLM :

  1. Vérifier si c’est du spam
  • Si c’est du spam, alors masquer et signaler
  1. Si ce n’est pas du spam, déterminer les produits discutés
  • Ajouter le(s) label(s) de produit
  1. Déterminer ensuite l’intention :
    ** Plainte
    ** Question
    ** Suggestion
    ** Partage d’informations
    ** Retour positif
  • Ajouter la balise d’intention
  1. Si l’intention est une « plainte », évaluer les problèmes sensibles : c’est-à-dire, contient des phrases sensibles (annuler, terrible, lent)
  • Si problème sensible, ajouter la balise « hot » et assigner à Sam
  1. Si l’intention est un « retour positif » et le produit « forfait de téléphonie sans fil », rédiger une invitation personnalisée au programme de parrainage et l’envoyer en MP.
2 « J'aime »

C’est génial et un cas d’utilisation très intéressant.

Les outils personnalisés prennent déjà en charge les scripts, nous avons donc un excellent moyen pour ce type de changement.

Je pense à Persona + utilisation forcée d’outils - ensuite, à partir de l’outil, nous pouvons exécuter le flux étant donné que nous avons déjà toute l’infrastructure pour le faire. Il suffit de donner aux outils personnalisés la capacité de déclencher d’autres appels LLM, ce qui est raisonnablement simple à ajouter.

Il est intéressant de noter que, étant donné que les outils personnalisés prennent en charge les appels REST, ils peuvent exécuter l’intégralité du flux (et utiliser simplement l’API REST de Discourse pour cela).

Je vais y réfléchir ce week-end et je vous répondrai la semaine prochaine pour vous dire comment je pense que nous pouvons y parvenir.

L’enchaînement d’automatisations est également une approche très intéressante ici, @j.jaffeux avez-vous réfléchi à ce problème ?

2 « J'aime »

Cela me rappelle la chaîne d’actions IFTT/Zapier, je pense que nous pourrions emprunter bon nombre de leurs éléments d’interface utilisateur/expérience utilisateur si nous construisons quelque chose comme ceci.

Salut @Cloud_spanner, j’essaie de comprendre cela et j’aimerais approfondir le flux réel ici. Peux-tu m’aider avec quelques réponses aux questions en cours de route ? 5.

  1. Quels messages doivent être analysés ?

    1. Chaque nouveau message sur le forum ?
    2. Chaque nouveau sujet - par exemple, le premier message - sur le forum ?
    3. Qu’en est-il des modifications ? Chaque modification doit-elle être analysée ? À quelle fréquence ? (anti-rebond de 10 minutes)
    4. Qu’en est-il des utilisateurs de haut niveau de confiance ? Les personnes qui ont déjà posté deux fois sur le forum ?
  2. Intention

    1. Cela devrait-il s’appliquer à TOUS les sujets ? À TOUS les messages ?
    2. Que se passe-t-il si une balise d’intention est déjà présente ?
    3. Un sujet peut-il avoir plus d’une intention (s’agit-il d’un groupe de balises ?)
  3. Si l’intention peut être manuelle, les éléments marqués manuellement doivent-ils également être analysés pour le « bouton sensible » ?

    1. Est-ce que hot est une balise invisible ou visible ?

En particulier, ce à quoi je pense ici, c’est :

  1. Le « workflow » contient-il des raccourcis, où des messages particuliers sautent des étapes et passent à la suivante ?
  2. Comment éviter les boucles de rétroaction et les cas limites ?
  1. Chaque nouveau sujet devrait déclencher un flux de travail de triage par IA. Les modifications peuvent être ignorées.

  2. Pour être clair, j’utilise l’intention pour illustrer le flux de travail, donc cela ne devrait pas être considéré comme un flux codé en dur. Le point que j’essaie de faire est qu’il n’y a aucune raison de déclencher le flux de travail « d’intention » si le premier flux de travail de triage le juge inutile. +1 au concept de flux de travail IFTTT.

L’intention et « hot » seraient des balises invisibles dans cet exemple, visibles uniquement par les modérateurs et les administrateurs.

Il devrait y avoir une seule balise d’intention par publication.

  1. Je pense que pour le bien du flux de travail, nous pouvons ignorer les publications marquées manuellement.

Oui.

Et si une balise privée était utilisée pour indiquer que le flux s’est exécuté pour ce sujet ? Et ensuite, il pourrait être ignoré pour toute exécution future.

Une autre réflexion que j’ai est qu’avec la capacité accrue de « raisonnement » des LLM + de grandes fenêtres de contexte, ne serait-il pas préférable de permettre des sorties structurées dans la fenêtre d’automatisation Discourse. La logique IFTTT pourrait alors être appliquée à une seule automatisation au lieu d’enchaîner plusieurs automatisations. Imaginez s’il y avait la possibilité d’avoir une automatisation, mais de nombreuses actions de « recherche de texte ».

2 « J'aime »

J’ai réfléchi à la manière de résoudre ce problème dans notre système actuel et une option très attrayante est de permettre un nouveau type d’automatisation :

triage_using_custom_tool

Nous avons déjà le système d’outils personnalisés :

Nous pouvons ensuite lui accorder quelques fonctions supplémentaires telles que llm.generate et topic.close, topic.tag, etc., qui pourraient être utilisées par l’outil pour effectuer ces types de flux de travail.

Un autre avantage est que vous pourriez même le tester, ce qui le rendrait plus facile à régler.

1 « J'aime »

Ça semble être une excellente idée. Je suis encore relativement nouveau dans l’écosystème Discourse, donc je vais examiner les Outils Personnalisés ainsi que la façon dont les demandes de fonctionnalités entrent en production.

2 « J'aime »

J’ai une bonne nouvelle, votre flux de travail est maintenant entièrement fonctionnel à l’aide d’outils personnalisés !

L’idée est que vous définiriez un seul outil personnalisé avec tous les paramètres :

is_spam, intent, hot, requires_invite

Ensuite, vous utiliseriez triage using persona pour appeler l’outil, et l’outil effectuerait toutes les actions (actuellement via l’API Discourse, mais nous pouvons en exposer davantage au fur et à mesure).

Un bon aperçu de la manière dont tout cela peut être assemblé est :

1 « J'aime »