Spaces:
Running
Running
File size: 1,667 Bytes
e57f45e 89e328e ea723bf e57f45e ea723bf e57f45e ea723bf e57f45e 86c7a70 e57f45e 89e328e e57f45e 89e328e e57f45e 89e328e e57f45e d819472 1021517 99e1294 89e328e e57f45e 89e328e e57f45e 89e328e e57f45e 89e328e 75e8c76 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 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 <module>\nRuntimeError: {str(e)}"}), 500
if __name__ == '__main__':
# Порт 7860 обязателен для Hugging Face Spaces
app.run(host='0.0.0.0', port=7860) |