Update app.py
Browse files
app.py
CHANGED
@@ -8,6 +8,7 @@ import requests
|
|
8 |
import logging
|
9 |
from threading import Event
|
10 |
import re
|
|
|
11 |
|
12 |
app = Flask(__name__)
|
13 |
logging.basicConfig(level=logging.INFO)
|
@@ -124,6 +125,12 @@ def messages():
|
|
124 |
|
125 |
try:
|
126 |
json_body = request.json
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
model = json_body.get('model', 'claude-3-opus-20240229') # 动态获取模型,默认 claude-3-opus-20240229
|
128 |
stream = json_body.get('stream', True) # 默认为True
|
129 |
|
@@ -223,7 +230,9 @@ def messages():
|
|
223 |
})
|
224 |
|
225 |
except Exception as e:
|
|
|
226 |
logging.error(f"Error during WebSocket communication: {str(e)}")
|
|
|
227 |
yield create_event("content_block_delta", {
|
228 |
"type": "content_block_delta",
|
229 |
"index": 0,
|
@@ -247,7 +256,9 @@ def messages():
|
|
247 |
return Response(generate(), content_type='text/event-stream')
|
248 |
|
249 |
except Exception as e:
|
|
|
250 |
logging.error(f"Request error: {str(e)}")
|
|
|
251 |
log_request(request.remote_addr, request.path, 400)
|
252 |
return jsonify({"error": str(e)}), 400
|
253 |
|
@@ -328,7 +339,9 @@ def handle_non_stream(previous_messages, msg_id, model, input_tokens):
|
|
328 |
return Response(json.dumps(full_response, ensure_ascii=False), content_type='application/json')
|
329 |
|
330 |
except Exception as e:
|
|
|
331 |
logging.error(f"Request error: {str(e)}")
|
|
|
332 |
return jsonify({"error": str(e)}), 500
|
333 |
finally:
|
334 |
if sio.connected:
|
|
|
8 |
import logging
|
9 |
from threading import Event
|
10 |
import re
|
11 |
+
import traceback # 用于捕获详细的堆栈信息
|
12 |
|
13 |
app = Flask(__name__)
|
14 |
logging.basicConfig(level=logging.INFO)
|
|
|
125 |
|
126 |
try:
|
127 |
json_body = request.json
|
128 |
+
|
129 |
+
# 检查请求数据是否过大
|
130 |
+
request_size = len(json.dumps(json_body))
|
131 |
+
if request_size > 1 * 1024 * 1024: # 超过 1MB 的请求大小
|
132 |
+
logging.warning(f"Request size is too large: {request_size / 1024:.2f} KB")
|
133 |
+
|
134 |
model = json_body.get('model', 'claude-3-opus-20240229') # 动态获取模型,默认 claude-3-opus-20240229
|
135 |
stream = json_body.get('stream', True) # 默认为True
|
136 |
|
|
|
230 |
})
|
231 |
|
232 |
except Exception as e:
|
233 |
+
# 捕获并记录详细的堆栈信息
|
234 |
logging.error(f"Error during WebSocket communication: {str(e)}")
|
235 |
+
logging.error(traceback.format_exc()) # 输出堆栈信息
|
236 |
yield create_event("content_block_delta", {
|
237 |
"type": "content_block_delta",
|
238 |
"index": 0,
|
|
|
256 |
return Response(generate(), content_type='text/event-stream')
|
257 |
|
258 |
except Exception as e:
|
259 |
+
# 捕获并记录详细的堆栈信息
|
260 |
logging.error(f"Request error: {str(e)}")
|
261 |
+
logging.error(traceback.format_exc()) # 输出堆栈信息
|
262 |
log_request(request.remote_addr, request.path, 400)
|
263 |
return jsonify({"error": str(e)}), 400
|
264 |
|
|
|
339 |
return Response(json.dumps(full_response, ensure_ascii=False), content_type='application/json')
|
340 |
|
341 |
except Exception as e:
|
342 |
+
# 捕获并记录详细的堆栈信息
|
343 |
logging.error(f"Request error: {str(e)}")
|
344 |
+
logging.error(traceback.format_exc()) # 输出堆栈信息
|
345 |
return jsonify({"error": str(e)}), 500
|
346 |
finally:
|
347 |
if sio.connected:
|