# 📥 Télécharger les Modèles d'IA

## Pourquoi Télécharger les Modèles ?

RPA Vision V2 utilise plusieurs modèles d'IA :
- **OpenCLIP** : Pour la mémoire visuelle (embeddings)
- **OWL-v2** : Pour la détection d'éléments UI
- **Qwen 2.5-VL** : Pour le raisonnement visuel (via Ollama)

Ces modèles sont téléchargés **automatiquement** lors de la première utilisation, mais cela peut prendre du temps.

## 🚀 Téléchargement Automatique

### Option 1: Script de Téléchargement (Recommandé)

```bash
cd geniusia2
source venv/bin/activate
python3 download_models.py
```

Ce script télécharge tous les modèles nécessaires en une seule fois.

### Option 2: Laisser l'Application Télécharger

Les modèles seront téléchargés automatiquement au premier lancement :
- **OpenCLIP** : ~600 MB (téléchargé au démarrage)
- **OWL-v2** : ~1.5 GB (téléchargé à la première détection)
- **Qwen 2.5-VL** : ~4 GB (via Ollama, optionnel)

---

## 📦 Détails des Modèles

### 1. OpenCLIP (Obligatoire)

**Utilisation** : Mémoire visuelle et comparaison d'images

**Téléchargement automatique** : Oui, au démarrage de l'application

**Taille** : ~600 MB

**Emplacement** : Cache Hugging Face (`~/.cache/huggingface/`)

### 2. OWL-v2 (Obligatoire)

**Utilisation** : Détection d'éléments UI (boutons, champs, etc.)

**Téléchargement automatique** : Oui, à la première détection

**Taille** : ~1.5 GB

**Emplacement** : `geniusia2/models/owl_v2/`

**Téléchargement manuel** :
```python
from transformers import Owlv2Processor, Owlv2ForObjectDetection

processor = Owlv2Processor.from_pretrained(
    "google/owlv2-base-patch16-ensemble"
)
model = Owlv2ForObjectDetection.from_pretrained(
    "google/owlv2-base-patch16-ensemble"
)
```

### 3. Qwen3-VL (Optionnel mais Recommandé)

**Utilisation** : Raisonnement visuel avancé

**Téléchargement automatique** : Non, via Ollama

**Taille** : ~6 GB (version 8b)

**Installation** :
```bash
# 1. Installer Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 2. Télécharger le modèle (version 8b recommandée)
ollama pull qwen3-vl:8b

# 3. Vérifier
ollama list
```

**Versions disponibles** :
- `qwen3-vl:8b` : 6 GB (recommandé, bon équilibre)
- `qwen3-vl:32b` : 20 GB (meilleure qualité, plus lent)

**Note** : L'application fonctionne sans Qwen, mais avec des capacités réduites.

---

## 🔍 Vérifier les Modèles Installés

### Vérifier OpenCLIP
```bash
cd geniusia2
source venv/bin/activate
python3 -c "import open_clip; print('OpenCLIP OK')"
```

### Vérifier OWL-v2
```bash
ls -lh models/owl_v2/
```

### Vérifier Ollama et Qwen
```bash
ollama list
```

---

## 💾 Espace Disque Requis

| Modèle | Taille | Obligatoire |
|--------|--------|-------------|
| OpenCLIP | ~600 MB | ✅ Oui |
| OWL-v2 | ~1.5 GB | ✅ Oui |
| Qwen 2.5-VL | ~4 GB | ⚠️ Optionnel |
| **Total** | **~6 GB** | |

**Espace recommandé** : 10 GB libres

---

## ⚡ Optimisation

### Utiliser un GPU (Optionnel)

Si tu as une carte NVIDIA avec CUDA :

1. **Vérifier CUDA** :
```bash
nvidia-smi
```

2. **Les modèles utiliseront automatiquement le GPU** si disponible

3. **Performance** :
   - CPU : ~2-5 secondes par détection
   - GPU : ~0.1-0.5 secondes par détection

### Mode Dégradé (Sans Qwen)

L'application fonctionne sans Ollama/Qwen :
- ✅ Détection UI : OWL-v2
- ✅ Mémoire visuelle : OpenCLIP
- ❌ Raisonnement avancé : Désactivé

---

## 🐛 Dépannage

### Erreur "Out of Memory"

**Cause** : Pas assez de RAM/VRAM

**Solution** :
1. Fermer les applications gourmandes
2. Utiliser un modèle plus petit (à venir)
3. Augmenter le swap

### Téléchargement Lent

**Cause** : Connexion internet lente

**Solution** :
1. Utiliser le script `download_models.py` en arrière-plan
2. Télécharger pendant la nuit
3. Utiliser un miroir Hugging Face (avancé)

### Ollama ne Démarre Pas

**Cause** : Service non démarré

**Solution** :
```bash
# Démarrer Ollama
ollama serve

# Dans un autre terminal
ollama pull qwen2.5-vl:7b
```

---

## 📝 Résumé

**Pour une installation complète** :

```bash
# 1. Installer Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 2. Télécharger Qwen
ollama pull qwen2.5-vl:7b

# 3. Télécharger les autres modèles
cd geniusia2
source venv/bin/activate
python3 download_models.py

# 4. Lancer l'application
./run.sh
```

**Pour une installation minimale** (sans Qwen) :

```bash
# Les modèles seront téléchargés automatiquement
cd geniusia2
./run.sh
```

---

**Les modèles sont téléchargés une seule fois et réutilisés ensuite ! 🚀**
