flaskAPI / app.py
TruVlad's picture
Update app.py
e759fdd verified
from transformers import AutoModelForCausalLM, AutoTokenizer
#Flask-APScheduler
from flask_basicauth import BasicAuth
from datetime import datetime
from flask_apscheduler import APScheduler
from flask import Flask
from flsak import request
model_name = "inclusionAI/Ring-mini-2.0"
print(f"load model {model_name}")
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto",
trust_remote_code=True
)
print(f"load tokenizer {model_name}")
tokenizer = AutoTokenizer.from_pretrained(model_name)
app = Flask(__name__)
scheduler = APScheduler()
def scheduleTask():
print(f"This test runs every 30 seconds {datetime.now()}")
scheduler.add_job(id = 'Scheduled Task', func=scheduleTask, trigger="interval", seconds=30)
scheduler.start()
# Чтобы защитить паролем конечную точку задания:
# @basic_auth.required
basic_auth = BasicAuth(app)
app.config['BASIC_AUTH_REALM'] = 'realm'
app.config['BASIC_AUTH_USERNAME'] = 'vova'
app.config['BASIC_AUTH_PASSWORD'] = 'vova'
print(f"Flask app")
# Главная страница
@app.route("/", methods=['POST', 'GET']) #
@basic_auth.required
def root():
if request.args.get('logs'): #logs=container ?logs=container&__theme=system
return f"<h1>Главная logs</h1>"
else:
return f"<h1>Главная страница</h1><p>Добро пожаловать!</p><p>current model {model_name}</p>"
# Страница "О нас"
@app.route("/about")
def about():
return "<h1>О нас</h1><p>Мы изучаем Flask!</p>"
# Страница "Контакты"
@app.route("/contact")
def contact():
return "<h1>Контакты</h1><p>Свяжитесь с нами: email@example.com</p>"
if __name__ == "__main__":
app.run(debug=False, host='0.0.0.0', port=7860)