IA : Open WebUI, une interface web à Ollama
Table des matières
Dans un précédent article, on a vu comment mettre en place Ollama et déployer des modèles de LLM.
Dans cet article, on va voir comment installer et utiliser la plus populaire des interface web permettant d'interragir avec nos modèles LLM : Open WebUI
L'installation se fait sous forme de conteneur, car c'est la voie recommandée par Open WebUI. Il semble très périlleux de l'installer autrement en raison du manque de documentation sur le sujet, et l'installation via PIP est notée en Beta (et exige Python 3.11 exactement au moment de la rédaction de cet article).
La base de cet article a été faite sur Red Hat Enterprise Linux 9, nous utiliserons podman pour gérer le conteneur OpenWeb UI.
Dans un premier temps, il est nécessaire d'avoir installé et configuré Ollama tel que décrit dans cet article : Installer un Modèle de Langage (LLM) avec Ollama.
Il sera nécessaire d'avoir au moins installé un modèle !
Ollama devra écouter sur toutes les interfaces réseau.
Podman est nécessaire pour faire fonctionner le conteneur.
Fedora / RHEL et dérivées : C'est installé par défaut. Si nécessaire :
Debian, Ubuntu et dérivées :
Pour installer OpenWeb UI, on va récupérer l'image :
On démarre ensuite le conteneur :
Le conteneur est nommé openwebui
Le port 3000 est utilisé pour un accès à l'interface
Les données de paramétrage de l'application sont stockées dans le volume openwebui pour être presistantes
Pour que notre application se démarre automatiquement au démarrage du système, on va créer un service systemd :
Dedans, on va y indiquer ceci (il y a peut être mieux, je prends vos améliorations) :
On recharge systemd pour prendre en compte le nouveau service :
On active le service au démarrage du système :
On peut accéder à l'interface avec le nom du serveur (ou son adresse IP) sur le port 3000. Exemple : http://videollm.linuxtricks.lan:3000/
Plus tard, on pourra mettre un reverse-proxy devant pour porter un certificat SSL et y accéder en HTTPS sur le port par défaut (443)
A vous de jouer maintenant !
Introduction
Dans un précédent article, on a vu comment mettre en place Ollama et déployer des modèles de LLM.
Dans cet article, on va voir comment installer et utiliser la plus populaire des interface web permettant d'interragir avec nos modèles LLM : Open WebUI
L'installation se fait sous forme de conteneur, car c'est la voie recommandée par Open WebUI. Il semble très périlleux de l'installer autrement en raison du manque de documentation sur le sujet, et l'installation via PIP est notée en Beta (et exige Python 3.11 exactement au moment de la rédaction de cet article).
La base de cet article a été faite sur Red Hat Enterprise Linux 9, nous utiliserons podman pour gérer le conteneur OpenWeb UI.
Prérequis
Ollama et modèles LLM
Dans un premier temps, il est nécessaire d'avoir installé et configuré Ollama tel que décrit dans cet article : Installer un Modèle de Langage (LLM) avec Ollama.
Il sera nécessaire d'avoir au moins installé un modèle !
Ollama devra écouter sur toutes les interfaces réseau.
Podman
Podman est nécessaire pour faire fonctionner le conteneur.
Fedora / RHEL et dérivées : C'est installé par défaut. Si nécessaire :
Code BASH :
dnf install podman
Debian, Ubuntu et dérivées :
Code BASH :
apt install podman
Installer OpenWeb UI
Pour installer OpenWeb UI, on va récupérer l'image :
Code BASH :
podman pull ghcr.io/open-webui/open-webui:main
On démarre ensuite le conteneur :
Code BASH :
podman run -d --name openwebui -p 3000:8080 -v openwebui:/app/backend/data ghcr.io/open-webui/open-webui:main
Le conteneur est nommé openwebui
Le port 3000 est utilisé pour un accès à l'interface
Les données de paramétrage de l'application sont stockées dans le volume openwebui pour être presistantes
Création d'un service systemd
Pour que notre application se démarre automatiquement au démarrage du système, on va créer un service systemd :
Code BASH :
vim /etc/systemd/system/openwebui.service
Dedans, on va y indiquer ceci (il y a peut être mieux, je prends vos améliorations) :
Code BASH :
[Unit] Description=Open WebUI After=network.target [Service] Restart=always RestartSec=10 ExecStart=/usr/bin/podman start openwebui ExecStop=/usr/bin/podman stop openwebui Environment=PODMAN_SYSTEMD_UNIT=%n Type=forking [Install] WantedBy=multi-user.target
On recharge systemd pour prendre en compte le nouveau service :
Code BASH :
systemctl daemon-reload
On active le service au démarrage du système :
Code BASH :
systemctl enable openwebui
Accéder à l'interface
On peut accéder à l'interface avec le nom du serveur (ou son adresse IP) sur le port 3000. Exemple : http://videollm.linuxtricks.lan:3000/
Plus tard, on pourra mettre un reverse-proxy devant pour porter un certificat SSL et y accéder en HTTPS sur le port par défaut (443)
Pour utiliser l'outil il est nécessaire davoir un compte, s'enregister avec le bouton "Signup"
Le premier compte créé sera administrateur, renseigner les champs :
En haut à gauche, on retrouve les modèles téléchargés et installés sur Ollama :
On va pouvoir discuter avec nos modèles, les conversations sont stockées sur le volet de gauche :
On va pouvoir créer plusieurs conversations, et interroger plusieurs modèles installés :
En haut à droite, on pourra éditer des paramètres de son profil :
Et on aura aussi accès au panneau d'administration si on est administrateur :
A vous de jouer maintenant !