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
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"
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
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 $USERnewgrp docker
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
Quelques commandes Docker utiles :
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
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