Bläddra i källkod

增加agent提交执行和查询任务功能

xueyiming 2 dagar sedan
förälder
incheckning
62766fe8ce
2 ändrade filer med 27 tillägg och 19 borttagningar
  1. 12 19
      pqai_agent_server/agent_task_server.py
  2. 15 0
      pqai_agent_server/api_server.py

+ 12 - 19
pqai_agent_server/agent_task_server.py

@@ -1,4 +1,3 @@
-import concurrent.futures
 import json
 import threading
 from concurrent.futures import ThreadPoolExecutor
@@ -7,20 +6,14 @@ from typing import Dict
 
 from sqlalchemy import func
 
-from pqai_agent.agents.multimodal_chat_agent import MultiModalChatAgent
 from pqai_agent.agents.simple_chat_agent import SimpleOpenAICompatibleChatAgent
-from pqai_agent.data_models import agent_task_detail
 from pqai_agent.data_models.agent_configuration import AgentConfiguration
 from pqai_agent.data_models.agent_task import AgentTask
 from pqai_agent.data_models.agent_task_detail import AgentTaskDetail
-from pqai_agent.data_models.agent_test_task import AgentTestTask
-from pqai_agent.data_models.agent_test_task_conversations import AgentTestTaskConversations
-from pqai_agent.data_models.service_module import ServiceModule
 from pqai_agent.logging import logger
 from pqai_agent.toolkit import get_tools
-from pqai_agent_server.const.status_enum import TestTaskConversationsStatus, TestTaskStatus, get_test_task_status_desc, \
-    AgentTaskStatus, get_agent_task_detail_status_desc, AgentTaskDetailStatus
-from scripts.evaluate_agent import evaluate_agent
+from pqai_agent_server.const.status_enum import AgentTaskStatus, get_agent_task_detail_status_desc, \
+    AgentTaskDetailStatus, get_agent_task_status_desc
 
 
 class AgentTaskManager:
@@ -91,25 +84,25 @@ class AgentTaskManager:
             # 计算偏移量
             offset = (page_num - 1) * page_size
             # 查询分页数据
-            result = (session.query(AgentTestTask, AgentConfiguration)
-                      .outerjoin(AgentConfiguration, AgentTestTask.agent_id == AgentConfiguration.id)
+            result = (session.query(AgentTask, AgentConfiguration)
+                      .outerjoin(AgentConfiguration, AgentTask.agent_id == AgentConfiguration.id)
                       .limit(page_size).offset(offset).all())
             # 查询总记录数
-            total = session.query(func.count(AgentTestTask.id)).scalar()
+            total = session.query(func.count(AgentTask.id)).scalar()
 
             total_page = total // page_size + 1 if total % page_size > 0 else total // page_size
             total_page = 1 if total_page <= 0 else total_page
             response_data = [
                 {
-                    "id": agent_test_task.id,
+                    "id": agent_task.id,
                     "agentName": agent_configuration.name,
-                    "createUser": agent_test_task.create_user,
-                    "updateUser": agent_test_task.update_user,
-                    "statusName": get_test_task_status_desc(agent_test_task.status),
-                    "createTime": agent_test_task.create_time.strftime("%Y-%m-%d %H:%M:%S"),
-                    "updateTime": agent_test_task.update_time.strftime("%Y-%m-%d %H:%M:%S")
+                    "createUser": agent_task.create_user,
+                    "updateUser": agent_task.update_user,
+                    "statusName": get_agent_task_status_desc(agent_task.status),
+                    "createTime": agent_task.create_time.strftime("%Y-%m-%d %H:%M:%S"),
+                    "updateTime": agent_task.update_time.strftime("%Y-%m-%d %H:%M:%S")
                 }
-                for agent_test_task, agent_configuration in result
+                for agent_task, agent_configuration in result
             ]
             return {
                 "currentPage": page_num,

+ 15 - 0
pqai_agent_server/api_server.py

@@ -781,6 +781,21 @@ def create_agent_task():
     app.agent_task_manager.create_task(agent_id, task_prompt)
     return wrap_response(200)
 
+@app.route("/api/getAgentTaskList", methods=["GET"])
+def get_agent_task_list():
+    """
+       获取单元测试任务列表
+       :return:
+    """
+    page_num = request.args.get("pageNum", const.DEFAULT_PAGE_ID)
+    page_size = request.args.get("pageSize", const.DEFAULT_PAGE_SIZE)
+    try:
+        page_num = int(page_num)
+        page_size = int(page_size)
+    except Exception as e:
+        return wrap_response(404, msg="Invalid parameter: {}".format(e))
+    response = app.agent_task_manager.get_agent_task_list(page_num, page_size)
+    return wrap_response(200, data=response)
 
 @app.route("/api/getAgentTaskDetail", methods=["GET"])
 def get_agent_task_detail():