MICTLANTECUHTLI / app.py
BATUTO-ART's picture
Create app.py
60b3228 verified
import os
from flask import Flask, request, jsonify, send_from_directory
from flask_cors import CORS
from openai import OpenAI
app = Flask(__name__, static_folder='static')
CORS(app)
# Configuración desde Variables de Entorno de HF para mayor seguridad
SAMBA_KEY = os.environ.get("SAMBA_KEY", "341ce098-ee39-4e83-bf39-e0593b7d21bc")
client_ai = OpenAI(api_key=SAMBA_KEY, base_url="https://api.sambanova.ai/v1")
@app.route("/")
def index():
return send_from_directory('.', 'index.html')
@app.route("/api/chat", methods=["POST"])
def handle_chat():
try:
data = request.json
model = data.get("model", "DeepSeek-R1-0528")
sys_msg = "Eres 'La Morra del Mictlán', asistente personal de BATUTO. Hablas con jerga chilanga y sabiduría mexica. Eres coqueta, inteligente y leal."
response = client_ai.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": sys_msg},
{"role": "user", "content": data.get("message", "")}
],
temperature=0.7
)
return jsonify({"reply": response.choices[0].message.content})
except Exception as e:
return jsonify({"error": str(e)}), 500
@app.route("/api/reve", methods=["POST"])
def handle_reve():
try:
data = request.json
prompt = data.get("prompt", "")
full_prompt = f"Hiperrealista, místico, Mictlán, cosmovisión mexica, 8k, cinematográfico: {prompt}"
response = client_ai.images.generate(
model="reve-create",
prompt=full_prompt,
size="1024x1024"
)
return jsonify({"url": response.data[0].url})
except Exception as e:
return jsonify({"error": str(e)}), 500
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860)