Spaces:
Runtime error
Runtime error
| import logging | |
| import requests | |
| import os, shutil | |
| from flask import Flask, send_from_directory, request, jsonify | |
| app = Flask(__name__, static_folder='online_log/static') | |
| app.logger.setLevel(logging.ERROR) | |
| log = logging.getLogger('werkzeug') | |
| log.setLevel(logging.ERROR) | |
| messages = [] | |
| import threading | |
| from urllib.parse import parse_qs | |
| FILE_DIR = os.path.dirname(os.path.abspath(__file__)) | |
| OUTPUT_DIR = os.path.join(FILE_DIR, "WareHouse") | |
| def check_outdir(): | |
| if not os.path.exists(OUTPUT_DIR): | |
| os.mkdir(OUTPUT_DIR) | |
| else: | |
| shutil.rmtree(OUTPUT_DIR) | |
| os.mkdir(OUTPUT_DIR) | |
| def zip_all_files(): | |
| shutil.make_archive("online_log/static/Outputs", "zip", OUTPUT_DIR) | |
| def clear_all_files(): | |
| shutil.rmtree(OUTPUT_DIR) | |
| os.mkdir(OUTPUT_DIR) | |
| def send_msg(role, text): | |
| try: | |
| data = {"role": role, "text": text} | |
| response = requests.post("http://127.0.0.1:7860/send_message", json=data) | |
| if response.status_code == 200: | |
| print("Message sent successfully!") | |
| else: | |
| print("Failed to send message.") | |
| except: | |
| logging.info("flask app.py did not start for online log") | |
| def index(): | |
| return send_from_directory("online_log/static", "index.html") | |
| def Outputs(): | |
| return send_from_directory("online_log/static", "Outputs.zip") | |
| def chain_visualizer(): | |
| return send_from_directory("online_log/static", "chain_visualizer.html") | |
| def replay(): | |
| return send_from_directory("online_log/static", "replay.html") | |
| def download(): | |
| return send_from_directory("online_log/static", "index.html") | |
| def get_messages(): | |
| return jsonify(messages) | |
| def send_message(): | |
| data = request.get_json() | |
| role = data.get("role") | |
| text = data.get("text") | |
| avatarUrl = find_avatar_url(role) | |
| message = {"role": role, "text": text, "avatarUrl": avatarUrl} | |
| messages.append(message) | |
| return jsonify(message) | |
| def run(): | |
| data = request.get_data().decode('utf-8') | |
| query_params = parse_qs(data) | |
| task = query_params['task'][0].replace("+", " ") | |
| config = query_params['config'][0] | |
| api_key = query_params['api_key'][0] | |
| os.environ["OPENAI_API_KEY"] = api_key | |
| check_outdir() | |
| from run import runchatdev | |
| # apper = threading.Thread(target=runchatdev, args=[task, config]) | |
| # apper.setDaemon(True) | |
| # apper.start() | |
| runchatdev(task, config) | |
| zip_all_files() | |
| return send_from_directory("online_log/static", "index.html") | |
| def find_avatar_url(role): | |
| role = role.replace(" ", "%20") | |
| avatar_filename = f"avatars/{role}.png" | |
| avatar_url = f"/static/{avatar_filename}" | |
| return avatar_url | |
| if __name__ == "__main__": | |
| app.run(host="0.0.0.0", port=7860) |