Bot AI - Outils personnalisés

:bookmark: 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.

:person_raising_hand: 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 :

  1. Accédez au panneau d’administration > Plugins > Discourse AI > Outils
  2. Cliquez sur « Nouvel outil » (vous pouvez utiliser des préréglages existants pour découvrir les options)
  3. 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
  4. Cliquez sur « Enregistrer »

Configuration des scripts d’outils

API disponibles

Vos scripts d’outils ont accès aux API suivantes :

  1. Requêtes HTTP :

    http.get(url, options)
    http.post(url, options)
    

    Utilisez-les pour interagir avec des services externes. Vous pouvez utiliser options pour 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: ...})
    
  2. 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.

  3. Intégration de téléchargement personnalisé (RAG)

    index.search(query, { filenames: options, limit: max_fragments_optional })
    
  4. Support de création de téléchargement

    upload.create(filename, base_64_content)
    
  5. 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 :

  1. Accédez au panneau d’administration > Plugins > Discourse AI > Personas
  2. Modifiez un persona existant ou créez-en un nouveau
  3. Dans la section « Outils », vous verrez vos outils personnalisés listés aux côtés des outils intégrés
  4. 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 :

  1. Utilisez l’interface de test pour vous assurer qu’il se comporte comme prévu pour vos entrées.
  2. 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.
  3. Si quelque chose d’inattendu se produit, visitez https://SITENAME/logs pour vérifier les erreurs.

Ressources supplémentaires

14 « J'aime »