Le script \"Triage posts using AI\" du plugin \"Automation\" inclut toujours les données d'image dans la requête

Priorité/Sévérité :

Moyenne

Plateforme :

Discourse b66fca70d0e3d12ef930398289fac5269cd240c7

Description :

Le plugin officiel Automation dispose d’un script “Triage posts using AI”. Ce script fournit le contenu d’un message au LLM, puis exécute des actions de tri configurables en fonction du résultat.

Afin de maintenir l’utilisation du LLM dans les limites des crédits alloués par le plan d’hébergement Discourse (lors de l’utilisation du LLM hébergé par CDCK) ou dans les limites du budget lors de l’utilisation d’un fournisseur LLM tiers, il est important de gérer le nombre de jetons requis pour chaque requête. Le script “Triage posts using AI” propose un paramètre “Max Post Tokens” qui permet de définir une limite sur la quantité de contenu du message incluse dans la requête.

:bug: Si le message contient des images jointes, la grande quantité de données d’image est toujours incluse dans la requête, même si cela dépasse la limite de jetons de message définie pour l’automatisation via le paramètre “Max Post Tokens”.

Cela se produit même lorsque l’option “Vision enabled” est désactivée dans la configuration de la personne AI utilisée par l’automatisation.

Cela entraîne une dépense de jetons incontrôlable.

Dans de nombreux cas d’utilisation, seules les données textuelles du message sont pertinentes, auquel cas les données d’image qui gonflent l’utilisation des jetons n’ont aucune valeur.

Étapes reproductibles :

  1. Si vous ne disposez pas déjà d’une personne AI personnalisée appropriée, créez-en une.
  2. Désactivez l’option “Vision enabled” dans les paramètres de la personne.
  3. Si ce n’est pas déjà fait, activez le plugin “Automation” intégré.
  4. Accédez à la page “Automations” du plugin (/admin/plugins/automation/automation).
  5. Cliquez sur le bouton “+ Add automation”.
    La page “Select a script” s’ouvrira.
  6. Sélectionnez le script “Triage posts using AI”.
    La page de configuration de l’automatisation s’ouvrira.
  7. Configurez l’automatisation comme requis pour un test simple. Il n’est pas nécessaire que l’automatisation entraîne l’exécution d’actions, seulement qu’elle génère des requêtes LLM.
  8. Sélectionnez la personne AI que vous avez créée à l’étape 1 dans le menu Script options > Persona de la configuration de l’automatisation.
  9. Définissez le paramètre Script options > Max Post Tokens sur 20 dans la configuration de l’automatisation.
  10. Cliquez sur le bouton “Update automation” en bas de la page de configuration de l’automatisation.
    Vous serez renvoyé à la page “Automations”.
  11. Réglez l’interrupteur “Enable automation” de l’automatisation nouvellement créée sur la position “on”.
  12. Rédigez un message ou un message privé qui déclenchera l’automatisation. Ajoutez une image au message.
  13. Publiez le message ou le message privé.
  14. Accédez à la page d’administration du plugin “Data Explorer” (/admin/plugins/explorer).
  15. Cliquez sur le bouton “+” sur la page.
    Un champ “Query name…” apparaîtra.
  16. Tapez Get AI Audit Logs dans le champ “Query name…”.
  17. Cliquez sur le bouton “+ Create New”.
    Une nouvelle requête Data Explorer sera créée.
  18. Cliquez sur le bouton “Edit”.
    Le champ d’édition du code de requête s’ouvrira.
  19. Remplacez le contenu du code de requête par défaut par ce qui suit :
    SELECT request_tokens, raw_request_payload
    FROM ai_api_audit_logs
    WHERE feature_name = 'llm_triage'
    
  20. Cliquez sur le bouton « Run ».
    :bug: La valeur du champ request_tokens affichée dans le résultat de requête de l’Explorateur de données pour la requête générée par l’automatisation après avoir été déclenchée par votre publication dépasse largement le nombre qui serait attendu pour être utilisé par l’« invite système » de la configuration de la persona IA et la limite maximale de 20 jetons de contexte de texte de publication imposée par la configuration de l’automatisation.
  21. Cliquez sur le bouton ●●● à droite de la valeur du champ raw_request_payload dans le résultat de requête de l’Explorateur de données.
    Une boîte de dialogue s’ouvrira, affichant la valeur complète du champ.

:bug: Les données de l’image jointe à la publication ont été incluses via une clé messages[*].image_url dans les données de la requête.

Exemple :

{
  "model": "Qwen/Qwen3-VL-30B-A3B-Instruct",
  "max_tokens": 16384,
  "messages": [
    {
      "role": "system",
      "content": "Vous recevrez un extrait de texte, et votre tâche sera de détecter la langue locale de ce texte"
1 « J'aime »

Merci pour le signalement @per1234 :+1:

Ceci sera corrigé par

2 « J'aime »

Ce sujet a été automatiquement fermé après 2 jours. Les nouvelles réponses ne sont plus autorisées.