smgc commited on
Commit
db9ffff
1 Parent(s): 261e366

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -19
app.py CHANGED
@@ -48,6 +48,9 @@ sio_opts = {
48
  }
49
 
50
  def log_request(ip, route, status):
 
 
 
51
  timestamp = datetime.now().isoformat()
52
  logging.info(f"{timestamp} - {ip} - {route} - {status}")
53
 
@@ -137,7 +140,7 @@ def messages():
137
  # 处理 stream 为 false 的情况
138
  return handle_non_stream(previous_messages, msg_id, model, input_tokens)
139
 
140
- # 记录日志:此时请求上下文仍然有效
141
  log_request(request.remote_addr, request.path, 200)
142
 
143
  def generate():
@@ -158,7 +161,7 @@ def messages():
158
  yield create_event("ping", {"type": "ping"})
159
 
160
  def on_connect():
161
- logging.info("Connected to Perplexity AI")
162
  emit_data = {
163
  "version": "2.9",
164
  "source": "default",
@@ -191,11 +194,11 @@ def messages():
191
  response_event.set()
192
 
193
  def on_disconnect():
194
- logging.info("Disconnected from Perplexity AI")
195
  response_event.set()
196
 
197
  def on_connect_error(data):
198
- logging.error(f"Connection error: {data}")
199
  response_text.append(f"Error connecting to Perplexity AI: {data}")
200
  response_event.set()
201
 
@@ -219,11 +222,11 @@ def messages():
219
  })
220
 
221
  except Exception as e:
222
- logging.error(f"Error during socket connection: {str(e)}")
223
  yield create_event("content_block_delta", {
224
  "type": "content_block_delta",
225
  "index": 0,
226
- "delta": {"type": "text_delta", "text": f"Error during socket connection: {str(e)}"},
227
  })
228
  finally:
229
  if sio.connected:
@@ -256,20 +259,20 @@ def handle_non_stream(previous_messages, msg_id, model, input_tokens):
256
  response_text = []
257
 
258
  def on_connect():
259
- logging.info("Connected to Perplexity AI")
260
  emit_data = {
261
  "version": "2.9",
262
  "source": "default",
263
  "attachments": [],
264
- "language": "en-GB",
265
- "timezone": "Europe/London",
266
- "mode": "concise",
267
- "is_related_query": False,
268
- "is_default_related_query": False,
269
- "visitor_id": str(uuid.uuid4()),
270
- "frontend_context_uuid": str(uuid.uuid4()),
271
- "prompt_source": "user",
272
- "query_source": "home"
273
  }
274
  sio.emit('perplexity_ask', (previous_messages, emit_data))
275
 
@@ -286,11 +289,11 @@ def handle_non_stream(previous_messages, msg_id, model, input_tokens):
286
  response_event.set()
287
 
288
  def on_disconnect():
289
- logging.info("Disconnected from Perplexity AI")
290
  response_event.set()
291
 
292
  def on_connect_error(data):
293
- logging.error(f"Connection error: {data}")
294
  response_text.append(f"Error connecting to Perplexity AI: {data}")
295
  response_event.set()
296
 
@@ -324,7 +327,7 @@ def handle_non_stream(previous_messages, msg_id, model, input_tokens):
324
  return Response(json.dumps(full_response, ensure_ascii=False), content_type='application/json')
325
 
326
  except Exception as e:
327
- logging.error(f"Error during socket connection: {str(e)}")
328
  return jsonify({"error": str(e)}), 500
329
  finally:
330
  if sio.connected:
 
48
  }
49
 
50
  def log_request(ip, route, status):
51
+ """
52
+ 记录请求的关键信息:IP地址、路由、状态码。
53
+ """
54
  timestamp = datetime.now().isoformat()
55
  logging.info(f"{timestamp} - {ip} - {route} - {status}")
56
 
 
140
  # 处理 stream 为 false 的情况
141
  return handle_non_stream(previous_messages, msg_id, model, input_tokens)
142
 
143
+ # 记录请求的关键信息:IP地址、路由、状态码
144
  log_request(request.remote_addr, request.path, 200)
145
 
146
  def generate():
 
161
  yield create_event("ping", {"type": "ping"})
162
 
163
  def on_connect():
164
+ logging.info("Connected to Perplexity AI WebSocket")
165
  emit_data = {
166
  "version": "2.9",
167
  "source": "default",
 
194
  response_event.set()
195
 
196
  def on_disconnect():
197
+ logging.info("Disconnected from Perplexity AI WebSocket")
198
  response_event.set()
199
 
200
  def on_connect_error(data):
201
+ logging.error(f"WebSocket connection error: {data}")
202
  response_text.append(f"Error connecting to Perplexity AI: {data}")
203
  response_event.set()
204
 
 
222
  })
223
 
224
  except Exception as e:
225
+ logging.error(f"Error during WebSocket connection: {str(e)}")
226
  yield create_event("content_block_delta", {
227
  "type": "content_block_delta",
228
  "index": 0,
229
+ "delta": {"type": "text_delta", "text": f"Error during WebSocket connection: {str(e)}"},
230
  })
231
  finally:
232
  if sio.connected:
 
259
  response_text = []
260
 
261
  def on_connect():
262
+ logging.info("Connected to Perplexity AI WebSocket")
263
  emit_data = {
264
  "version": "2.9",
265
  "source": "default",
266
  "attachments": [],
267
+ "language": "en-GB",
268
+ "timezone": "Europe/London",
269
+ "mode": "concise",
270
+ "is_related_query": False,
271
+ "is_default_related_query": False,
272
+ "visitor_id": str(uuid.uuid4()),
273
+ "frontend_context_uuid": str(uuid.uuid4()),
274
+ "prompt_source": "user",
275
+ "query_source": "home"
276
  }
277
  sio.emit('perplexity_ask', (previous_messages, emit_data))
278
 
 
289
  response_event.set()
290
 
291
  def on_disconnect():
292
+ logging.info("Disconnected from Perplexity AI WebSocket")
293
  response_event.set()
294
 
295
  def on_connect_error(data):
296
+ logging.error(f"WebSocket connection error: {data}")
297
  response_text.append(f"Error connecting to Perplexity AI: {data}")
298
  response_event.set()
299
 
 
327
  return Response(json.dumps(full_response, ensure_ascii=False), content_type='application/json')
328
 
329
  except Exception as e:
330
+ logging.error(f"Request error: {str(e)}")
331
  return jsonify({"error": str(e)}), 500
332
  finally:
333
  if sio.connected: