Intelligence artificielle
Les grands modèles linguistiques (LLM)

1) Introduction

Le développement récent de l'intelligence artificielle voit apparaitre une multitudes de modèles de taille adaptée pour être utilisé sur un ordinateur personnel. Un des moyens les plus simple pour les tester est d'utiliser l'outils Ollama.

Voir le site de Korben Open WebUI - Une interface graphique pour Ollama

Prérequis : Distribution linux de la famille Dedian, 32 Go de RAM, un GPU dédié (NVIDIA de préférence), Logiciel python 3.8, au moins 20 Go d'espace disque.

mise à jour ;

sudo apt update
sudo apt upgrade

 

2) Installez Ollama

C'est un moteur de LLM (Large Langage Model)

curl -fsSL https://ollama.com/install.sh | sh

Pour vérifier la version, pour vérifier s'il est en marche, et pour le démarrer s'il n'est pas en marche :

ollama --version
systemctl is-active ollama.service
sudo systemctl start ollama.service

Vous pouvez allez sur http://localhost:11434 ou http://127.0.0.11434, vous verrez le message "Ollama is running"

La liste des modèles disponnibles est consultable ici : https://ollama.com/search

Un petit modèle généraliste qui assez efficace pour faire de la programmation par exemple le modèle gemma3:27b. Pour exécuter ce modèle et éventuellement le téléchargé si pas encore téléchargé :

ollama run gemma3:27b

Cela affiche ">>>" et vous pouvez saissire votre prompt. Ou bien lancer la commande en accolant directement le prompt entre guillemet.

Affiche la liste des modèles téléchargés :

ollama list

Pour supprimer un modèle et libérer l'espace disque :

ollama rm gemma3:27b

Pour télécharger le modèle gpt-oss :

ollama pull gpt-oss

Pour interroger un modèle avec vision sur une image. Le nom du fichier qui doit être dans le répertoire courant doit commencer par ./ :

ollama run gemma3:27b "Décrit l'image ./image.jpg"

 

3) Installez Open-WebUI

C'est une interface graphique pour Ollama. Pour l'installer il suffit d'exécuter ces trois commandes

sudo apt install docker-compose

mkdir open-webui

sudo docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

L'interface est alors accessible via http://127.0.0.1:8080

 

4) Connaitre ce qu'est un container Docker

C'est une unité légère et portable qui contient tout ce qu'il faut pour exécuter une application : le code, les bilbiothèques, les dépendances, et une partie du système (runtime, variable, congiguration). Il fonctionne de manière isolé du reste du système mais en utilisant le noyau hôte. Il donc est beaucoup plus léger et rapide qu'une machine virtuel, tout en restant déplacable d'une machine à l'autre par simple copie.

Pour installer docker :

sudo apt install docker-compose

Pour pouvoir utiliser les commande Docker sans être root :

sudo groupadd docker
sudo usermod -aG docker $USER

newgrp docker

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R

Quelques commandes Docker utiles :

Gestion des images :

docker search <mot-clé> Reherche des images par mots clef sur Docker Hub. Voir https://hub.docker.com
docker pull <image> Télécharger une image depuis Docker Hub.
docker run <image> Lancer un container depuis une image. La télécharge si pas déjà présente.
opt
-it Exemple: (docker run -it ubuntu bash). Lance Ubuntu en mode interactif.
-d Mode détaché (en arrière-pplan)
-p 8080:80 Rediriger un port (hôte:container)
--name xyz Nommer le contener en "xyz"
-v volume:/path Monter un volume
docker images Lister les images locales
docker rmi <image_id> Supprimer une image

Gestion des containers :

docker ps Lister les containers en cours
docker ps -a Lister tous les containers (y compris arrêtés)
docker stop <container_id> Arrêter un container
docker start <container_id> Relancer un container
docker restart <container_id> Redémarrer un container
docker rm <container_id> Supprimer un container
docker exec -it <container_id> bash Ouvrir un shell à l’intérieur du container
docker inspect <container_id> Voir les détails (IP, config, etc.)
docker logs <container_id> Voir les logs du container
docker system df Voir l’espace disque utilisé
docker volume ls Lister les volumes
docker volume rm <nom> Supprimer un volume
docker network ls Lister les réseaux
docker network create <nom> Créer un réseau
.docker system prune Nettoyer images, containers, volumes non utilisés

 

oOo