Skip to content

Commit c000a42

Browse files
committed
fix bug
1 parent 850bbca commit c000a42

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

fastapi4modelcache.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class RequestData(BaseModel):
6464
executor = ThreadPoolExecutor(max_workers=6)
6565

6666
# 异步保存查询信息
67-
async def save_query_info_fastapi(result, model, query, delta_time_log):
67+
async def save_query_info(result, model, query, delta_time_log):
6868
loop = asyncio.get_running_loop()
6969
func = functools.partial(cache.data_manager.save_query_resp, result, model=model, query=json.dumps(query, ensure_ascii=False), delta_time=delta_time_log)
7070
await loop.run_in_executor(None, func)
@@ -86,9 +86,12 @@ async def user_backend(request: Request):
8686
try:
8787
# 尝试将字符串解析为JSON对象
8888
request_data = json.loads(raw_body)
89-
except json.JSONDecodeError:
89+
except json.JSONDecodeError as e:
9090
# 如果无法解析,返回格式错误
91-
raise HTTPException(status_code=400, detail="Invalid JSON format")
91+
result = {"errorCode": 101, "errorDesc": str(e), "cacheHit": False, "delta_time": 0, "hit_query": '',
92+
"answer": ''}
93+
asyncio.create_task(save_query_info(result, model='', query='', delta_time_log=0))
94+
raise HTTPException(status_code=101, detail="Invalid JSON format")
9295
else:
9396
request_data = raw_body
9497

@@ -97,7 +100,7 @@ async def user_backend(request: Request):
97100
try:
98101
request_data = json.loads(request_data)
99102
except json.JSONDecodeError:
100-
raise HTTPException(status_code=400, detail="Invalid JSON format")
103+
raise HTTPException(status_code=101, detail="Invalid JSON format")
101104

102105
request_type = request_data.get('type')
103106
model = None
@@ -106,8 +109,12 @@ async def user_backend(request: Request):
106109
query = request_data.get('query')
107110
chat_info = request_data.get('chat_info')
108111

109-
if not request_type or request_type not in ['query', 'insert', 'remove', 'detox']:
110-
raise HTTPException(status_code=400, detail="Type exception, should be one of ['query', 'insert', 'remove', 'detox']")
112+
if not request_type or request_type not in ['query', 'insert', 'remove', 'register']:
113+
result = {"errorCode": 102,
114+
"errorDesc": "type exception, should one of ['query', 'insert', 'remove', 'register']",
115+
"cacheHit": False, "delta_time": 0, "hit_query": '', "answer": ''}
116+
asyncio.create_task(save_query_info(result, model=model, query='', delta_time_log=0))
117+
raise HTTPException(status_code=102, detail="Type exception, should be one of ['query', 'insert', 'remove', 'register']")
111118

112119
except Exception as e:
113120
request_data = raw_body if 'raw_body' in locals() else None
@@ -145,7 +152,7 @@ async def user_backend(request: Request):
145152
result = {"errorCode": 0, "errorDesc": '', "cacheHit": True, "delta_time": delta_time, "hit_query": hit_query, "answer": answer}
146153

147154
delta_time_log = round(time.time() - start_time, 2)
148-
asyncio.create_task(save_query_info_fastapi(result, model, query, delta_time_log))
155+
asyncio.create_task(save_query_info(result, model, query, delta_time_log))
149156
return result
150157
except Exception as e:
151158
result = {"errorCode": 202, "errorDesc": str(e), "cacheHit": False, "delta_time": 0,

0 commit comments

Comments
 (0)