@@ -64,7 +64,7 @@ class RequestData(BaseModel):
6464executor = 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