Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

Ollama

De Le Wiki de Lug

Source github

Ollama est un serveur local d’inférence de modèles de langage (LLM). Plus simplement, il permet de faire tourner un modèle d’IA en local et de l’exposer via une API sur le réseau (Port: 11434).

A noter qu'il existe également une version conteneur pour docker officielle.

Debian 13

Prérequis

  • Un GPU est fortement recommandé, idéalement NVIDIA avec le plus de VRAM possible. Le modèle IA choisi doit tenir entièrement en VRAM, sinon les performances chutent fortement. Voir ce lien pour partager un GPU dans un LXC
  • Les modèles peuvent fonctionner sur CPU, mais avec des performances très faibles (souvent inutilisables en pratique).
  • VRAM recommandée : environ la taille du modèle (en quantization type Q4) + environ 1 à 3 Go supplémentaires pour le KV cache (selon le contexte utilisé) -> En pratique, prévoir 20 à 50% de marge est un bon compromis.
  • RAM recommandée : au minimum équivalente à la taille du modèle, idéalement 1,5 à 2 fois.
  • Espace disque à prévoir en fonction du ou des modèle que vous allez utiliser ou tester, Exemples :
    • qwen2.5:7b (Q4) ≈ 4–5 Go
    • qwen2.5:14b (Q4) ≈ 8–10 Go
    • llama3:70b (Q4) ≈ 35–40 Go
  • Utiliser un SSD/NVMe améliore fortement les temps de chargement.
  • CPU / vCPU recommandés :
    • Avec GPU : 2 à 4 vCPU suffisent généralement.
    • Sans GPU : prévoir au minimum 8 vCPU (voire plus), les performances restant très limitées.
  • Note : Q4 correspond au niveau de "quantization", c’est-à-dire une réduction de la précision numérique du modèle afin de diminuer son utilisation en mémoire (VRAM). Les niveaux vont généralement de Q1 à Q8 : Q8 est le plus précis (proche du modèle original), mais aussi le plus gourmand en ressources. À l’inverse, Q1 est très léger mais fortement dégradé. En pratique, Q4 (voire Q5) est généralement considéré comme le meilleur compromis entre performances, consommation de VRAM et qualité de réponse.

Installation

# apt update && apt upgrade
# apt install curl zstd pciutils
# curl -fsSL https://ollama.com/install.sh | sh

Commandes

# ollama pull qwen2.5:7b
  • Lancer un modèle (test rapide) :
# ollama run qwen2.5:7b
  • Lister les modèles installés :
# ollama list
  • Informations sur un modèle :
# ollama show qwen2.5:7b
  • Supprimer un modèle :
# ollama rm qwen2.5:7b
  • Tester l’API :
# curl http://localhost:11434/api/tags

Spécifier une interface

Il suffit d'ajouter devant chaque commande :

# OLLAMA_HOST=http://192.168.2.205:11434

Exemple :

# OLLAMA_HOST=http://192.168.2.205:11434 ollama pull qwen3:8b

Spécifier interface d'écoute

Par défault Ollama n'écoute que localmement, pour autoriser une interface réseau :

# systemctl edit ollama

Ajouter dans la zone d’édition (partie supérieure du fichier) :

...
### Anything between here and the comment below will become the contents of the drop-in file

[Service]
Environment="OLLAMA_HOST=192.168.1.123:11434"

### Edits below this comment will be discarded
...

Spécifier une interface précise ne permet plus de communiquer localement avec le serveur, cela empêche notamment l'utilisation des commandes locales comme `ollama pull` sans spécifier explicitement l'URL du serveur. Pour plus de facilité l'on peut tout simplement autorisé toutes les IP :

...
### Anything between here and the comment below will become the contents of the drop-in file

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"

### Edits below this comment will be discarded
...
# systemctl daemon-reload
# systemctl restart ollama

Limiter le contexte

  • Note : Le contexte correspond à la mémoire utilisée par le modèle pour traiter la conversation. Une valeur de 4096 constitue généralement un bon compromis entre performances et consommation de mémoire.
# systemctl edit ollama

Ajouter dans la zone d’édition (partie supérieure du fichier) :

...
### Anything between here and the comment below will become the contents of the drop-in file

[Service]
Environment="OLLAMA_CONTEXT_LENGTH=4096"

### Edits below this comment will be discarded
...
# systemctl daemon-reload
# systemctl restart ollama

Pour vérifier :

# systemctl show ollama | grep OLLAMA_CONTEXT_LENGTH