Ollama permet :
Les données restent locales.
Un LLM (Large Language Model) est un programme informatique qui a été entraîné sur d’énormes quantités de texte (livres, articles, code source, pages web…). Grâce à cet entraînement, il a appris :
Quand une question est posée à un LLM, il ne cherche pas la réponse dans une base de données. Il génère la réponse mot par mot, en prédisant quel mot est le plus probable après le précédent, compte tenu de votre question et de tout ce qu’il a appris.
Ollama peut faire fonctionner des LLM uniquement en RAM (512 Gio dans le serveur) mais si des GPU NVIDIA sont installés avec au moins 8 Gio de VRAM, Ollama les utilisera automatiquement. Les deux cartes installées possèdent chacune 16 Gio de VRAM.
La quantité de RAM est le facteur déterminant de la rapidité des réponses du LLM.
Quand un modèle IA (LLM) est lancé avec Ollama, celui-ci est entièrement chargé en mémoire. Si votre ordinateur n’a pas assez de RAM, le modèle ne pourra pas être chargé, ou sera très lent car il devra utiliser le disque dur (swap).
| RAM disponible | Modèles utilisables | Expérience |
|---|---|---|
| 4 GB | ❌ Insuffisant | Ollama refusera de lancer les modèles |
| 8 GB | Modèles légers (3B) | Fonctionnel mais limité |
| 16 GB | Modèles moyens (7B) | Bonne expérience pour la plupart des usages |
| 32 GB | Grands modèles (13B) | Excellente expérience |
| 64 GB+ | Très grands modèles (70B) | Usage professionnel |
| Modèle | Taille sur disque |
|---|---|
| Llama 3.2 (3B) | ~2 GB |
| Mistral (7B) | ~4 GB |
| CodeLlama (7B) | ~4 GB |
| Llama 3.1 (70B) | ~40 GB |
Les modèles de langage (LLM) disponibles sont caractérisés par le nombre de paramètres gérés : 3B signifie 3 Billion parameters, soit 3 milliards de paramètres ou nombre de connexions neuronales dans le modèle.
Plus un modèle a de paramètres, plus il peut :
| Taille | RAM minimale | Usage typique |
|---|---|---|
| 1-3B | 4-8 GB | Bon équilibre : Questions simples, résumés, traduction |
| 7B | 8-16 GB | Très bon généraliste : Code, rédaction, raisonnement |
| 13B | 16-32 GB | Analyse complexe, créativité |
| 70B | 64 GB+ | Niveau proche du SOTA (State Of The Art, état de l’art) : Recherche, usage professionnel, |
| 500B+ | entre 300 Go et plus de 2 To de RAM, selon la précision. | Modèles géants (GPT-5, etc.) : Raisonnement avancé |
Pour un usage personnel, 3B est un excellent compromis.
apt install -y curl zstd pciutils
L'installateur à besoin de lspci (dans pciutils)
# curl -fsSL https://ollama.com/install.sh | sh >>> Cleaning up old version at /usr/local/lib/ollama >>> Installing ollama to /usr/local >>> Downloading ollama-linux-amd64.tar.zst ########################################################################################################## 100.0% >>> Creating ollama user... >>> Adding ollama user to render group... >>> Adding ollama user to video group... >>> Adding current user to ollama group... >>> Creating ollama systemd service... >>> Enabling and starting ollama service... Created symlink '/etc/systemd/system/default.target.wants/ollama.service' -> '/etc/systemd/system/ollama.service'. >>> NVIDIA GPU installed.
* visualiser la version
ollama --version
⇒ vous devriez visualiser le numéro de version comme ollama version 0.14.1
systemctl status ollama
⇒ Vous devriez voir Active: active (running) en vert.
# ollama run qwen2.5-coder:7b
Le modèle Qwen2.5‑Coder 7B dans Ollama en mode interactif est spécialisé pour le code.
Avec cette commande :
Il suffit simplement de taper une question comme :
Le modèle répond dans le terminal.
Générer du code (tous langages) Comme il s’agit d’un modèle coder, on peux lui demander :
Ou même des projets complets :
Expliquer du code :
<ton code ici>
Il te donnera une explication détaillée.
Déboguer ou améliorer du code
ou
Travailler en conversation continue
Quitter proprement
ou simplement CTRL + C.
curl http://localhost:11434/api/generate \
-d '{ "model": "qwen2.5-coder:7b", "prompt": "Écris une classe Python." }'
Beaucoup d’extensions permettent de configurer Ollama comme LLM local. Qwen2.5‑Coder peux alors être utilisé comme assistant de code directement dans l’IDE.
ollama serve
Le modèle devient accessible à d’autres outils (LM Studio, Continue, Cursor, etc.).
apt install -y nodejs npm
apt install python3-pip python3-venv => à enlever
Open‑WebUI n’est installable via pip avec Python 3.11 ou 3.12. Toutes les versions publiées sur PyPI exigent strictement :
Python ≥ 3.11 Python < 3.13.0a1
Python3.12 sera installé avec pyenv :
curl https://pyenv.run | bash
export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
exec $SHELL
apt install -y \ build-essential \ libssl-dev \ zlib1g-dev \ libbz2-dev \ libreadline-dev \ libsqlite3-dev \ libffi-dev \ liblzma-dev \ uuid-dev \ tk-dev \ libncursesw5-dev \ libxml2-dev \ libxmlsec1-dev \ libgdbm-dev \ libnss3-dev \ libdb-dev \ xz-utils wget https://www.python.org/ftp/python/3.11.7/Python-3.11.7.tgz tar -xzf Python-3.11.7.tgz cd Python-3.11.7 ./configure --enable-optimizations make -j$(nproc) make altinstall
python3.11 -c "import sqlite3; print(sqlite3.sqlite_version)"
=> doit afficher 3.46.1
S'il est nécessaire de recompiler Python3.11 utilisez les commandes suivantes :
pyenv install 3.11.7 pyenv global 3.11.7
cd ~ pyenv global 3.11.7 python3 --version # Python 3.11.7Afficher plus de lignes
mkdir /opt/open-webui cd /opt/open-webui python3.11 -m venv venv source venv/bin/activate pip install --upgrade pip
pip install open-webui
open-webui serve
useradd -r -s /usr/sbin/nologin -d /opt/open-webui openwebui
Commentaires :
chown -R openwebui:openwebui /opt/open-webui
[Unit] Description=Open WebUI service After=network-online.target Wants=network-online.target [Service] Type=simple User=openwebui Group=openwebui WorkingDirectory=/opt/open-webui Environment="PATH=/opt/open-webui/venv/bin:/usr/local/bin:/usr/bin" Environment="PYTHONUNBUFFERED=1" #Attendre que tout les services soient actifs ExecStartPre=/bin/sleep 5 ExecStart=/opt/open-webui/venv/bin/open-webui serve --host 0.0.0.0 --port 8080 Restart=always RestartSec=3 [Install] WantedBy=multi-user.target
| Problème | Solution |
|---|---|
| Le service démarre trop tôt | After=network-online.target + ExecStartPre sleep 5 |
| venv pas disponible au boot | sleep 5 |
| réseau absent au boot | network-online.target |
* Activer et démarrer le service
systemctl daemon-reload systemctl enable openwebui systemctl start openwebui systemctl status openwebui
apt install -y caddy
nano /etc/caddy/Caddyfile
:80 {
reverse_proxy 127.0.0.1:8080
}
systemctl reload caddy
Open WebUI est accessible à l'URL http://adresseipLXC/