From a7e7050585325bdb873c6d312ea89de94215e11e Mon Sep 17 00:00:00 2001
From: shidong <shidong@jhsoft.cc>
Date: 星期六, 12 七月 2025 15:34:27 +0800
Subject: [PATCH] #2025/7/12 #milvus的upsert方法在多线程调用时多产生重复记录,修正为先删除在新增

---
 qwen_thread.py |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/qwen_thread.py b/qwen_thread.py
index 3673dcd..9c348b4 100644
--- a/qwen_thread.py
+++ b/qwen_thread.py
@@ -93,12 +93,13 @@
                     risk_description = self.image_rule_chat_with_detail(filedata, res['waning_value'], ragurl,rag_mode,max_tokens)
                     # 鐢熸垚澶勭悊寤鸿
                     suggestion = self.image_rule_chat_suggestion(filedata, res['waning_value'], ragurl,rag_mode,max_tokens)
+                    self.logger.info(
+                        f"{res['video_point_id']}鎵ц瀹屾瘯锛歿res['id']}:鏄惁棰勮{is_waning},瀹夊叏闅愭偅锛歿risk_description}\n澶勭悊寤鸿锛歿suggestion}")
             else:
                 is_desc = 3
 
             # 鏁版嵁缁�
             data = {
-                "id": res['id'],
                 "event_level_id": res['event_level_id'],  # event_level_id
                 "event_level_name": res['event_level_name'],  # event_level_id
                 "rule_id": res["rule_id"],
@@ -122,9 +123,9 @@
                 "suggestion": suggestion,
                 "knowledge_id": res['knowledge_id']
             }
-
+            self.collection.delete(f"id == {res['id']}")
             # 淇濆瓨鍒癿ilvus
-            image_id = self.collection.upsert(data).primary_keys
+            image_id = self.collection.insert(data).primary_keys
             data = {
                 "id": str(image_id[0]),
                 "video_point_id": res['video_point_id'],
@@ -172,7 +173,7 @@
             )
             inputs = inputs.to(model.device)
             with torch.inference_mode():
-                outputs = model.generate(**inputs,max_new_tokens=100)
+                outputs = model.generate(**inputs,max_new_tokens=200)
             generated_ids = outputs[:, len(inputs.input_ids[0]):]
             image_text = self.processor.batch_decode(
                 generated_ids, skip_special_tokens=True, clean_up_tokenization_spaces=True

--
Gitblit v1.8.0