- 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)
116 lines
4.7 KiB
Markdown
116 lines
4.7 KiB
Markdown
# Crawl4AI sur folzo-Corp
|
|
|
|
## Architecture
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ folzo-Corp (GPU) │
|
|
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌────────┐ │
|
|
│ │ Ollama │ │ComfyUI │ │Effi-STT │ │Effi-OCR │ │Crawl4AI│ │
|
|
│ │ :11434 │ │ :8188 │ │ :8200 │ │ :8300 │ │:11235 │ │
|
|
│ └────┬────┘ └─────────┘ └─────────┘ └─────────┘ └───┬────┘ │
|
|
│ │ │ │
|
|
│ │ http://192.168.1.11:11235 │ │
|
|
│ └──────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
│
|
|
│ HTTP API
|
|
│
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ effi-server (J5040) │
|
|
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
|
|
│ │ OpenWebUI │ │ Qdrant │ │ Tool Config │ │
|
|
│ │ :3000 │ │ :6333 │ │ Crawl4AI Base URL: │ │
|
|
│ └──────┬──────┘ └─────────────┘ │ http://192.168.1.11:11235│ │
|
|
│ │ └─────────────────────────┘ │
|
|
│ │ ❌ PAS de Crawl4AI local │
|
|
└─────────┼───────────────────────────────────────────────────────┘
|
|
│
|
|
└──────► Réseau effi-net
|
|
```
|
|
|
|
## Déploiement
|
|
|
|
### 1. Sur folzo-Corp (déjà fait)
|
|
|
|
Les fichiers sont dans `/home/folzo/Documents/OpenCode/Projets/Effi/effi-crawl4ai/`
|
|
|
|
```bash
|
|
cd /home/folzo/Documents/OpenCode/Projets/Effi/effi-crawl4ai
|
|
docker-compose up -d
|
|
```
|
|
|
|
### 2. Sur effi-server (à faire)
|
|
|
|
**Supprimer le service local qui ne fonctionne pas :**
|
|
|
|
```bash
|
|
cd /root/effi
|
|
|
|
# Option A : Script automatique
|
|
curl -o remove-from-effi.sh [URL_du_script]
|
|
bash remove-from-effi.sh
|
|
|
|
# Option B : Manuel
|
|
docker-compose stop crawl4ai
|
|
docker-compose rm -f crawl4ai
|
|
docker rmi unclecode/crawl4ai:basic
|
|
|
|
# Éditer docker-compose.yml et supprimer le service crawl4ai (section #8)
|
|
```
|
|
|
|
**Ouvrir le firewall sur folzo-Corp** :
|
|
|
|
```bash
|
|
# Sur folzo-Corp
|
|
sudo firewall-cmd --add-port=11235/tcp --permanent
|
|
sudo firewall-cmd --reload
|
|
```
|
|
|
|
### 3. Configuration OpenWebUI
|
|
|
|
Dans http://192.168.1.27:3000 :
|
|
|
|
1. **Admin Panel** → **Tools** → **Web Search and Crawl** → ⚙️
|
|
2. **Crawl4AI Base URL** : `http://192.168.1.11:11235` ← L'IP de folzo-Corp !
|
|
3. **Timeout** : `30000` (ou `60000` si lenteur)
|
|
4. Activer le Tool ✅
|
|
|
|
## Avantages de cette architecture
|
|
|
|
✅ **Crawl4AI** tourne sur CPU/GPU puissant (folzo-Corp)
|
|
✅ **Effi-server** (J5040) n'est pas surchargé
|
|
✅ **Réseau** local rapide entre les deux machines
|
|
✅ **Charge répartie** : scraping sur folzo-Corp, interface sur effi-server
|
|
|
|
## Vérification
|
|
|
|
```bash
|
|
# Sur folzo-Corp
|
|
curl http://localhost:11235/health
|
|
# Résultat : {"status":"healthy"}
|
|
|
|
# Sur effi-server
|
|
curl http://192.168.1.11:11235/health
|
|
# Résultat : {"status":"healthy"}
|
|
```
|
|
|
|
## Test
|
|
|
|
Dans OpenWebUI :
|
|
> *"Effi, cherche les dernières nouvelles sur Linux et résume-moi un article"*
|
|
|
|
## Troubleshooting
|
|
|
|
**"Connection refused" depuis effi-server** :
|
|
- Vérifier que Crawl4AI tourne sur folzo-Corp : `docker ps | grep crawl4ai`
|
|
- Vérifier le firewall sur folzo-Corp : `sudo firewall-cmd --list-ports`
|
|
|
|
**Timeout** :
|
|
- Augmenter à 60000ms dans OpenWebUI
|
|
- La latence réseau entre les machines peut causer des timeouts
|
|
|
|
---
|
|
|
|
*Architecture mise à jour pour J5040 + RX 7800 XT*
|