onlinepython / app.py
pythononlinegcc's picture
Update app.py
1021517 verified
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)