Commit 350c6514 by 范立洲

fix: not found response

parent 646de298
# coding=utf-8 # coding=utf-8
# import json # import json
import traceback
from flask_restful import Resource from flask_restful import Resource
from flask import current_app, request from flask import current_app, request
from typing import Dict from typing import Dict
...@@ -74,9 +75,10 @@ class CompletionResource(Resource): ...@@ -74,9 +75,10 @@ class CompletionResource(Resource):
try: try:
answer = self.qa_bot.complete(**req) answer = self.qa_bot.complete(**req)
if answer is None: if answer is None:
return response.NotFound("No Answer Found") return response.NotFound("No Answer Found", prompt=req["prompt"])
return response.OK("OK", answer.to_dict()) return response.OK("OK", answer.to_dict())
except Exception as e: except Exception as e:
traceback.print_exc()
return response.InternalServerError(str(e)) return response.InternalServerError(str(e))
# 1.2 intent ==> chatgpt # 1.2 intent ==> chatgpt
...@@ -84,6 +86,7 @@ class CompletionResource(Resource): ...@@ -84,6 +86,7 @@ class CompletionResource(Resource):
resp = self.chatgpt_bot.complete(req["prompt"]) resp = self.chatgpt_bot.complete(req["prompt"])
return response.OK("", resp.to_dict()) return response.OK("", resp.to_dict())
except Exception as e: except Exception as e:
traceback.print_exc()
return response.InternalServerError(str(e)) return response.InternalServerError(str(e))
def _completion(self, req: Dict): def _completion(self, req: Dict):
...@@ -95,9 +98,10 @@ class CompletionResource(Resource): ...@@ -95,9 +98,10 @@ class CompletionResource(Resource):
try: try:
answer = self.qa_bot.complete(**req) answer = self.qa_bot.complete(**req)
if answer is None: if answer is None:
return response.NotFound("No Answer Found") return response.NotFound("No Answer Found", prompt=req["prompt"])
return response.OK("OK", answer.to_dict()) return response.OK("OK", answer.to_dict())
except Exception as e: except Exception as e:
traceback.print_exc()
return response.InternalServerError(str(e)) return response.InternalServerError(str(e))
# 1.2 intent ==> chatgpt # 1.2 intent ==> chatgpt
...@@ -105,6 +109,7 @@ class CompletionResource(Resource): ...@@ -105,6 +109,7 @@ class CompletionResource(Resource):
resp = self.chatgpt_bot.complete(req["prompt"]) resp = self.chatgpt_bot.complete(req["prompt"])
return response.OK("", resp.to_dict()) return response.OK("", resp.to_dict())
except Exception as e: except Exception as e:
traceback.print_exc()
return response.InternalServerError(str(e)) return response.InternalServerError(str(e))
......
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
import json import json
from flask import make_response from flask import make_response
from ..core.common import BotPayload
DefaultErrorAnswer = "抱歉,我暂时还不明白您的问题,您可以问问我其他的。"
def wrap_response(f): def wrap_response(f):
...@@ -36,13 +39,18 @@ class BadRequest(Response): ...@@ -36,13 +39,18 @@ class BadRequest(Response):
class InternalServerError(Response): class InternalServerError(Response):
def __init__(self, message): def __init__(self, message, prompt=""):
super(InternalServerError, self).__init__(500, message, None) errorAnswer = {"question": prompt, "answer": DefaultErrorAnswer}
super(InternalServerError, self).__init__(
500, message, BotPayload.factory(**errorAnswer).to_dict()
)
class NotFound(Response): class NotFound(Response):
def __init__(self, message): def __init__(self, message, prompt=""):
super(NotFound, self).__init__(404, message, None) notFoundAnswer = {"question": prompt, "answer": DefaultErrorAnswer}
super(NotFound, self).__init__(
404, message, BotPayload.factory(**notFoundAnswer).to_dict()
)
class Forbidden(Response): class Forbidden(Response):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论