IA : Une web interface à Ollama avec Ollama LLM UI
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 Ollama LLM UI qui est une interface web permettant d'interragir avec nos modèles LLM.
La page du projet est ici : https://github.com/jakobhoeg/nextjs-ollama-llm-ui
Il existe une multitudes de projet, je trouve celui là très simple et efficace.
La base de cet article a été faite sur Red Hat Enterprise Linux 9.
L'installation se fait de façon classique, sans Docker.
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 !
La webinterface fonctionne avec NodeJS. Il est nécessaire d'avoir nodejs et npm installés dans une version 18 au moins.
Dans le cas d'une base Red Hat Enterprise Linux (ou ses clones) la version de nodejs est un peu ancienne :
RHEL 8 et dérivées : nodejs version 10
RHEL 9 et dérivées : nodejs version 16
Lister les versions de nodejs à travers les modules disponibles via :
On va basculer grâce aux modules sur la version 20 de nodejs :
Ensuite on installe nodejs :
La version 18 de nodejs est présente dans Ubuntu 24.04 et dans Debian 12. Il suffit de l'installer :
Pour les versions plus anciennes de Debian ou Ubuntu, il faut visiblement passer par leur dépôt : https://deb.nodesource.com
La version 20 et 22 de nodejs sont présentes dans les dépôts fin 2024. Il suffit de l'installer via :
Pour installer Ollama LLM UI, on va cloner le repo Github dans la localisation de notre choix :
Une fois installé on se rend dans le dossier du projet :
Copier la config proposée sous le nom .env :
Ce fichier contient l'URL permettant d'accéder à Ollama :
On installe les dépendances nécessaire au bon fonctionnement du projet :
On teste l'application pour le déploiement :
A cet instant, l'application est prête à fonctionner et on peut tester.
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) :
On recharge systemd pour prendre en compte le nouveau service :
On démarre le service :
On peut accéder à l'interface avec le nom du serveur (ou son adresse IP) sur le port 3000. Exemple : http://tutollm.linuxtricks.lan:3000/
Au premier lancement on peut saisir notre nom pour retrouver nos discussions :
Dans l'interface, on retrouvera la liste des modèles installés en haut à droite :
On pourra utilise l'interface comme avec chatGPT ou tout autre LLM public :
Et voilà, on a une interface graphique à Ollama !
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 Ollama LLM UI qui est une interface web permettant d'interragir avec nos modèles LLM.
La page du projet est ici : https://github.com/jakobhoeg/nextjs-ollama-llm-ui
Il existe une multitudes de projet, je trouve celui là très simple et efficace.
La base de cet article a été faite sur Red Hat Enterprise Linux 9.
L'installation se fait de façon classique, sans Docker.
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 !
NodeJS
La webinterface fonctionne avec NodeJS. Il est nécessaire d'avoir nodejs et npm installés dans une version 18 au moins.
Red Hat Enterprise Linux et dérivées
Dans le cas d'une base Red Hat Enterprise Linux (ou ses clones) la version de nodejs est un peu ancienne :
RHEL 8 et dérivées : nodejs version 10
RHEL 9 et dérivées : nodejs version 16
Lister les versions de nodejs à travers les modules disponibles via :
Code BASH :
dnf module list nodejs
On va basculer grâce aux modules sur la version 20 de nodejs :
Code BASH :
dnf module switch-to nodejs:20
Ensuite on installe nodejs :
Code BASH :
dnf install nodejs
Debian et Ubuntu
La version 18 de nodejs est présente dans Ubuntu 24.04 et dans Debian 12. Il suffit de l'installer :
Code BASH :
apt install nodejs
Pour les versions plus anciennes de Debian ou Ubuntu, il faut visiblement passer par leur dépôt : https://deb.nodesource.com
Gentoo
La version 20 et 22 de nodejs sont présentes dans les dépôts fin 2024. Il suffit de l'installer via :
Code BASH :
emerge -av net-libs/nodejs
Installer Ollama LLM UI
Pour installer Ollama LLM UI, on va cloner le repo Github dans la localisation de notre choix :
Code BASH :
cd /opt git clone https://github.com/jakobhoeg/nextjs-ollama-llm-ui
Une fois installé on se rend dans le dossier du projet :
Code BASH :
cd nextjs-ollama-llm-ui
Copier la config proposée sous le nom .env :
Code BASH :
mv .example.env .env
Ce fichier contient l'URL permettant d'accéder à Ollama :
Code BASH :
NEXT_PUBLIC_OLLAMA_URL="http://localhost:11434"
On installe les dépendances nécessaire au bon fonctionnement du projet :
Code BASH :
npm install
On teste l'application pour le déploiement :
Code BASH :
npm run dev
A cet instant, l'application est prête à fonctionner et on peut tester.
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/nextjs-ollama-llm-ui.service
Dedans, on va y indiquer ceci (il y a peut être mieux) :
Code BASH :
[Unit] Description=Next.js Ollama LLM UI After=ollama.service [Service] WorkingDirectory=/opt/nextjs-ollama-llm-ui ExecStart=/usr/bin/npm run dev Restart=always RestartSec=10 User=root Environment=PATH=/usr/bin:/usr/local/bin [Install] WantedBy=multi-user.target
On recharge systemd pour prendre en compte le nouveau service :
Code BASH :
systemctl daemon-reload
On démarre le service :
Code BASH :
systemctl start nextjs-ollama-llm-ui
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://tutollm.linuxtricks.lan:3000/
Au premier lancement on peut saisir notre nom pour retrouver nos discussions :
Dans l'interface, on retrouvera la liste des modèles installés en haut à droite :
On pourra utilise l'interface comme avec chatGPT ou tout autre LLM public :
Et voilà, on a une interface graphique à Ollama !