from fastapi import FastAPI, Request from huggingface_hub import InferenceClient import os import json app = FastAPI() # Utilisation du moteur Llama-3 (Puissant et sans quotas de merde) client = InferenceClient("meta-llama/Meta-Llama-3-8B-Instruct") SYSTEM_PROMPT = """Tu es le CERVEAU DU MONSTRE-LAB. Ta mission : Interpréter les ordres et générer du code Python pour mes 5 membres : 1. SUPABASE (Données) 2. RCLONE (Cloud/Fichiers) 3. BOT TELEGRAM (Alertes) 4. CHANNEL TELEGRAM (Public) 5. GITHUB (Exécution) Tu dois répondre UNIQUEMENT au format JSON strict : { "action": "nom_action", "membre": "membre_concerne", "fichier": "nom_du_script.py", "code": "code_python_complet", "statut": "pret" }""" @app.post("/ordre") async def monstre_process(request: Request): data = await request.json() message = data.get("message", "") # L'IA génère la réponse response_text = "" for msg in client.chat_completion( messages=[ {"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": message}, ], max_tokens=3000, temperature=0.1 ): response_text += msg.choices[0].delta.content or "" # Nettoyage pour garantir le JSON try: start = response_text.find("{") end = response_text.rfind("}") + 1 return json.loads(response_text[start:end]) except: return {"error": "Format JSON corrompu", "brut": response_text} @app.get("/") def home(): return {"message": "Le Cerveau du Monstre est en ligne"}