## Travaux pratiques — votre premier LLM souverain

**Objectif** : exposer un modèle ouvert derrière une API compatible OpenAI, en local, puis
mesurer l'effet de la quantization.

### Étape 1 — Démarrage rapide avec Ollama
```bash
# Installer Ollama puis :
ollama pull mistral
ollama run mistral "Explique la souveraineté numérique en 3 phrases."
```

### Étape 2 — Appeler l'API locale (compatible OpenAI)
```bash
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral",
    "messages": [{"role": "user", "content": "Bonjour"}]
  }'
```

### Étape 3 — Passage à l'échelle avec vLLM (sur GPU)
```bash
pip install vllm
python -m vllm.entrypoints.openai.api_server \
  --model mistralai/Mistral-7B-Instruct-v0.3 \
  --quantization awq --max-model-len 8192
```

### 📌 Mise en situation
Vous êtes l'architecte d'une administration qui veut **éprouver la faisabilité** avant
d'acheter du GPU. Faites tourner le modèle sur votre poste (Ollama), branchez-y un petit
script applicatif, **mesurez la latence** sur 10 questions métier, puis comparez avec la
version AWQ/INT4. Vous obtenez des chiffres réels pour défendre (ou non) l'achat d'un GPU.

### Livrable attendu
Un endpoint local qui répond à une requête de chat, **et** une note d'une page comparant la
latence et l'empreinte mémoire entre la version non quantifiée et la version AWQ/INT4, avec
votre recommandation chiffrée.