|
from flask import Flask, request, Response, render_template |
|
from pmbl import PMBL |
|
import os |
|
import json |
|
|
|
app = Flask(__name__, template_folder='.') |
|
pmbl = PMBL("./PMB-7b.Q6_K.gguf") |
|
|
|
@app.route("/chat", methods=['POST']) |
|
def chat(): |
|
try: |
|
data = request.get_json() |
|
user_input = data["user_input"] |
|
mode = data["mode"] |
|
history = pmbl.get_chat_history(mode, user_input) |
|
response_generator = pmbl.generate_response(user_input, history, mode) |
|
return Response(response_generator, mimetype='text/plain') |
|
except Exception as e: |
|
print(f"[SYSTEM] Error: {str(e)}") |
|
return json.dumps({"error": str(e)}) |
|
|
|
@app.route("/", methods=['GET']) |
|
def root(): |
|
return render_template("index.html") |
|
|
|
@app.route("/sleep", methods=['POST']) |
|
def sleep(): |
|
try: |
|
pmbl.sleep_mode() |
|
return json.dumps({"message": "Sleep mode completed successfully"}) |
|
except Exception as e: |
|
print(f"[SYSTEM] Error: {str(e)}") |
|
return json.dumps({"error": str(e)}) |
|
|
|
if __name__ == "__main__": |
|
app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 8000))) |