Bot d'IA - Agents

:bookmark: Ce guide explique comment configurer et gérer les Agents pour Discourse AI - Bot IA.

:person_raising_hand: Niveau d’utilisateur requis : Administrateur

Le bot IA de Discourse comprend un système flexible pour la gestion des Agents. Ce guide couvre :

  • Méthodes d’interaction pour les Agents IA
  • Options de configuration
  • Paramètres avancés
  • Outils supportés
  • Possibilités de personnalisation

:link: Apprenez-en davantage sur le bot IA et comment l’activer dans ce guide.

Que sont les agents ?

Les Agents sont une fonctionnalité puissante qui vous permet de personnaliser le comportement du moteur d’IA sur votre forum Discourse. Ils agissent comme un « message système » qui guide les réponses et les interactions de l’IA, contribuant à créer une expérience utilisateur plus personnalisée et engageante.

Pourquoi utiliser des agents ?

Avec les agents, vous pouvez adapter le comportement de l’IA pour mieux correspondre au contexte et au ton de votre forum. Que vous souhaitiez que l’IA soit plus formelle pour un cadre professionnel, plus décontractée pour un forum communautaire, ou même qu’elle incarne un personnage spécifique pour un jeu de rôle, les agents vous donnent la flexibilité de le faire.

Accès aux agents spécifique à un groupe

De plus, vous pouvez configurer les choses de telle sorte que certains groupes d’utilisateurs aient accès à des agents spécifiques. Cela signifie que vous pouvez avoir différents comportements d’IA pour différentes sections de votre forum, améliorant ainsi encore la diversité et la richesse des interactions de votre communauté.

Interaction avec les Agents

On peut interagir avec les Agents de plusieurs manières :

  1. Message privé (MP)
  2. Message direct de discussion (DM)
  3. Mentions dans les canaux de discussion
  4. Mention dans un sujet public via @nom_utilisateur_bot_exemple

Les administrateurs peuvent contrôler quelles méthodes d’interaction sont autorisées pour chaque agent via quatre bascules séparées :

  • Autoriser les messages privés : Permettre aux utilisateurs de démarrer des MP avec cet agent (activé par défaut)
  • Autoriser les mentions dans les sujets : Autoriser les @mentions dans les sujets pour déclencher une réponse
  • Autoriser les messages directs de discussion : Autoriser les DM de discussion avec cet agent (nécessite le plugin de discussion)
  • Autoriser les mentions dans les canaux de discussion : Autoriser les @mentions dans les canaux de discussion (nécessite le plugin de discussion)

Configuration

Pour configurer les Agents, naviguez vers discourse.example.com/admin/plugins/discourse-ai/ai-agents.

Les principales options de configuration incluent :

  • Prompt système : Oriente la conversation
  • Support de la vision : Activer pour les LLM basés sur la Vision, c’est-à-dire GPT-4 Turbo, Claude 3
  • Modèle par défaut : Requis pour les agents mentionnables et les agents avec le LLM par défaut forcé activé
  • Groupes autorisés : Définir les permissions en utilisant la sécurité des groupes Discourse
  • Téléversements : Indexer les fichiers texte pour des connaissances supplémentaires (en utilisant RAG - Génération Augmentée par Récupération)
  • Outils activés : Contrôler l’accès à des outils spécifiques
  • Mode d’exécution : Choisir entre le mode « par défaut » et le mode « agentique » (le mode agentique permet l’utilisation d’outils multi-tours avec des limites de jetons et une compression configurables)

Voici un aperçu d’un écran de configuration complet d’un agent IA :

Options de configuration avancées

L’éditeur d’agent offre plusieurs options avancées :

  • Température et top_p (échantillonnage par noyau) : Contrôler la créativité par rapport à la prévisibilité
  • Nombre max de messages dans le contexte : Limiter le nombre de messages fournis au LLM pour l’historique - moins de messages réduira les coûts, mais fera “oublier” à l’IA le contenu plus ancien (non disponible en mode agentique)
  • Mode d’exécution : « Par défaut » pour les réponses en passage unique, « Agentique » pour l’utilisation d’outils en plusieurs étapes avec :
    • Nombre max de jetons par tour : Budget de jetons pour l’exécution agentique
    • Seuil de compression : Seuil en pourcentage pour la compression du contexte (20-99%)
  • Afficher la réflexion : Afficher le processus de raisonnement de l’IA aux utilisateurs (activé par défaut)
  • Nécessite approbation : Nécessiter une approbation humaine avant que certaines actions ne soient exécutées
  • Forcer le LLM par défaut : Empêcher les utilisateurs de changer les LLM pour cet agent
  • Format de réponse : Configurer le format de sortie structuré
  • Exemples : Exemples de quelques tirs (few-shot) pour guider le comportement de l’IA (paires de messages utilisateur/assistant)
  • Options de téléversement :
    • Jetons de segment : Contrôler la division des documents
    • Chevauchement de segment de jetons : Définir le chevauchement entre les segments
    • Segments de conversation à rechercher : Nombre de fragments de document ajoutés aux requêtes utilisateur
    • LLM de consolidation des questions : Choisir le LLM pour déterminer les questions de l’utilisateur
    • Modèle LLM RAG : Choisir un LLM spécifique pour le traitement RAG

