import traceback from flask import jsonify, request from . import bp from ..helpers.client import format_sillytavern_err from ..helpers.http import validate_json from ..ooba_request_handler import OobaRequestHandler @bp.route('/generate', methods=['POST']) def generate(): request_valid_json, request_json_body = validate_json(request) if not request_valid_json or not request_json_body.get('prompt'): return jsonify({'code': 400, 'msg': 'Invalid JSON'}), 400 else: handler = OobaRequestHandler(request) try: return handler.handle_request() except Exception: traceback.print_exc() return handler.handle_error('Server encountered exception.', 'exception')[0], 500