Файл: ai_chatbot.md
¶
description: Documentation et FAQ - Chatbot IA auto-hébergé - Les informations les plus utiles dans la section Informations du site HOSTKEY¶
Chatbot IA auto-hébergé¶
Dans cet article
- Fonctionnalités clés
- Fonctionnalités de déploiement
- Premiers pas après le déploiement du Chatbot IA
- Écran initial d'OpenWebUI
- Configuration de votre espace de travail OpenWebUI
- Ajout et suppression de modèles
- Ajout de documents à la base de connaissances (RAG)
- Conseils pour travailler avec RAG dans OpenWebUI
- Mise à jour du Chatbot
- Réinitialisation du mot de passe administrateur et réinitialisation complète des paramètres dans OpenWebUI
- Articles pratiques et conseils
- Tutoriel vidéo
- Commande d'un serveur avec Chatbot IA via l'API
Information
Le Chatbot IA auto-hébergé constitue une solution localisée, amalgamant de nombreux composants open-source. Le noyau de ce système est Ollama - un cadre architectural conçu pour lancer et gérer des modèles de langage de grande échelle (LLM) sur des ressources informatiques locales. Il facilite le téléchargement et le déploiement de LLM sélectionnés. Pour une interaction transparente avec le modèle déployé, Open Web UI utilise une interface graphique ; cette application web permet aux utilisateurs d'envoyer des requêtes textuelles et de recevoir des réponses générées par les modèles de langage. L'intégration de ces composants engendre une solution entièrement autonome et localisée pour le déploiement de modèles de langage de pointe avec des bases de code open-source, tout en maintenant un contrôle total sur l'intégrité des données et les performances du système.
Fonctionnalités clés¶
- Interface Web : Open Web UI fournit une interface web intuitive qui centralise le contrôle et étend les capacités d'interaction avec les modèles de langage IA locaux du référentiel Ollama, simplifiant considérablement l'utilisation des modèles pour les utilisateurs de tous niveaux de compétence.
- Intégration avec de nombreux modèles de langage : Ollama donne accès à une multitude de modèles de langage gratuits, fournissant ainsi des capacités améliorées de traitement du langage naturel (NLP) à votre disposition. De plus, vous pouvez intégrer vos modèles personnalisés.
- Tâches : Les utilisateurs peuvent engager des conversations, obtenir des réponses à des questions, analyser des ensembles de données, effectuer des traductions et développer leurs propres chatbots ou applications alimentées par l'IA avec l'aide des LLM.
- Code Open Source : Ollama est un projet open-source, permettant aux utilisateurs d'adapter et de modifier la plateforme selon leurs besoins spécifiques.
- Web Scraper et recherche de documents internes (RAG) : Via OpenWebUI, vous pouvez rechercher dans divers types de documents tels que des fichiers texte, des PDF, des présentations PowerPoint, des sites web et des vidéos YouTube.
Remarque
Pour plus d'informations sur les paramètres principaux d'Ollama et la documentation d'Open WebUI, consultez la documentation développeur Ollama et la documentation Open WebUI.
Fonctionnalités de déploiement¶
| ID | Nom du logiciel | Système d'exploitation compatible | VM | BM | VGPU | GPU | Min CPU (Cœurs) | Min RAM (Go) | Min HDD/SSD (Go) | Domaine personnalisé | Actif |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 117 | AI Chatbot | Ubuntu 22.04 | + | + | + | + | 4 | 16 | - | Non | COMMANDER |
- Le temps d'installation combiné du système d'exploitation et du serveur se situe entre 15 et 30 minutes.
- Le serveur Ollama télécharge et lance le LLM en mémoire, rationalisant les processus de déploiement.
- Open WebUI fonctionne comme une application web qui se connecte au serveur Ollama.
- Les utilisateurs interagissent avec LLaMA 3 via l'interface web d'Open WebUI en envoyant des requêtes pour recevoir des réponses.
- Tous les calculs et le traitement des données sont exécutés localement sur le serveur, garantissant la confidentialité et le contrôle du flux d'informations. Les administrateurs système ont la flexibilité de personnaliser le LLM pour des tâches spécifiques grâce aux fonctionnalités fournies dans OpenWebUI.
- Les exigences système stipulent un minimum de 16 Go de RAM pour assurer des performances optimales.
Une fois le processus d'installation terminé, les utilisateurs doivent accéder à leur serveur en naviguant via l'URL : https://ollama<Server_ID_from_Invapi>.hostkey.in.
Remarque
Sauf indication contraire, par défaut, nous installons la dernière version de release du logiciel depuis le site du développeur ou les dépôts du système d'exploitation.
Premiers pas après le déploiement du Chatbot IA¶
Après le paiement de la commande, vous recevrez une notification par e-mail concernant la disponibilité du serveur pour le travail. Elle inclura l'adresse IP du VPS ainsi que le nom d'utilisateur et le mot de passe pour se connecter au serveur via SSH. Les clients de notre entreprise gèrent l'équipement via le panneau de contrôle du serveur et l'API — Invapi.
Attention
Le mot de passe envoyé à votre e-mail est nécessaire pour la connexion SSH et la connexion au système d'exploitation en tant qu'utilisateur root, et il ne s'applique pas à l'interface web du chatbot ! Vous devez définir un utilisateur administrateur et un mot de passe pour le chatbot lors de la première connexion à OpenWebUI.
Lien pour accéder à l'interface web du chatbot : dans la balise webpanel. Le lien exact sous la forme https://ollama<Server_ID_from_Invapi>.hostkey.in est également envoyé par e-mail lors de la remise du serveur.
Après avoir cliqué sur le lien de la balise webpanel, une fenêtre de connexion Get started with Open WebUI s'ouvrira, où vous devrez créer un nom d'administrateur, une adresse e-mail et un mot de passe pour votre chatbot, puis cliquer sur le bouton Create Admin Account :