Prérequis pour le support des téléversements

Pour utiliser le support des téléversements :

  1. Activer le paramètre ai_embeddings_enabled
  2. Configurer un modèle d’intégration via ai_embeddings_selected_model

Discourse AI prend en charge divers modèles d’intégration. Les clients hébergés bénéficient d’un accès gratuit au modèle bge-large-en.

:information_source: Les auto-hébergeurs ou ceux qui souhaitent plus de choix peuvent auto-héberger un modèle d’intégration ou utiliser des modèles d’Open AI, Google (Gemini), et plus encore.

Division de texte dans Discourse AI

Discourse utilise un Séparateur de Texte Récursif par Caractère pour conserver les paragraphes, les lignes et les mots ensemble lors de la division du texte. Vous pouvez contrôler la division du texte à l’aide du séparateur [[metadata VOTRE METADONNÉE ICI]] :

[[metadata à propos des chats]]
une longue histoire à propos des chats
[[metadata à propos des chiens]]
une longue histoire à propos des chiens

Cette méthode empêche la « contamination des segments » en assurant que seules les données pertinentes sont incluses dans chaque segment.

Débogage des agents IA

Pour déboguer votre agent :

  1. Ajoutez des utilisateurs au groupe spécifié dans le paramètre ai_bot_debugging_allowed_groups
  2. Les utilisateurs de ce groupe verront un bouton de débogage IA en bas des publications de l’IA
  3. Cliquez sur le bouton pour accéder à la modale de l’interface utilisateur de débogage

:warning: Rappelez-vous : Si vous fournissez des informations vagues ou inutiles à un LLM, il aura beaucoup de mal à les convertir en informations utiles.

Outils supportés

Discourse AI prend en charge divers outils, notamment :

Toujours disponibles

  • Catégories
  • Heure
  • Recherche
  • Lire
  • Schéma de base de données
  • Paramètres de recherche
  • Contexte du paramètre
  • Sélecteur aléatoire
  • Navigateur Web
  • Rechercher Meta Discourse
  • Évaluateur JavaScript
  • Chercheur
  • Signaler une publication
  • Fermer le sujet
  • Retirer le sujet de la liste
  • Verrouiller la publication
  • Supprimer le sujet
  • Modifier la publication
  • Modifier la catégorie
  • Définir un minuteur de sujet
  • Définir le mode lent
  • Déplacer des publications
  • Accorder un badge

Intégration GitHub

  • Contenu de fichier GitHub
  • Diff de demande de tirage GitHub
  • Rechercher des fichiers GitHub

Ces trois outils sont toujours disponibles. De plus :

  • Recherche de code GitHub nécessite que le paramètre ai_bot_github_access_token soit rempli

Outils conditionnels

  • Tags et Modifier les tags : Disponibles lorsque l’étiquetage est activé sur votre site
  • Génération d’images (Image, Créer une image, Modifier une image) : Nécessite la configuration d’un outil personnalisé de génération d’images via l’interface d’administration
  • Recherche Google : Nécessite que les paramètres ai_google_custom_search_api_key et ai_google_custom_search_cx soient remplis
  • Artefacts (Créer un artefact, Mettre à jour un artefact, Lire un artefact) : Disponibles lorsque ai_artifact_security est défini sur lax, hybrid, ou strict
  • Assigner : Disponible lorsque le plugin Assign est installé
  • Marquer comme résolu : Disponible lorsque le plugin Solved est installé

Certains outils nécessitent une configuration supplémentaire ou des clés API.

Support des outils personnalisés

Vous pouvez créer vos propres outils en utilisant le support des outils personnalisés.

