from flask import Flask, request, jsonify, render_template from huggingface_hub import InferenceClient import os api = os.getenv('api') app = Flask(__name__) client = InferenceClient(api_key=api) @app.route('/') def index(): return render_template('index.html') @app.route("/run", methods=["POST"]) def run_code(): """Синхронизировано с фронтендом: принимаем 'code', отдаем 'output'""" data = request.get_json() # Берем содержимое редактора user_code = data.get("code", "").strip() if not user_code: return jsonify({"output": "Error: Empty request"}), 400 try: # Модель лучше указать реальную, например Qwen 2.5 Coder response = client.chat.completions.create( model="Qwen/Qwen3.5-27B", messages=[{"role": "system", "content": "в твоем ответе только число и ничего более"},{"role": "user", "content": user_code}], max_tokens=2000, temperature=0.5 ) answer = response.choices[0].message.content return jsonify({"output": answer}) except Exception as e: # Если API отвалилось — это трында, возвращаем ошибку как вывод терминала return jsonify({"output": f"Traceback (most recent call last):\n File \"main.py\", line 1, in \nRuntimeError: {str(e)}"}), 500 if __name__ == '__main__': # Порт 7860 обязателен для Hugging Face Spaces app.run(host='0.0.0.0', port=7860)