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:
@@ -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`.
|
||||
Reference in New Issue
Block a user