Ce guide explique comment créer, configurer et intégrer des outils d’IA personnalisés dans le plugin Discourse AI, permettant aux administrateurs d’étendre les capacités du bot avec des fonctions JavaScript définies par l’utilisateur.
Niveau d’utilisateur requis : Administrateur
Les outils sont des fonctionnalités programmables qui peuvent être utilisées par le bot d’IA pour effectuer des tâches spécifiques ou récupérer des informations au-delà des simples réponses textuelles. Ces outils sont des scripts ou des intégrations qui permettent au bot d’interagir avec des API externes, de manipuler des données ou d’exécuter des fonctions supplémentaires pour étendre ses capacités.
Résumé
Cette documentation couvre :
- Création d’un nouvel outil d’IA personnalisé
- Configuration des paramètres et des scripts d’outils
- API disponibles pour les scripts d’outils
- Intégration d’outils personnalisés avec des personas d’IA
- Test et dépannages des outils personnalisés
Création d’un nouvel outil d’IA personnalisé
Pour créer un nouvel outil d’IA :
- Accédez au panneau d’administration > Plugins > Discourse AI > Outils
- Cliquez sur « Nouvel outil » (vous pouvez utiliser des préréglages existants pour découvrir les options)
- Remplissez les champs suivants :
- Nom : Le nom de l’outil tel qu’il est présenté au LLM
- Description : La description de l’outil telle qu’elle est présentée au LLM
- Résumé : Résumé de ce que fait l’outil pour aider les utilisateurs (affiché dans les détails)
- Paramètres : Définissez les entrées dont votre outil a besoin, telles qu’elles sont présentées au LLM
- Script : Le code JavaScript qui alimente votre outil
- Cliquez sur « Enregistrer »
Configuration des scripts d’outils
API disponibles
Vos scripts d’outils ont accès aux API suivantes :
-
Requêtes HTTP :
http.get(url, options) http.post(url, options)Utilisez-les pour interagir avec des services externes. Vous pouvez utiliser
optionspour spécifier les en-têtes HTTP :http.get(url, { headers: { Auth: "some value" } }) http.post(url, { headers: { Auth: "some value", body: "some body" } }) http.patch(url, { headers: { Auth: "some value", body: "some body" } }) http.delete(url, { headers: ...}) http.put(url, { headers: ... , body: ...}) -
Intégration LLM (modèle linguistique) :
llm.truncate(text, length)Cela vous permet de manipuler le texte dans les limites de jetons du modèle d’IA.
-
Intégration de téléchargement personnalisé (RAG)
index.search(query, { filenames: options, limit: max_fragments_optional }) -
Support de création de téléchargement
upload.create(filename, base_64_content) -
Contrôle de la chaîne d’exécution
chain.setCustomRaw(raw) - définit le corps de la publication dans la chaîne.
Fonctions requises
Votre script doit implémenter :
invoke(params): La fonction principale qui s’exécute lorsque l’outil est appelédetails(): (Facultatif) Fournit des informations supplémentaires sur l’exécution de l’outil
Exemple de script :
function invoke(params) {
let result = http.get("https://api.example.com/data?query=" + params.query);
return JSON.parse(result.body);
}
function details() {
return "Fetched data from Example API";
}
Limitations et sécurité
- Délai d’exécution : Les outils ont un délai d’exécution par défaut de 2 secondes
- Requêtes HTTP : Maximum de 20 requêtes par exécution d’outil
- Environnement sandboxé : Pas d’accès au système de fichiers du serveur ni aux bibliothèques Ruby
Test de votre outil
Vous devriez tester tout outil que vous créez pour vous assurer que les résultats fournis au LLM correspondent à vos attentes.
Intégration des outils aux personas d’IA
Pour ajouter votre outil personnalisé à un persona d’IA :
- Accédez au panneau d’administration > Plugins > Discourse AI > Personas
- Modifiez un persona existant ou créez-en un nouveau
- Dans la section « Outils », vous verrez vos outils personnalisés listés aux côtés des outils intégrés
- Sélectionnez votre outil personnalisé pour l’ajouter au persona
Outils personnalisés en action
Une fois que vous avez fourni l’outil personnalisé à votre LLM, celui-ci peut l’utiliser pour améliorer la conversation.
Dépannage
Si votre outil ne fonctionne pas comme prévu :
- Utilisez l’interface de test pour vous assurer qu’il se comporte comme prévu pour vos entrées.
- Assurez-vous que votre groupe est dans
ai_bot_debugging_allowed_groups. Les membres de ce groupe ont un accès complet aux transcriptions du bot ; vous pouvez y consulter les journaux de l’IA. - Si quelque chose d’inattendu se produit, visitez
https://SITENAME/logspour vérifier les erreurs.





