- 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)
112 lines
3.4 KiB
Markdown
112 lines
3.4 KiB
Markdown
# 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`.
|