Section courante

A propos

Section administrative du site

Configuration

La plupart de la configuration est effectuée à l'aide de fichiers de format de données JSON. La configuration peut également être définie à l'aide de variables d'environnement.

Configuration globale de Botpress

Il s'agit du fichier principal utilisé pour configurer le serveur Botpress. Il sera créé automatiquement lorsqu'il manquera. Les valeurs par défaut devraient être bonnes lors du lancement de Botpress.

Configuration du serveur HTTP

Par défaut, le projet Botpress démarrera un serveur HTTP sur localhost, en écoutant le port 3000. Si le port configuré est déjà utilisé, il choisira le prochain port disponible (3001, 3002,...). Vous pouvez les modifier se paramètre en éditant httpServer.host et httpServer.port.

Exposer votre robot sur Internet

Lorsque vous êtes prêt à exposer votre robot en externe, vous devrez modifier certains paramètres du serveur. Le serveur ne prend pas en charge les connexions HTTPS, vous devrez donc configurer un proxy inverse devant lui (par exemple : NGINX). Cette situation signifie que votre serveur écoutera toujours les connexions sur le port 3000, mais votre proxy inverse répondra aux requêtes sur le port 80. C'est également le proxy inverse gérant les connexions sécurisées si vous souhaitez accéder à votre bot en utilisant https. À ce stade, Botpress ne sait pas comment accéder au robot à partir du Web. Vous devrez modifier la configuration de httpServer.externalUrl. Définissez la variable de configuration sur le nom d'hôte complet, par exemple https://bot.gladir.com.

Changer l'URL de base de votre robot

