Ajout Effi-OCR (Tesseract) + Web Scraper pour OpenWebUI

- Effi-OCR: Service OCR avec Tesseract (multilingue FR/EN)
  * API FastAPI sur port 8300
  * Prétraitement images (contraste, niveaux de gris)
  * Tool OpenWebUI intégré

- Web Scraper: Service Python (BeautifulSoup) sur port 11235
  * Alternative à Crawl4AI (incompatible ARM64/J5040)
  * Scraping HTML basique mais fonctionnel
  * Intégré au docker-compose d'effi-server

- Documentation:
  * ROADMAP-FONCTIONNALITES.md: Plan des 9 fonctionnalités
  * WEB-SCRAPER-CONFIG.md: Configuration OpenWebUI
  * WEB-SCRAPER-TOOL.md: Code du Tool

- Script start-all-services.sh mis à jour (6 services)
This commit is contained in:
Folzo
2026-04-06 16:34:27 +02:00
parent 5f1e19ff91
commit 93f31cdaeb
25 changed files with 2469 additions and 6 deletions
+111
View File
@@ -0,0 +1,111 @@
# Effi-Crawl4AI
Service **Crawl4AI** pour le web scraping avancé dans OpenWebUI.
## Architecture
```
┌─────────────────┐ HTTP API ┌─────────────────┐
│ OpenWebUI │ ◄────────────────► │ Crawl4AI │
│ (effi-server) │ Port 11235 │ (effi-server) │
└─────────────────┘ └─────────────────┘
│ │
└────────────────────────────────────┘
Même machine (localhost)
```
**Note** : Le service tourne sur effi-server (Ubuntu) sur CPU. Version `basic` (plus légère que `all`).
## Déploiement sur effi-server
1. **Copier les fichiers** sur effi-server :
```bash
scp -r /path/to/effi-crawl4ai user@192.168.1.27:/home/user/
```
2. **Démarrer le service** :
```bash
cd /home/user/effi-crawl4ai
docker-compose up -d
```
## Vérification
```bash
curl http://localhost:11235/health
```
## Configuration OpenWebUI
Dans OpenWebUI (Admin → Tools → Web Search and Crawl) :
**Valves à configurer :**
- **Crawl4AI Base URL** : `http://localhost:11235` (ou `http://127.0.0.1:11235`)
- **API Token** : (laisser vide si pas de token configuré)
- **Timeout** : `30000` (30 secondes)
```
┌─────────────────┐ HTTP API ┌─────────────────┐
│ OpenWebUI │ ◄────────────────► │ Crawl4AI │
│ (effi-server) │ Port 11235 │ (folzo-Corp) │
└─────────────────┘ └─────────────────┘
```
## Démarrage
```bash
docker-compose up -d
```
## Vérification
```bash
curl http://192.168.1.11:11235/health
```
## Configuration OpenWebUI
Dans OpenWebUI (Admin → Tools → Web Search and Crawl) :
**Valves à configurer :**
- **Crawl4AI Base URL** : `http://192.168.1.11:11235`
- **API Token** : (laisser vide si pas de token configuré)
- **Timeout** : `30000` (30 secondes)
## Utilisation
Une fois configuré, l'agent peut :
```
"Effi, cherche des informations sur les dernières mises à jour de Fedora 42"
"Résume-moi cet article : https://example.com/article"
"Compare les prix de ce produit sur 3 sites différents"
```
## Fonctionnalités
- ✅ Scraping JavaScript (pages dynamiques)
- ✅ Extraction structurée (JSON, markdown)
- ✅ Screenshot des pages
- ✅ Respect des robots.txt
- ✅ Rate limiting configurable
## Troubleshooting
**Erreur de connexion** : Vérifier que le conteneur tourne
```bash
docker ps | grep crawl4ai
docker logs effi-crawl4ai
```
**Timeout** : Augmenter le timeout dans les Valves du Tool (60000ms = 60s)
**Lenteur** : La version CPU est plus lente que la version GPU. Pour les pages lourdes en JavaScript, augmenter le timeout à 60-90s.
## Limitations (version CPU)
- ⏱️ Plus lent sur les pages JavaScript lourdes
- 🎯 Limité à 3 tâches concurrentes (vs 5 sur GPU)
- 💾 2GB RAM max (suffisant pour la plupart des sites)
Pour du scraping intensif (100+ pages/heure), envisager de déplacer sur folzo-Corp avec l'image `unclecode/crawl4ai:all`.