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)