smgc commited on
Commit
f2a8ecd
1 Parent(s): 37ff757

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -7
app.py CHANGED
@@ -105,7 +105,6 @@ def messages():
105
  msg_id = str(uuid.uuid4())
106
  response_event = Event()
107
  response_text = []
108
- final_received = False
109
 
110
  yield create_event("message_start", {
111
  "type": "message_start",
@@ -144,10 +143,9 @@ def messages():
144
  sio.emit('perplexity_ask', (previous_messages, emit_data))
145
 
146
  def on_query_progress(data):
147
- nonlocal response_text, final_received
148
  if 'text' in data:
149
  text = json.loads(data['text'])
150
- final_received = text.get('final', False)
151
  chunks = text.get('chunks', [])
152
  for chunk in chunks:
153
  decoded_chunk = chunk.encode('utf-8').decode('unicode_escape')
@@ -159,6 +157,8 @@ def messages():
159
  })
160
 
161
  def on_query_complete(data):
 
 
162
  response_event.set()
163
 
164
  def on_disconnect():
@@ -182,10 +182,7 @@ def messages():
182
 
183
  try:
184
  sio.connect('wss://www.perplexity.ai/', **connect_opts, headers=sio_opts['extraHeaders'])
185
-
186
- while not final_received:
187
- sio.sleep(0.1)
188
-
189
  except Exception as e:
190
  logging.error(f"Error during socket connection: {str(e)}")
191
  yield create_event("content_block_delta", {
 
105
  msg_id = str(uuid.uuid4())
106
  response_event = Event()
107
  response_text = []
 
108
 
109
  yield create_event("message_start", {
110
  "type": "message_start",
 
143
  sio.emit('perplexity_ask', (previous_messages, emit_data))
144
 
145
  def on_query_progress(data):
146
+ nonlocal response_text
147
  if 'text' in data:
148
  text = json.loads(data['text'])
 
149
  chunks = text.get('chunks', [])
150
  for chunk in chunks:
151
  decoded_chunk = chunk.encode('utf-8').decode('unicode_escape')
 
157
  })
158
 
159
  def on_query_complete(data):
160
+ nonlocal response_event
161
+ logging.info("Query complete")
162
  response_event.set()
163
 
164
  def on_disconnect():
 
182
 
183
  try:
184
  sio.connect('wss://www.perplexity.ai/', **connect_opts, headers=sio_opts['extraHeaders'])
185
+ response_event.wait(timeout=30) # 等待响应完成,最多30秒
 
 
 
186
  except Exception as e:
187
  logging.error(f"Error during socket connection: {str(e)}")
188
  yield create_event("content_block_delta", {