Date création : 18/01/2026 Dernière MAJ : 24/01/2026
L'AI Orchestrator gère 10 outils IA sur win11 (RTX 3090 24 Go). Certains outils nécessitent des patches pour fonctionner correctement.
Problème :
Fichier modifié : I:\Wan2.1\wan\modules\model.py
# AVANT (ligne ~10)
from .attention import flash_attention
# APRÈS
from .attention import attention as flash_attention
Explication : La fonction attention() dans attention.py a un fallback vers torch.nn.functional.scaled_dot_product_attention quand Flash Attention n'est pas disponible.
Mode d'exécution : L'orchestrator utilise generate.py (CLI) au lieu de l'interface Gradio pour éviter les problèmes de connexion.
Transfert fichier : SFTP avec format /I:/path (SCP ne supporte pas les chemins Windows)
Problème :
torchmcubes nécessite compilation CUDA sur WindowsFichier modifié : I:\TripoSR\tsr\models\isosurface.py
# AVANT
try:
import torchmcubes
TORCHMCUBES_AVAILABLE = True
except ImportError:
TORCHMCUBES_AVAILABLE = False
# APRÈS
try:
import mcubes
MCUBES_AVAILABLE = True
except ImportError:
MCUBES_AVAILABLE = False
# Et remplacer l'appel à torchmcubes par mcubes
Installation : pip install PyMCubes dans le venv TripoSR
Problèmes :
np.float déprécié dans NumPy 2.xFichiers modifiés :
I:\SadTalker\src\face3d\util\my_awing_arch.py (ligne 18)
# AVANT
preds = preds.astype(np.float, copy=False)
preds = preds.astype(float, copy=False)
2. `I:\SadTalker\src\face3d\util\preprocess.py` (ligne ~101)
```python
# AVANT
trans_params = np.array([w0, h0, s, t[0], t[1]])
# APRÈS
trans_params = np.array([w0, h0, float(s), float(t[0]), float(t[1])])
Modèles requis (à télécharger manuellement) :
checkpoints/SadTalker_V0.0.2_256.safetensors (~691 Mo)checkpoints/mapping_00109-model.pth.tar (~156 Mo)checkpoints/mapping_00229-model.pth.tar (~156 Mo)gfpgan/weights/detection_Resnet50_Final.pth (~109 Mo)gfpgan/weights/parsing_parsenet.pth (~85 Mo)gfpgan/weights/alignment_WFLW_4HG.pth (~185 Mo) - auto-téléchargéMode d'exécution : CLI (inference.py) recommandé - Gradio API renvoie 500.
Temps de rendu : ~7s par frame (38 frames pour 3s d'audio = ~5 min)
Le code dans app/main.py :
Timeout : 30 minutes max pour génération
/upload/call/preprocess/call/generate# Wan2.1
ssh gouro@192.168.1.30 'type I:\Wan2.1\wan\modules\model.py | findstr "from .attention"'
# Doit afficher: from .attention import attention as flash_attention
# TripoSR
ssh gouro@192.168.1.30 'type I:\TripoSR\tsr\models\isosurface.py | findstr mcubes'
# Doit afficher: import mcubes
ATTENTION : Lors de mise à jour des outils IA, les patches seront écrasés.
# Copier les fichiers patchés
scp gouro@192.168.1.30:"I:/Wan2.1/wan/modules/model.py" /stock_8to/backups/win11-patches/
scp gouro@192.168.1.30:"I:/TripoSR/tsr/models/isosurface.py" /stock_8to/backups/win11-patches/
curl -X POST 'http://192.168.1.12:5501/api/jobs' \
-H 'Content-Type: application/json' \
-d '{"tool_id":"wan21","job_type":"t2v","input_params":{"prompt":"a cat","steps":5}}'
Résultat attendu : status: completed après ~3-4 minutes
curl -X POST 'http://192.168.1.12:5501/api/jobs' \
-H 'Content-Type: application/json' \
-d '{"tool_id":"triposr","job_type":"3d","input_params":{"image_url":"https://example.com/image.png"}}'
Résultat attendu : status: completed avec fichier .glb
Permet de libérer le GPU pour jouer à un jeu, puis reprendre le traitement des jobs.
Pause (POST /api/worker/pause?stop_tools=true)
Resume (POST /api/worker/resume)
Bouton Pause/Resume disponible sur https://dashboard.nowhere84.com/ai-jobs.html
# Pause (arrête Ollama, libère VRAM)
curl -X POST "https://ai-orchestrator.33800.nowhere84.com/api/worker/pause?stop_tools=true"
# Resume
curl -X POST "https://ai-orchestrator.33800.nowhere84.com/api/worker/resume"
# Status
curl "https://ai-orchestrator.33800.nowhere84.com/api/worker/status"
332d0bc Add worker pause/resume systemd71d938 Fix: auto-start tools before processing jobscb4b474 Fix: stop tools based on health check