dan92 commited on
Commit
93fe271
·
verified ·
1 Parent(s): f2f69b9

Update api/utils.py

Browse files
Files changed (1) hide show
  1. api/utils.py +29 -20
api/utils.py CHANGED
@@ -103,29 +103,38 @@ async def process_streaming_response(request: ChatRequest):
103
  json=json_data,
104
  timeout=100,
105
  ) as response:
106
- response.raise_for_status()
107
- async for line in response.aiter_lines():
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  timestamp = int(datetime.now().timestamp())
109
- if line:
110
- content = line + "\n"
111
- if "https://www.blackbox.ai" in content:
112
- validate.getHid(True)
113
- content = "hid已刷新,重新对话即可\n"
114
- yield f"data: {json.dumps(create_chat_completion_data(content, request.model, timestamp))}\n\n"
115
- break
116
- if content.startswith("$@$v=undefined-rv1$@$"):
117
- yield f"data: {json.dumps(create_chat_completion_data(content[21:], request.model, timestamp))}\n\n"
118
- else:
119
- yield f"data: {json.dumps(create_chat_completion_data(content, request.model, timestamp))}\n\n"
120
-
121
- yield f"data: {json.dumps(create_chat_completion_data('', request.model, timestamp, 'stop'))}\n\n"
122
- yield "data: [DONE]\n\n"
123
- except httpx.HTTPStatusError as e:
124
- logger.error(f"HTTP error occurred: {e}")
125
- raise HTTPException(status_code=e.response.status_code, detail=str(e))
126
  except httpx.RequestError as e:
127
  logger.error(f"Error occurred during request: {e}")
128
- raise HTTPException(status_code=500, detail=str(e))
 
 
 
 
129
 
130
 
131
  async def process_non_streaming_response(request: ChatRequest):
 
103
  json=json_data,
104
  timeout=100,
105
  ) as response:
106
+ try:
107
+ response.raise_for_status()
108
+ async for line in response.aiter_lines():
109
+ timestamp = int(datetime.now().timestamp())
110
+ if line:
111
+ content = line + "\n"
112
+ if "https://www.blackbox.ai" in content:
113
+ validate.getHid(True)
114
+ content = "hid已刷新,重新对话即可\n"
115
+ yield f"data: {json.dumps(create_chat_completion_data(content, request.model, timestamp))}\n\n"
116
+ break
117
+ if content.startswith("$@$v=undefined-rv1$@$"):
118
+ yield f"data: {json.dumps(create_chat_completion_data(content[21:], request.model, timestamp))}\n\n"
119
+ else:
120
+ yield f"data: {json.dumps(create_chat_completion_data(content, request.model, timestamp))}\n\n"
121
+
122
+ yield f"data: {json.dumps(create_chat_completion_data('', request.model, timestamp, 'stop'))}\n\n"
123
+ yield "data: [DONE]\n\n"
124
+ except httpx.HTTPStatusError as e:
125
+ logger.error(f"HTTP error occurred: {e}")
126
+ error_message = "抱歉,服务器暂时无法处理您的请求。请稍后重试。"
127
  timestamp = int(datetime.now().timestamp())
128
+ yield f"data: {json.dumps(create_chat_completion_data(error_message, request.model, timestamp))}\n\n"
129
+ yield f"data: {json.dumps(create_chat_completion_data('', request.model, timestamp, 'stop'))}\n\n"
130
+ yield "data: [DONE]\n\n"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  except httpx.RequestError as e:
132
  logger.error(f"Error occurred during request: {e}")
133
+ error_message = "抱歉,连接服务器时出现错误。请检查网络连接并重试。"
134
+ timestamp = int(datetime.now().timestamp())
135
+ yield f"data: {json.dumps(create_chat_completion_data(error_message, request.model, timestamp))}\n\n"
136
+ yield f"data: {json.dumps(create_chat_completion_data('', request.model, timestamp, 'stop'))}\n\n"
137
+ yield "data: [DONE]\n\n"
138
 
139
 
140
  async def process_non_streaming_response(request: ChatRequest):