Update app.py
Browse files
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
|
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", {
|