Monstre-lab / app.py
Tsitsi19's picture
Create app.py
9796654 verified
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"}