Spaces:
Running
Running
nacho commited on
Commit ·
fc44ec7
1
Parent(s): 8651ef6
perf: shave ~5s off chat — shorter waits, non-blocking delete, lower timeouts
Browse files- deepseek_browser.py +8 -11
deepseek_browser.py
CHANGED
|
@@ -76,12 +76,12 @@ class DeepSeekBrowser:
|
|
| 76 |
viewport={"width": 1280, "height": 720}, locale="zh-CN", args=args,
|
| 77 |
)
|
| 78 |
self.page = await self.context.new_page()
|
| 79 |
-
await self.page.goto(self.DEEPSEEK_URL, timeout=
|
| 80 |
await self._wait_for_cloudflare()
|
| 81 |
await self._check_login_state()
|
| 82 |
|
| 83 |
async def _wait_for_cloudflare(self):
|
| 84 |
-
deadline = time.time() +
|
| 85 |
last_url = ""
|
| 86 |
while time.time() < deadline:
|
| 87 |
try:
|
|
@@ -216,7 +216,7 @@ class DeepSeekBrowser:
|
|
| 216 |
await btn.click()
|
| 217 |
await self.page.wait_for_selector("textarea", timeout=10000)
|
| 218 |
return
|
| 219 |
-
await self.page.goto(self.DEEPSEEK_URL, timeout=
|
| 220 |
await self.page.wait_for_selector("textarea", timeout=15000)
|
| 221 |
except Exception as e:
|
| 222 |
logger.error("New chat error: %s", e)
|
|
@@ -353,7 +353,7 @@ class DeepSeekBrowser:
|
|
| 353 |
|
| 354 |
async def _wait_for_response(self, timeout, prompt=""):
|
| 355 |
deadline = time.time() + timeout
|
| 356 |
-
await asyncio.sleep(0.
|
| 357 |
last_answer, last_thinking, stable = "", "", 0
|
| 358 |
while time.time() < deadline:
|
| 359 |
try:
|
|
@@ -372,7 +372,7 @@ class DeepSeekBrowser:
|
|
| 372 |
last_answer, last_thinking, stable = answer, thinking, 0
|
| 373 |
else:
|
| 374 |
stable += 1
|
| 375 |
-
if stable >=
|
| 376 |
return {"content": last_answer, "reasoning_content": last_thinking}
|
| 377 |
await asyncio.sleep(0.5)
|
| 378 |
if last_answer or last_thinking:
|
|
@@ -390,7 +390,7 @@ class DeepSeekBrowser:
|
|
| 390 |
await inp.press("Enter")
|
| 391 |
deadline = time.time() + timeout
|
| 392 |
last_thinking, last_answer, stable = "", "", 0
|
| 393 |
-
await asyncio.sleep(0.
|
| 394 |
while time.time() < deadline:
|
| 395 |
try:
|
| 396 |
result = await self.page.evaluate(self._EXTRACT_JS)
|
|
@@ -415,13 +415,10 @@ class DeepSeekBrowser:
|
|
| 415 |
last_answer, stable = answer, 0
|
| 416 |
elif answer:
|
| 417 |
stable += 1
|
| 418 |
-
if stable >=
|
| 419 |
break
|
| 420 |
await asyncio.sleep(0.3)
|
| 421 |
-
|
| 422 |
-
await self.delete_chat()
|
| 423 |
-
except Exception as e:
|
| 424 |
-
logger.warning("[stream_message] cleanup error: %s", e)
|
| 425 |
except Exception as e:
|
| 426 |
logger.error("Stream message error: %s", e)
|
| 427 |
raise
|
|
|
|
| 76 |
viewport={"width": 1280, "height": 720}, locale="zh-CN", args=args,
|
| 77 |
)
|
| 78 |
self.page = await self.context.new_page()
|
| 79 |
+
await self.page.goto(self.DEEPSEEK_URL, timeout=20000)
|
| 80 |
await self._wait_for_cloudflare()
|
| 81 |
await self._check_login_state()
|
| 82 |
|
| 83 |
async def _wait_for_cloudflare(self):
|
| 84 |
+
deadline = time.time() + 15
|
| 85 |
last_url = ""
|
| 86 |
while time.time() < deadline:
|
| 87 |
try:
|
|
|
|
| 216 |
await btn.click()
|
| 217 |
await self.page.wait_for_selector("textarea", timeout=10000)
|
| 218 |
return
|
| 219 |
+
await self.page.goto(self.DEEPSEEK_URL, timeout=20000)
|
| 220 |
await self.page.wait_for_selector("textarea", timeout=15000)
|
| 221 |
except Exception as e:
|
| 222 |
logger.error("New chat error: %s", e)
|
|
|
|
| 353 |
|
| 354 |
async def _wait_for_response(self, timeout, prompt=""):
|
| 355 |
deadline = time.time() + timeout
|
| 356 |
+
await asyncio.sleep(0.3)
|
| 357 |
last_answer, last_thinking, stable = "", "", 0
|
| 358 |
while time.time() < deadline:
|
| 359 |
try:
|
|
|
|
| 372 |
last_answer, last_thinking, stable = answer, thinking, 0
|
| 373 |
else:
|
| 374 |
stable += 1
|
| 375 |
+
if stable >= 2:
|
| 376 |
return {"content": last_answer, "reasoning_content": last_thinking}
|
| 377 |
await asyncio.sleep(0.5)
|
| 378 |
if last_answer or last_thinking:
|
|
|
|
| 390 |
await inp.press("Enter")
|
| 391 |
deadline = time.time() + timeout
|
| 392 |
last_thinking, last_answer, stable = "", "", 0
|
| 393 |
+
await asyncio.sleep(0.3)
|
| 394 |
while time.time() < deadline:
|
| 395 |
try:
|
| 396 |
result = await self.page.evaluate(self._EXTRACT_JS)
|
|
|
|
| 415 |
last_answer, stable = answer, 0
|
| 416 |
elif answer:
|
| 417 |
stable += 1
|
| 418 |
+
if stable >= 2:
|
| 419 |
break
|
| 420 |
await asyncio.sleep(0.3)
|
| 421 |
+
asyncio.create_task(self._safe_delete_chat())
|
|
|
|
|
|
|
|
|
|
| 422 |
except Exception as e:
|
| 423 |
logger.error("Stream message error: %s", e)
|
| 424 |
raise
|