Personnalisation des agents système

  1. Créer un nouvel agent
  2. Copier et coller le prompt système de l’agent que vous souhaitez personnaliser
  3. Modifier selon les besoins
  4. Optionnellement, désactiver l’agent système original pour éviter la duplication

Personnalisation de la recherche

Pour personnaliser la recherche pour un nouvel agent :

  1. Créer un nouvel agent
  2. Ajouter l’outil « recherche »
  3. Configurer les options de recherche, y compris :

Ceci vous permet de déléguer les permissions de recherche, d’augmenter le nombre de résultats, ou de restreindre la recherche à des sections spécifiques de votre site.

7 « J'aime »

Un message a été divisé en un nouveau sujet : Puis-je fournir une fonction de génération d’images à Discourse AI

Que fait exactement l’outil Lire ?

De plus, les mentions dans les publications sont actuellement cassées selon ce rapport de bug.

En bref, cela permet au LLM de lire les sujets et les publications sur votre forum.

1 « J'aime »

Essentiellement, il lit un sujet/post lorsqu’une URL, un nom ou un ID est donné et sinon, ou toujours, il utilise des intégrations et le quoi, quand, pourquoi et comment dépend du modèle lui-même, de l’incitation, etc. ?

2 « J'aime »

Oh désolé, je répondais à un autre message :slight_smile:

Il utilise l’ID du sujet ou l’ID du sujet + le numéro du message pour trouver le markdown brut d’un sujet/message avec quelques protections pour la longueur maximale.

Ne dépend pas de l’intégration.

5 « J'aime »

Un peu hors sujet, mais comme je n’ai rien à demander et que vous allez nettoyer ces sujets de temps en temps, je m’en fiche.

Les titres automatiques dans les MP avec l’IA sont maintenant dans la bonne langue. Ce n’est pas grand-chose, mais sa valeur psychologique est grande. Merci !

4 « J'aime »

Y a-t-il un moyen d’ajouter des utilisateurs Bot à un groupe ? Je veux essentiellement ajouter un avatar flair à ces utilisateurs, mais lorsqu’ils sont ajoutés à un groupe, ils n’apparaissent pas.

Ils n’apparaissent pas, mais sont toujours là. Vous pouvez en être sûr en essayant d’ajouter une personne IA une seconde fois. Ou vous voyez le groupe nécessaire dans les paramètres de ces pseudo-utilisateurs.

1 « J'aime »

Quelle partie du dépôt Discourse AI dois-je consulter si je veux savoir précisément comment fonctionnent les outils du bot IA ?

Outil, Playground et Bot sont tous de bons points de départ.

Voir cet exemple : Understanding Tools in Discourse AI System - AI Conversation - Discourse Meta

3 « J'aime »

Exactement la réponse que je cherchais — merci, cher monsieur ! Pour quiconque cela pourrait concerner : je recommande de lire le code de ce dépôt pour mieux orienter vos invites pour les outils de votre persona.

1 « J'aime »

Une publication a été divisée en un nouveau sujet : Ingénierie d’une persona pour s’appuyer sur l’historique de discussion

J’essaie actuellement de récupérer tous les messages d’un sujet via l’outil « Lire », mais il ne fournit qu’un maximum de 100 messages au modèle LLM. J’ai déjà défini « Max messages » sur 999 dans les paramètres de persona, mais le problème persiste.

Y a-t-il une limitation de requête API côté serveur qui pourrait causer le problème ?

@sam une idée de la cause ?

Je n’ai pas vérifié la base de code, mais je soupçonne qu’il pourrait s’agir d’une limite stricte définie dans le code lui-même. Puis-je vous demander ce que vous essayez d’accomplir avec ceci ? C’est un facteur clé ici.

Et peut-être serait-il préférable d’utiliser le persona de chercheur du forum ?

Nous avons la catégorie « journal/log » qui contient souvent plusieurs centaines de publications où le propriétaire du sujet rend compte de l’avancement de son projet sur une période de 4 à 5 mois.

Mon objectif est de récupérer toutes les publications de ce sujet, de les filtrer par auteur = propriétaire du sujet et de créer un résumé.

1 « J'aime »

Vous devez utiliser le chercheur de forum pour cela, c’est le cas d’utilisation exact pour le persona

2 « J'aime »

@sam J’adorerais, mais actuellement il ne prend pas en charge les images. Est-ce quelque chose qui est prévu ou pas une priorité pour le moment ?

3 « J'aime »

Bien sûr, je peux ajouter cela, ce n’est pas un changement trop important.

3 « J'aime »