fix: stabilize dense-text rejection and serialize delayed image flush
This commit is contained in:
@@ -468,7 +468,12 @@ class QingjianAPIClient:
|
||||
"""判断文本是否指代之前的图片(图一/图二/这张/那张/上面那张等)"""
|
||||
if not msg:
|
||||
return False
|
||||
refs = ("图一", "图二", "第一张", "第二张", "这张", "那张", "上面那张", "下面那张", "刚才那张", "上一张", "下一张")
|
||||
refs = (
|
||||
"图一", "图二", "第一张", "第二张",
|
||||
"这张", "那张", "这图", "那个图",
|
||||
"这个", "这个呢",
|
||||
"上面那张", "下面那张", "刚才那张", "上一张", "下一张",
|
||||
)
|
||||
return any(r in msg for r in refs)
|
||||
|
||||
def _extract_image_urls(self, msg: str) -> list:
|
||||
@@ -612,7 +617,9 @@ class QingjianAPIClient:
|
||||
old.cancel()
|
||||
async def _delay_flush(capture_key, capture_data):
|
||||
await asyncio.sleep(self._DEBOUNCE_SECONDS + 4)
|
||||
await self._flush_pending_images(capture_key, capture_data)
|
||||
# 与同客户 agent_reply 串行,避免“延迟报价”和“当前追问”并发打架
|
||||
async with self._get_customer_lock(capture_key):
|
||||
await self._flush_pending_images(capture_key, capture_data)
|
||||
task = asyncio.create_task(_delay_flush(key, data))
|
||||
self._pending_image_tasks[key] = task
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user