Spaces:
Running
Running
| 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) | |
| def index(): | |
| return render_template('index.html') | |
| 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) |