local-llm-server/llm_server/routes/v1/generate.py

27 lines
970 B
Python
Raw Normal View History

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
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():
disable_st_error_formatting = request.headers.get('LLM-ST-Errors', False) == 'true'
2023-09-12 16:40:09 -06:00
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:
try:
return OobaRequestHandler(request).handle_request()
except Exception as e:
2023-09-26 22:09:11 -06:00
print(f'EXCEPTION on {request.url}!!!')
print(traceback.format_exc())
if disable_st_error_formatting:
return '500', 500
else:
return format_sillytavern_err(f'Server encountered exception.', 'error'), 500