Par défaut, Botpress est accessible à la racine de votre domaine (exemple : https://robot.gladir.com/). Il est possible de modifier cela afin de pouvoir le diffuser à partir d'une URL différente, par exemple https://robot.gladir.com/botpress/votrechemin/. Tout ce que vous avez à faire est de définir l'URL externe, soit dans la variable d'environnement (EXTERNAL_URL), soit via le fichier botpress.config.json. Le chemin sera automatiquement extrait de cette URL et sera utilisé comme chemin racine.

Configuration des journals de bord

Les journals de bord sont très utiles pour déboguer et comprendre ce qui se passe lorsque le bot ne se comporte pas comme prévu. Lorsque vous démarrez Botpress à partir du binaire (ou en utilisant l'image Docker), le bot est en mode débogage. Cela signifie que de nombreuses informations seront affichées dans la console pour comprendre ce qui se passe. Il existe 5 niveaux différents de journal de bord :

Niveau Description
Debug Affiche des informations très détaillées sur les opérations du robot.
Info Donne des informations générales ou utile.
Warn Message d'attention, signifie que quelque chose ne s'est pas déroulé comme prévu, mais que le robot a pu récupérer.
Error Une erreur doit être corrigée.
Critical Quelque chose empêche le robot ou le serveur de se comporter correctement. Dans ce niveau, le robot peut ne pas fonctionner du tout.

Modifier le niveau de détails du journal de bord

Il existe trois configurations différentes de niveaux de détails pour le journal de bord :

Niveau de détails Nom Description
0 Production Production : La console affichera les informations, avertissements, d'erreurs et journal de bord critiques. Dans la console de journal de bord du studio, les développeurs de robots verront les journals de bord de débogage de leur bot. Aucune trace de pile ne sera affichée dans la console.
1 Developer Développeur : Même chose que Production, mais la console inclura également des traces de pile.
2 Debug Débogage : Comprend tout de Production et eu Developer. Les journals de bord de débogage seront affichés dans la console principale.

Les traces de pile sont des informations supplémentaires utilisées par les développeurs pour identifier la source d'une erreur. Ils sont utiles lors du développement, mais en production, ils peuvent masquer des messages de journal importants.

Par défaut, Botpress utilise la configuration Debug. Lorsque vous exécutez Botpress en production BP_PRODUCTION=true ou avec le mode d'unité d'allocation CLUSTER_ENABLED=true, les journals de bord seront configurés comme Production. Vous pouvez configurer le niveau de détails en utilisant une variable d'environnement (VERBOSITY_LEVEL=0 pour la production) ou en utilisant la ligne de commande (exemple : -vv pour Debug).

Comment enregistrer les journals de bord sur le système de fichiers

Il est également possible d'envoyer la sortie du journal de bord vers un fichier dans un dossier spécifique. Pour y arriver, vous devez modifiez votre fichier botpress.config.json pour qu'il corresponde à ceci :

  1. {
  2.   /*... */
  3.   "logs": {
  4.      /* ... */
  5.      "fileOutput": {
  6.         "enabled": true,
  7.         "folder": "./", // Remplacez ceci par n'importe quel dossier, par défaut il sera dans le même dossier que l'exécutable
  8.         "maxFileSize": 10000 // Par défaut, la taille maximale du fichier sera maintenue sous 10 Mo
  9.      }
  10.   },
  11. }

Journal de bord avancée

Dans un environnement de production, vous souhaiterez peut-être conserver des journals de bords supplémentaires tels que la piste d'audit complète. Vous pouvez activer des journals de bord plus granulaires en utilisant la variable d'environnement DEBUG et en enregistrant ces journals de b ord supplémentaires dans un fichier séparé comme ceci :

# Système d'exploitation Linux et Mac OS X
# Ajouter la piste d'audit au fichier journal
DEBUG=bp:audit:* ./bp -p 2>> ./botpress.log

Activer ou désactiver les modules

Lorsque vous démarrez Botpress pour la première fois, les modules les plus populaires inclus avec le binaire seront ajoutés à votre fichier botpress.config.json. Si vous souhaitez désactiver ou activer des modules, vous pouvez le faire dans la page d'administration dorsale ou en modifiant la propriété modules dans botpress.config.json.

Si vous choisissez ce dernier, notez que la chaîne de caractères MODULE_ROOT est une chaîne de caractères spéciale étant remplacée lors de la lecture de votre fichier de configuration. Il représente l'emplacement du dossier modules sur votre disque dur; vous ne devriez pas avoir à le changer.

  1. {
  2.   /*...*/"modules": [
  3.     {// Lorsque vous ajoutez de nouveaux modules, vous devez définir leur emplacement et s'ils sont activés ou non.
  4.       "location": "MODULES_ROOT/analytics",
  5.       "enabled": true // Vous pouvez changer ceci en false pour désactiver le module.
  6.     },
  7.     {
  8.       "location": "MODULES_ROOT/basic-skills",
  9.       "enabled": true
  10.     }
  11. }

Configuration individuelle du robot

Chaque robot que vous créez aura son propre fichier de configuration. Il se trouve dans data/bots/BOT_ID/bot.config.json. La plupart des options disponibles peuvent être modifiées en cliquant sur le lien Config à côté du nom du robot dans le panneau d'administration, ou en accédant au panneau de configuration depuis le bot studio.

Configuration du module

Lorsque vous activez un module sur Botpress, il est disponible dans le monde entier, ce qui signifie que vous ne pouvez pas les désactiver ou les activer pour des robots spécifiques. Cependant, vous pouvez configurer chaque robot différemment. Chaque module a une configuration différente, ainsi, lorsque vous exécutez un module pour la première fois, la configuration par défaut sera créée dans data/global/config/MODULE_NAME.json. Si vous avez besoin d'une configuration spéciale pour votre robot, à partir de l'éditeur de code, vous pouvez cliquer avec le bouton droit sur n'importe quelle configuration globale, puis Duplicate to current bot. Vous pouvez également créer manuellement un dossier de configuration dans le dossier du robot, y copier le fichier de configuration : data/bots/BOT_ID/config/MODULE_NAME.json.

Variables d'environnement

La plupart de ces variables peuvent être définies dans le fichier de configuration data/global/botpress.config.json. La configuration de l'infrastructure (comme la base de données, le mode d'unité d'allocation,...) n'est pas disponible dans le fichier de configuration, car elle est requise avant le chargement de la configuration. Le projet Botpress prend en charge les fichiers .env, vous n'avez donc pas à les définir chaque fois que vous démarrez l'application. Enregistrez le fichier dans le même dossier que l'exécutable.

Commun

Variable d'environnement Description Par défaut
PORT Cette variable d'environnement permet de définit le port que Botpress écoutera. 3000
BP_HOST Cette variable d'environnement permet d'indiquer l'hôte pour vérifier les connexions entrantes. localhost
EXTERNAL_URL Cette variable d'environnement permet d'indiquer s'il s'agit de l'URL externe que les utilisateurs saisissent dans la barre d'adresse pour parler avec le robot. http://HOST:PORT
DATABASE_URL Cette variable d'environnement permet d'indiquer la chaîne de caractères de connexion complète pour se connecter à la base de données. Pour postgres, commencez par «postgres://» -
BP_PRODUCTION Cette variable d'environnement permet de définir Botpress en mode production. Cela a le même effet que de le démarrer avec -p. false
BPFS_STORAGE Cette variable d'environnement permet d'indiquer la destination d'entreposage utilisée par BPFS pour lire et écrire des fichiers (globaux et robots). disk
PRO_ENABLED Cette variable d'environnement permet d'activer la version pro de Botpress, la clef de licence sera requise. false
BP_LICENSE_KEY Cette variable d'environnement permet d'indiquer la clef de licence (peut également être spécifiée dans botpress.config.json). -
CLUSTER_ENABLED Cette variable d'environnement permet d'activer la prise en charge de plusieurs noeuds à l'aide de Redis. false
REDIS_URL Cette variable d'environnement permet d'indiquer la chaîne de caractères de connexion pour vous connecter à votre instance Redis. -
AUTO_MIGRATE Cette variable d'environnement permet d'indiquer les bots à migré automatiquement vers la version Botpress en cours d'exécution. -
DEBUG Cette variable d'environnement permet d'indiquer les espaces de noms à déboguage. -

Exécution et modules

Variable d'environnement Description Par défaut
VERBOSITY_LEVEL Cette variable d'environnement permet d'indiquer à Botpress d'être plus détaillés lors du traitement des demandes. Cette variable d'environnement a les mêmes effets que le paramètre -v.  
BP_DECISION_MIN_CONFIENCE Cette variable d'environnement permet de définir le seuil minimum requis pour que le moteur de décision Decision Engine élise une suggestion. 0.3
FAST_TEXT_VERBOSITY Cette variable d'environnement permet de définir le niveau de détails que FastText utilisera lors de l'entraînement des modèles. 0
FAST_TEXT_CLEANUP_MS Cette variable d'environnement permet d'indiquer que le modèle sera conservé en mémoire jusqu'à ce qu'il ne reçoive aucun message à traiter pendant cette durée. 60000
REVERSE_PROXY Cette variable d'environnement permet d'indiquer que lorsqu'il est activé, il utilise "x-forwarded-for" pour récupérer l'adresse IP de l'utilisateur au lieu de remoteAddress. false

Il est également possible d'utiliser des variables d'environnement pour remplacer la configuration du module. Le modèle est BP_MODULE_%MODULE_NAME%_%OPTION_PATH%, le tout en majuscules. Par exemple, pour définir l'option languageSources du module nlu, vous utiliseriez BP_MODULE_NLU_LANGUAGESOURCES. Vous pouvez lister les variables d'environnement disponibles pour chaque module en activant le drapeau «DEBUG=bp:configuration:modules:*».

Sécurité

Ces variables peuvent être utilisées pour désactiver certaines fonctionnalités sensibles destinées aux super administrateurs.

Variable d'environnement Description Par défaut
BP_CODE_EDITOR_DISABLE_ADVANCED Cette variable d'environnement permet d'indiquer que l'éditeur avancé ne dispose pas de certaines garanties et n'est destiné qu'aux utilisateurs expérimentés. Il peut être complètement désactivé à l'aide de cette variable d'environnement. false
BP_CODE_EDITOR_DISABLE_UPLOAD Cette variable d'environnement permet d'empêcher les utilisateurs de téléverser des fichiers lors de l'utilisation de l'éditeur avancé. false
BP_DISABLE_SERVER_CONFIG Cette variable d'environnement permet d'empêcher les super-administrateurs d'accéder à la page «Production Checklist» du panneau d'administration, car elle peut contenir des informations sensibles. false


Dernière mise à jour : Dimanche, le 13 septembre 2020