2023-09-14 14:36:22 -06:00
|
|
|
import traceback
|
|
|
|
|
2023-08-21 21:28:52 -06:00
|
|
|
from flask import jsonify, request
|
|
|
|
|
2023-08-22 20:28:41 -06:00
|
|
|
from . import bp
|
2023-09-14 14:36:22 -06:00
|
|
|
from ..helpers.client import format_sillytavern_err
|
2023-08-30 20:19:23 -06:00
|
|
|
from ..helpers.http import validate_json
|
2023-09-12 16:40:09 -06:00
|
|
|
from ..ooba_request_handler import OobaRequestHandler
|
2023-08-21 21:28:52 -06:00
|
|
|
|
|
|
|
|
|
|
|
@bp.route('/generate', methods=['POST'])
|
|
|
|
def generate():
|
2023-09-12 16:40:09 -06:00
|
|
|
request_valid_json, request_json_body = validate_json(request)
|
2023-09-12 10:30:45 -06:00
|
|
|
if not request_valid_json or not request_json_body.get('prompt'):
|
2023-08-30 20:19:23 -06:00
|
|
|
return jsonify({'code': 400, 'msg': 'Invalid JSON'}), 400
|
|
|
|
else:
|
2023-09-14 14:26:25 -06:00
|
|
|
try:
|
|
|
|
return OobaRequestHandler(request).handle_request()
|
|
|
|
except Exception as e:
|
|
|
|
print(f'EXCEPTION on {request.url}!!!', f'{e.__class__.__name__}: {e}')
|
2023-09-14 15:07:17 -06:00
|
|
|
print(traceback.format_exc())
|
2023-09-14 14:26:25 -06:00
|
|
|
print(request.data)
|
2023-09-14 15:07:17 -06:00
|
|
|
return format_sillytavern_err(f'Server encountered exception.', 'error'), 200
|