Ver Fonte

增加错误状态

xueyiming há 1 dia atrás
pai
commit
9b134f88ca

+ 1 - 1
pqai_agent/data_models/agent_test_task_conversations.py

@@ -16,7 +16,7 @@ class AgentTestTaskConversations(Base):
     output = Column(Text, nullable=False, comment="输出内容")
     score = Column(Text, nullable=False, comment="得分")
     status = Column(Integer, default=0, nullable=False,
-                    comment="状态(0:待执行, 1:执行中, 2:执行成功, 3:执行失败, 4:已取消)")
+                    comment="状态(0:待执行, 1:执行中, 2:执行成功, 3:执行失败, 4:已取消, 5:消息失败, 6:打分失败)")
     create_time = Column(TIMESTAMP, nullable=False, server_default="CURRENT_TIMESTAMP", comment="创建时间")
     update_time = Column(TIMESTAMP, nullable=False, server_default="CURRENT_TIMESTAMP", onupdate="CURRENT_TIMESTAMP",
                          comment="更新时间")

+ 9 - 5
pqai_agent_server/const/status_enum.py

@@ -10,7 +10,6 @@ class TestTaskStatus(Enum):
     CREATING = 5
     CREATED_FAIL = 6
 
-
     @property
     def description(self):
         descriptions = {
@@ -20,10 +19,11 @@ class TestTaskStatus(Enum):
             self.CANCELLED: "已取消",
             self.FAILED: "已失败",
             self.CREATING: "生成任务中",
-            self.CREATED_FAIL:"生成任务失败"
+            self.CREATED_FAIL: "生成任务失败"
         }
         return descriptions.get(self)
 
+
 # 使用示例
 def get_test_task_status_desc(status_code):
     try:
@@ -32,6 +32,7 @@ def get_test_task_status_desc(status_code):
     except ValueError:
         return f"未知状态: {status_code}"
 
+
 class TestTaskConversationsStatus(Enum):
     """任务状态枚举类"""
     PENDING = 0  # 待执行
@@ -39,6 +40,8 @@ class TestTaskConversationsStatus(Enum):
     SUCCESS = 2  # 执行成功
     FAILED = 3  # 执行失败
     CANCELLED = 4  # 已取消
+    MESSAGE_FAILED = 5  # 消息失败
+    SCORE_FAILED = 6  # 打分失败
 
     @property
     def description(self):
@@ -47,10 +50,13 @@ class TestTaskConversationsStatus(Enum):
             self.RUNNING: "执行中",
             self.SUCCESS: "执行成功",
             self.FAILED: "执行失败",
-            self.CANCELLED: "已取消"
+            self.CANCELLED: "已取消",
+            self.MESSAGE_FAILED: "消息失败",
+            self.SCORE_FAILED: "打分失败"
         }
         return descriptions.get(self)
 
+
 # 使用示例
 def get_test_task_conversations_status_desc(status_code):
     try:
@@ -58,5 +64,3 @@ def get_test_task_conversations_status_desc(status_code):
         return status.description
     except ValueError:
         return f"未知状态: {status_code}"
-
-

+ 14 - 2
pqai_agent_server/task_server.py

@@ -451,15 +451,28 @@ class TaskManager:
                 query_prompt_template=query_prompt_template
             )
 
+            if not message:
+                self.update_task_conversations_status(
+                    task_conversation.id,
+                    TestTaskConversationsStatus.MESSAGE_FAILED.value
+                )
+                return
+
             param = {}
             param["dialogue_history"] = conversations
             param["message"] = message
             param["send_time"] = send_time
-            print(staff_profile)
             param["agent_profile"] = json.loads(staff_profile)
             param["user_profile"] = user_profile
             score = evaluate_agent(param, task.evaluate_type)
 
+            if not score:
+                self.update_task_conversations_status(
+                    task_conversation.id,
+                    TestTaskConversationsStatus.SCORE_FAILED.value
+                )
+                return
+
             # 更新子任务结果
             self.update_task_conversations_res(
                 task_conversation.id,
@@ -471,7 +484,6 @@ class TaskManager:
 
         except Exception as e:
             logger.error(f"Subtask {task_conversation.id} failed: {str(e)}")
-            print(traceback.format_exc())
             self.update_task_conversations_status(
                 task_conversation.id,
                 TestTaskConversationsStatus.FAILED.value