Sommaire
- Comment installer Open WebUI : une interface web Open Source pour exécuter des LLMs ?
- Prérequis pour installer Open WebUI
- Installation d'Open WebUI sur votre machine
- Création d'un service système pour exécuter Open WebUI
- Configuration de Nginx comme reverse proxy et exécutez Open WebUI proprement sur votre machine
- Accès à Open WebUI depuis un nom de domaine
- Installation et exécution de LLMs dans Open WebUI
- Open WebUI l'interface aux nombreux avantages !
Comment installer Open WebUI : une interface web Open Source pour exécuter des LLMs ?
Introduction à Open WebUI
Open WebUI est une interface web open source, riche en fonctionnalités et conviviale, qui permet d'exécuter des modèles de langage de grande taille (LLMs) en utilisant Ollama et des API compatibles avec OpenAI.
Vous pouvez étendre Open WebUI avec divers modèles d'IA et plugins pour répondre à vos besoins spécifiques. Cet article explique comment installer Open WebUI et exécuter des LLMs sur une instance Vultr Cloud GPU, tout en configurant des certificats SSL pour sécuriser l'accès via un domaine personnalisé.
Prérequis pour installer Open WebUI
Avant de commencer :
- Déployez un serveur avec GPU avec une grosse proportion de Ram, les LLMs sont gourmands donc on préconise à minima la taille du LLMs en Go de RAM pour les exécuter.
- L'installation de Ollama comme nous l'avons vu ici ainsi qu'un 1er LLM déployé
- Configurez un enregistrement DNS de type A pointant vers l'adresse IP publique de votre instance, par exemple
openwebui.greenhoster.fr
- Accédez à l'instance en utilisant SSH pour exécuter les commandes
Installation d'Open WebUI sur votre machine
Vous pouvez installer Open WebUI en utilisant Python Pip ou Docker. La méthode Pip nécessite Python 3.11, tandis que Docker utilise une image conteneur préconstruite.
Suivez les étapes ci-dessous pour installer Open WebUI en utilisant les deux méthodes.
Option 1 : Installation d'Open WebUI avec Pip
Installez Python 3.11 :
apt install python3.11 python3-pip pipx python3.11-venvInstallez Open WebUI dans un environnement virtuel python :
cd /opt
mkdir project/openwebui -p # choissisez votre propre répertoire et utilisateur
cd project/openwebui
python3.11 -m venv webui-env
source webui-env/bin/activate
pip install open-webuiExécutez Open WebUI et vérifiez qu'il ne retourne pas d'erreurs :
open-webui serve
Création d'un service système pour exécuter Open WebUI
Si vous installez Open WebUI avec Pip, l'application s'exécute avec la commande open-webui serve
. Vous devez créer un service système pour gérer les processus d'Open WebUI sans exécuter directement la commande.
Créez un nouveau fichier de service
/usr/lib/systemd/system/openwebui.service
:vi /etc/systemd/system/open-webui.service
Ajoutez les configurations de service suivantes au fichier :
[Unit]
Description=open-webui Application
After=network.target[Service]
User=webui
WorkingDirectory=/opt/project/openwebui
ExecStart=/bin/bash -c "source /opt/project/openwebui/webui-env/bin/activate && /opt/project/openwebui/webui-env/bin/open-webui serve"
Restart=always
StandardOutput=inherit
StandardError=inherit[Install]
WantedBy=multi-user.targetRechargez systemd pour appliquer la nouvelle configuration de service :
systemctl daemon-reload
On Active le service pour le démarrage au boot et on lance Open WebUI :
systemctl enable open-webui.service
systemctl start open-webui
systemctl status open-webui
Configuration de Nginx comme reverse proxy et exécutez Open WebUI proprement sur votre machine
Open WebUI est accessible sur le port 8080
en utilisant l'adresse IP de votre serveur
Nous vous conseillons de mettre en place un serveur proxy qui va gèrer le point d'entrée ssl de votre domaine.
Voici la configuration nginx que nous mettons en place :
- Installez Nginx et Certbot
apt install nginx certbot python3-certbot-nginx/stable
Ajoutez les configurations Nginx suivantes au fichier :
server { listen 80; server_name openwebui.greenhoster.fr; access_log /var/log/nginx/openwebui_access.log; error_log /var/log/nginx/openwebui_error.log; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}
- Mettez un certificat https/ssl en place pour sécuriser au minimum votre connexion
certbot --nginx -d
openwebui.greenhoster.fr
-m admin@example.com --agree-tosTestez Nginx pour détecter les erreurs de configuration et relancez Nginx:
nginx -t && systemctl restart nginx
Votre interface web est prête
Accès à Open WebUI depuis un nom de domaine
Vous pouvez accéder à Open WebUI en utilisant votre domaine configuré précédemment. Créez un nouveau compte administrateur pour exécuter des LLMs sur le serveur.
Accédez à votre domaine Open WebUI :
https://openwebui.greenhoster.fr
Cliquez sur "Get started" pour accéder à l'interface web d'Open WebUI.
Entrez un nom d'utilisateur, une adresse e-mail et un mot de passe pour créer le premier compte administrateur.
Sélectionnez le modèle LLM que vous avez préinstallé, MistalAI par exemple que vous avez installé précédemment et entrez une nouvelle invite pour générer un résultat.
Installation et exécution de LLMs dans Open WebUI
Open WebUI est livré avec quelques modèles d'IA par défaut. Vous pouvez également installer de nouveaux modèles directement en utilisant Ollama sur le serveur ou en téléchargeant les fichiers de modèle via l'interface Open WebUI.
Visitez la bibliothèque Ollama et trouvez de nouveaux modèles.
https://ollama.com/libraryTéléchargez un nouveau modèle, par exemple
Openhermes
, un modèle opensource alternatif à Mistral AI :$ sudo ollama pull openhermes
Accédez à Open WebUI dans un nouveau navigateur web et vérifiez que les nouveaux modèles sont disponibles.
Open WebUI l'interface aux nombreux avantages !
L'interface utilisateur pour les chatbots offre plusieurs fonctionnalités intéressantes.
Voici quelques avantages que nous avons retenu :
Interface Intuitive : Open WebUI propose une interface conviviale qui permet aux utilisateurs d'interagir facilement avec le chatbot.
Elle est conçue pour être accessible et simple à utiliser, même pour les non-initiés.- Sécurité et Confidentialité : Open WebUI met l'accent sur la sécurité et la confidentialité des données des utilisateurs, garantissant que les interactions avec le chatbot sont protégées.
Il est possible d'intégrer des authentifications fortes, d'ajouter un ldap, ou de garantir l'utilisation des données en local de votre serveur. Personnalisation : Les utilisateurs peuvent personnaliser l'apparence et le comportement du chatbot pour qu'il corresponde à leurs besoins spécifiques.
Pour une intégration parfaite avec votre projet, vous allez pouvoir modifier les visuels, les flux de conversation et les sources de données.Support Multilingue : L'interface prend en charge plusieurs langues, ce qui permet aux utilisateurs de communiquer dans leur langue préférée. Cela élargit l'accessibilité et l'utilité du chatbot à un large public.
Nous avons noté quelques défaillances avec un changement de langue dans les réponses sans identifier l'origine du problème.Intégration Facile : Open WebUI générer un webhook pour être facilement interrogé, facilitant ainsi son intégration dans des sites web, des applications mobiles ou d'autres systèmes.
Gestion des Conversations : L'interface permet de gérer et de suivre les conversations avec les utilisateurs, offrant des outils pour analyser les interactions et améliorer les performances du chatbot.
Extensibilité : Grâce à une architecture modulaire, les développeurs peuvent ajouter de nouvelles fonctionnalités ou étendre les capacités existantes du chatbot sans avoir à réécrire tout le code.
- Opensource: Le projet est forte suivi et maintenu par la communauté, vous pouvez le retrouver sur Github officiel.
Ces fonctionnalités font d'Open WebUI un outil puissant pour créer et gérer des chatbots efficaces et conviviaux.
L'interaction avec les LLMs de tout horizon devient un défi majeur, avec Open WebUI, vous disposez d'un outil puissant et capable de répondre à l'essentiel des besoins actuels
Et pour plus d'informations, contactez-nous sur contact@greenhoster.fr ou sur notre page de contact.