Outils Dev IA Article original TECH ACTU

Ollama : hébergez et exécutez vos modèles IA en local gratuitement

2 min de lecture 4 vues
Ollama : hébergez et exécutez vos modèles IA en local gratuitement

Guide complet d'Ollama pour exécuter des modèles d'IA en local. Installation sur Mac, Linux et Windows, commandes essentielles, utilisation de CodeLlama et DeepSeek Coder, API REST locale, création de Modelfiles personnalisés, optimisation GPU/CPU et intégration avec les éditeurs de code.

Exécuter des modèles d'intelligence artificielle en local, sans envoyer la moindre ligne de code vers un serveur distant, c'est exactement ce que propose Ollama. Cet outil open source permet de télécharger, gérer et exécuter des LLM directement sur votre machine.

Installation selon votre système

macOS

brew install ollama

Linux

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

Windows

Téléchargez l'installateur depuis ollama.com. Après installation :

ollama --version

Commandes essentielles

# Télécharger et lancer un modèle
ollama run llama3.1

# Télécharger sans lancer
ollama pull codellama:13b

# Lister les modèles installés
ollama list

# Modèles chargés en mémoire
ollama ps

# Supprimer un modèle
ollama rm codellama:7b

# Piping depuis le terminal
cat mon_fichier.py | ollama run codellama "Explique ce code et suggère des améliorations"

# Générer un commit message
git diff --staged | ollama run mistral "Génère un message de commit conventionnel"

Les meilleurs modèles pour le code

# CodeLlama - spécialiste du code par Meta
ollama run codellama:7b          # 8 Go RAM
ollama run codellama:13b         # meilleur équilibre
ollama run codellama:13b-instruct # optimisé instructions

# DeepSeek Coder V2 - rivalise avec GPT-4 sur le code
ollama run deepseek-coder-v2:16b

# Mistral et Codestral
ollama run mistral      # polyvalent et léger
ollama run codestral    # spécifiquement pour le code

L'API REST locale

# Générer une complétion
curl http://localhost:11434/api/generate -d '{
  "model": "codellama:13b",
  "prompt": "Écris une fonction Python qui trie un dictionnaire par valeur",
  "stream": false
}'

# Format chat compatible OpenAI
curl http://localhost:11434/v1/chat/completions -d '{
  "model": "mistral",
  "messages": [
    {"role": "system", "content": "Tu es un expert NestJS."},
    {"role": "user", "content": "Comment implémenter un guard JWT avec Passport ?"}
  ]
}'

Intégration Node.js

const response = await fetch('http://localhost:11434/api/generate', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    model: 'deepseek-coder-v2:16b',
    prompt: `Analyse ce code TypeScript :\n${code}`,
    stream: false
  })
});
const { response: review } = await response.json();
console.log(review);

Créer un Modelfile personnalisé

# Modelfile.senior-reviewer
FROM codellama:13b

SYSTEM """
Tu es un senior developer spécialisé TypeScript et Angular.
Tu fais des revues de code rigoureuses.
Tu signales les problèmes de performance, sécurité et maintenabilité.
Réponds toujours en français.
"""

PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER num_ctx 8192
# Créer et utiliser le modèle
ollama create senior-reviewer -f Modelfile.senior-reviewer
cat src/app.component.ts | ollama run senior-reviewer "Revois ce composant Angular"

Performance : GPU vs CPU

ConfigurationModèle 7BModèle 13BModèle 34B
CPU seul (16 Go RAM)~8 tokens/s~4 tokens/sInutilisable
GPU 8 Go VRAM (RTX 3060)~40 tokens/s~20 tokens/s~8 tokens/s
GPU 16 Go VRAM (RTX 4080)~60 tokens/s~35 tokens/s~18 tokens/s
Apple M2 Pro (16 Go)~35 tokens/s~18 tokens/s~10 tokens/s

Intégration avec les éditeurs

Configuration Continue.dev dans ~/.continue/config.json :

{
  "models": [{
    "title": "DeepSeek Coder Local",
    "provider": "ollama",
    "model": "deepseek-coder-v2:16b"
  }],
  "tabAutocompleteModel": {
    "title": "CodeLlama Autocomplete",
    "provider": "ollama",
    "model": "codellama:7b-code"
  }
}

Ollama transforme l'IA générative d'un service cloud en un outil local, gratuit et privé. Pour les développeurs qui manipulent du code sensible ou qui veulent maîtriser leur infrastructure, c'est devenu aussi essentiel que Git ou Docker.

Partager cet article

À lire aussi en Outils Dev IA