Attention
Après l'enregistrement du premier utilisateur, le système lui attribue automatiquement le rôle d'administrateur. Pour garantir la sécurité et le contrôle du processus d'enregistrement, toutes les demandes d'enregistrement ultérieures doivent être approuvées dans OpenWebUI depuis le compte administrateur.
Écran initial d'OpenWebUI¶
L'écran initial présente une interface de chat ainsi que plusieurs exemples de prompts d'entrée (requêtes) pour démontrer les capacités du système. Pour initier l'interaction avec le chatbot, les utilisateurs doivent sélectionner leur modèle de langage préféré parmi les options disponibles. Dans ce cas, LLaMA 3 est recommandé, qui possède des connaissances étendues et des capacités pour générer des réponses à diverses requêtes.
Après avoir sélectionné un modèle, les utilisateurs peuvent entrer leur première requête dans le champ de saisie, et le système générera une réponse basée sur l'analyse du texte entré. Les exemples de prompts présentés sur l'écran initial montrent la diversité des sujets et des tâches que le chatbot peut gérer, aidant les utilisateurs à s'orienter avec ses capacités.
Configuration de votre espace de travail OpenWebUI¶
Pour personnaliser davantage votre expérience de chat, accédez à la section Workspace. Ici, vous trouverez plusieurs options de personnalisation :
- Models - Cette section vous permet d'ajuster les modèles existants pour vos besoins spécifiques. Vous pouvez définir des prompts système, des paramètres, connecter des documents ou des bases de connaissances, définir des outils, des filtres ou des actions.
- Knowledge - Cette section configure la base de connaissances (RAG) basée sur vos documents.
- Prompts - Créez, modifiez et gérez vos propres prompts (requêtes d'entrée) pour une interaction plus efficace avec le chatbot dans cette section.
- Tools - Connectez ici des scripts Python personnalisés, qui sont fournis au LLM lors d'une requête. Les outils permettent au LLM d'effectuer des actions et d'obtenir un contexte supplémentaire en conséquence. Les outils communautaires prêts à l'emploi peuvent être consultés sur le site web.
- Functions - Connectez ici des opérations modulaires, qui permettent aux utilisateurs d'étendre les capacités de l'IA en intégrant une logique ou des actions spécifiques directement dans les flux de travail. Contrairement aux outils qui fonctionnent comme des utilitaires externes, les fonctions s'exécutent dans l'environnement OpenWebUI et gèrent des tâches telles que le traitement des données, la visualisation et la communication interactive. Des exemples de fonctions prêts à l'emploi peuvent être consultés sur le site web.
Ajout et suppression de modèles¶
Ollama offre la possibilité d'installer et d'utiliser une large gamme de modèles de langage, pas seulement celui par défaut. Avant d'installer de nouveaux modèles, assurez-vous que la configuration de votre serveur répond aux exigences du modèle choisi en ce qui concerne l'utilisation de la mémoire et les ressources de calcul.
Installation d'un modèle via l'interface OpenWebUI¶
Pour installer des modèles via l'interface OpenWebUI, suivez ces étapes :
-
Sélectionnez le modèle souhaité dans la bibliothèque Ollama et accédez à sa page en cliquant sur son nom. Choisissez le type et la taille du modèle (si nécessaire). La "dimensionnalité" la plus adaptée sera proposée par défaut. Ensuite, cliquez sur l'icône avec deux carrés à gauche de la commande comme
ollama run <model_name>pour copier la chaîne d'installation dans votre presse-papiers.
-
Cliquez sur le nom du modèle dans le coin supérieur gauche de la fenêtre du chatbot OpenWebUI et collez la commande copiée dans le champ Search a model.
-
Cliquez sur la chaîne Pull "ollama run
" from Ollama.com .
-
Après un téléchargement et une installation réussis, le modèle apparaîtra dans la liste déroulante et deviendra disponible pour la sélection.
Installation d'un modèle via la ligne de commande¶
Pour installer de nouveaux modèles, vous devez vous connecter à votre serveur en utilisant SSH et exécuter la commande correspondante comme décrit dans cet article.
Suppression d'un modèle¶
Pour supprimer des modèles de l'interface OpenWebUI, accédez aux paramètres de l'interface web User icon in the top right corner >> Settings >> Admin Panel >> Models.

Ensuite, cliquez sur le bouton Manage Models pour ouvrir la fenêtre de gestion des modèles.

Dans celle-ci, depuis la liste déroulante Delete a model, sélectionnez le modèle à supprimer et cliquez sur l'icône à côté :

Pour supprimer un modèle en utilisant la ligne de commande (en tant que root) :
Ajout de documents à la base de connaissances (RAG)¶
L'option Knowledge vous permet de créer des bases de connaissances (RAG) et de télécharger des documents de divers formats, tels que PDF, fichiers texte, documents Word, présentations PowerPoint et autres. Ces documents sont ensuite analysés et peuvent être discutés avec le chatbot. Cela est particulièrement utile pour étudier et comprendre des documents complexes, se préparer à des présentations ou des réunions, analyser des données et des rapports, vérifier les travaux écrits pour les erreurs grammaticales, le style et la logique, travailler avec des documents juridiques et financiers, ainsi que pour la recherche dans divers domaines. Le chatbot peut vous aider à comprendre le contenu des documents, le résumer, mettre en évidence les points clés, répondre aux questions, fournir des informations supplémentaires et offrir des recommandations.
Pour travailler avec des documents, vous devez créer au moins une base de connaissances. Pour ce faire, accédez à la section Workspace >> Knowledge et cliquez sur (Plus) dans le coin supérieur droit. Remplissez les informations sur le nom et le contenu de la base de connaissances et créez-la avec le bouton Create Knowledge.

À l'intérieur de la section base de connaissances, à gauche se trouve une liste des fichiers téléchargés dans la base de connaissances, et à droite se trouve leur contenu ou l'endroit où vous pouvez glisser et déposer des fichiers pour les télécharger.

Aussi, en cliquant sur le bouton (Plus) à côté de la barre de recherche Search Collection, vous pouvez :
- Télécharger des fichiers dans la base de connaissances (Upload files)
- Télécharger un répertoire entier de fichiers (Upload directory)
- Synchroniser les fichiers et leur contenu entre la base de connaissances et le répertoire (Sync directory). Cette option vous permet de mettre à jour la base de connaissances.
- Ajouter du contenu à la base de connaissances via l'éditeur intégré d'Open WebUI (Add text content)
Vous pouvez supprimer n'importe quel fichier de la base de connaissances en le sélectionnant et en cliquant sur la croix qui apparaît.
Attention
Selon le modèle choisi et la puissance du GPU sur le serveur, la création d'embeddings dans les paramètres des documents peut prendre de quelques dizaines de secondes à quelques dizaines de minutes.
Pour gérer les paramètres des documents, accédez à User Name >> Settings >> Admin Settings >> Documents.

Ici, vous pouvez configurer :
- Embedding Model Engine - Le moteur pour créer des embeddings. Par défaut, SentenceTransformers est utilisé, mais vous pouvez télécharger et utiliser des modèles d'embedding d'Ollama à cette fin.
- Hybrid Search - Recherche hybride. Lorsqu'elle est activée, la qualité de recherche pour les bases de connaissances et les documents s'améliorera, mais la vitesse de travail peut diminuer considérablement.
- Embedding Models - Le modèle pour l'embedding. Nous recommandons de définir ce champ sur le modèle amélioré
sentence-transformers/all-MiniLM-L12-v2et de cliquer sur le bouton de téléchargement à droite. - Engine - Moteur d'extraction de contenu. Utilisez la valeur par défaut.
- Query Params : Cette section configure les paramètres qui influencent les requêtes aux documents téléchargés et la manière dont le chatbot génère des réponses.
- Top K - Ce paramètre détermine le nombre de meilleurs résultats de recherche qui seront affichés. Par exemple, si Top K = 5 est défini, alors 5 des documents ou fragments de texte les plus pertinents seront affichés dans la réponse.
- RAG Template - RAG (Retrieval Augmented Generation) est une méthode où le système extrait d'abord les parties pertinentes du texte d'un ensemble de documents, puis les utilise pour générer une réponse avec l'aide d'un modèle de langage. RAG Template définit le modèle pour former une requête au modèle de langage lors de l'utilisation de cette méthode. La possibilité de configurer RAG Template vous permet d'adapter le format de la requête au modèle de langage pour obtenir des réponses de meilleure qualité dans des scénarios d'utilisation spécifiques.
-
Chunk Params - Cette section vous permet de configurer les paramètres pour la division (chunking) des documents téléchargés. Le chunking consiste à diviser de grands documents en parties plus petites pour un traitement plus facile. Ici, vous pouvez définir la taille maximale du chunk en symboles : Chunk Size et le nombre de caractères que les parties peuvent se chevaucher : Chunk Overlap. Les valeurs recommandées sont
1500et100, respectivement.Dans cette section, vous pouvez également activer l'option PDF Extract Images (OCR) - il s'agit d'une technologie de reconnaissance de texte sur les images. Lorsqu'elle est activée, le système extraira les images des fichiers PDF et appliquera l'OCR pour reconnaître tout texte contenu dans ces images.
-
Files - Ici, vous pouvez définir la taille maximale d'un fichier téléchargé et leur nombre total.
Les boutons situés ci-dessous Reset Upload Directory et Reset Vector Storage/Knowledge effacent le répertoire des fichiers de documents téléchargés et réinitialisent le stockage vectoriel sauvegardé/la base de connaissances (tout). Utilisez-les uniquement en cas de nécessité absolue, et supprimez les fichiers et les bases de connaissances via Workspace.
Après le téléchargement des documents, vous pouvez travailler avec eux en mode chat. Pour ce faire, commencez un message dans la ligne de chat avec le symbole # et sélectionnez le document ou la base de connaissances souhaité dans la liste déroulante. Par la suite, la réponse à la requête sera formée sur la base des données du document sélectionné. Cette fonctionnalité vous permet de recevoir des réponses contextuelles basées sur les informations téléchargées et peut être utile pour diverses tâches telles que la recherche d'informations, l'analyse de données et la prise de décisions basées sur des documents :

Remarque
Vous pouvez utiliser le symbole # pour ajouter des sites web ou des vidéos YouTube à votre requête, permettant au LLM de les rechercher également.
Conseils pour travailler avec RAG dans OpenWebUI¶
- Toute manipulation avec le modèle d'embedding nécessitera de supprimer et de télécharger à nouveau les documents dans la base de données vectorielle. La modification des paramètres RAG ne nécessite pas cela.
- Lors de l'ajout ou de la suppression de documents, assurez-vous de mettre à jour le modèle personnalisé (s'il existe) et la collection de documents. Sinon, la recherche de ceux-ci peut ne pas fonctionner correctement.
- OpenWebUI reconnaît les formats pdf, csv, rst, xml, md, epub, doc, docx, xls, xlsx, ppt, pptx, txt, mais il est recommandé de télécharger des documents en texte brut.
- L'utilisation de la recherche hybride améliore les résultats mais consomme beaucoup de ressources, et le temps de réponse peut prendre 20 à 40 secondes même sur un GPU puissant.
Mise à jour du Chatbot¶
Lorsque de nouveaux modèles deviennent disponibles, ou pour corriger des bugs et augmenter la fonctionnalité du chatbot IA, vous devez mettre à jour deux de ses composants - Ollama et Open WebUI.
Mise à jour d'Ollama¶
- Pour mettre à jour Ollama, connectez-vous au serveur via SSH en tant que root et exécutez la commande suivante :
- Ouvrez un navigateur et vérifiez la disponibilité d'Ollama via l'API en entrant l'adresse
<server IP>:11434.
Vous devriez recevoir le message Ollama is running.
- Si vous n'avez pas accès à l'API, vous devrez peut-être ajouter les lignes suivantes au fichier de service
/etc/systemd/system/ollama.servicedans la section[Service]:
et redémarrer le service avec les commandes suivantes :
Vous devrez peut-être également redémarrer OpenWebUI
```bash
docker stop open-webui
docker rm open-webui
docker run -d -p 8080:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui -e ENV='dev' --restart always ghcr.io/open-webui/open-webui:cuda
```
Mise à jour d'Open WebUI¶
Pour mettre à jour Open WebUI, connectez-vous au serveur via SSH en tant que root et exécutez la commande suivante :
docker run --rm --gpus all --volume /var/run/docker.sock:/var/run/docker.sock nickfedor/watchtower --run-once open-webui
Si la mise à jour via Watchtower ne fonctionne pas, exécutez les commandes suivantes :
#!/bin/bash
docker stop open-webui
docker rm open-webui
docker pull ghcr.io/open-webui/open-webui:main
docker run -d -p 8080:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui -e ENV='dev' --restart always ghcr.io/open-webui/open-webui:cuda
docker restart open-webui
Attention
Si vous souhaitez accéder à la documentation API intégrée pour le endpoint d'Open WebUI, vous devez exécuter le conteneur avec la variable d'environnement ENV=dev définie :
Réinitialisation du mot de passe administrateur et réinitialisation complète des paramètres dans OpenWebUI¶
Réinitialisation du mot de passe administrateur dans OpenWebUI¶
Tout d'abord, vous devez créer un hachage bcrypt de votre nouveau mot de passe. Exécutez la commande suivante sur votre machine locale, en remplaçant your-new-password par le mot de passe que vous souhaitez utiliser :
Remarque
La sortie inclura un hachage bcrypt avec des caractères spéciaux qui doivent être manipulés avec soin. Tout caractère $ dans le hachage devra être triplement échappé (remplacé par \\\) pour être utilisé correctement à l'étape suivante.
Ensuite, vous mettrez à jour le mot de passe dans votre déploiement Docker. Remplacez HASH dans la commande ci-dessous par le hachage bcrypt généré précédemment, en vous assurant de triplement échapper tout caractère $. Remplacez également [email protected] par l'adresse e-mail liée à votre compte administrateur.
Attention
La commande suivante peut ne pas fonctionner dans certains cas. Si elle ne fonctionne pas, essayez de réinitialiser complètement les paramètres d'OpenWebUI.
docker run --rm -v open-webui:/data alpine/socat EXEC:"bash -c 'apk add sqlite && echo UPDATE auth SET password='\''HASH'\'' WHERE email='\''[email protected]'\''; | sqlite3 /data/webui.db'", STDIO
Réinitialisation complète des paramètres dans OpenWebUI¶
Pour effectuer une réinitialisation complète des paramètres, vous devez supprimer la base de données OpenWebUI. Pour ce faire, connectez-vous à votre serveur via SSH en tant que root et exécutez les commandes suivantes :
cp /var/lib/docker/volumes/open-webui/_data/webui.db /var/lib/docker/volumes/open-webui/_data/webui.db.bak
rm /var/lib/docker/volumes/open-webui/_data/webui.db
docker restart open-webui
Remarque
Vous devrez peut-être redémarrer complètement OpenWebUI avec les commandes suivantes :
Cela créera une sauvegarde de la base de données dans le fichier webui.db.bak, réinitialisera les paramètres et redémarrera le conteneur Docker OpenWebUI.
Par la suite, connectez-vous à l'interface web et configurez le compte administrateur comme s'il s'agissait de votre première connexion.
Ensuite, vous devez restaurer la connexion à Ollama. Pour ce faire, connectez-vous en tant qu'administrateur dans OpenWebUi, puis sélectionnez Username >> Settings >> Admin Settings >> Connections dans la section du menu. Ensuite, cliquez sur l'icône (Configurer)

Après cela, modifiez :
- Type de connexion : Local
- URL : http://host.docker.internal:11434
et appuyez sur le bouton Save

Articles pratiques et conseils¶
Vous pouvez trouver plus d'informations utiles dans nos articles de blog :
- Construisons un chatbot de support client en utilisant RAG et la documentation de votre entreprise dans OpenWebUI
- 10 Conseils pour Open WebUI pour améliorer votre travail avec l'IA
Tutoriel vidéo¶
Commande d'un serveur avec Chatbot IA via l'API¶
Pour installer ce logiciel en utilisant l'API, suivez les instructions suivantes.
Une partie du contenu de cette page a été créée ou traduite en utilisant l'IA.