Duibonduil commited on
Commit
5855f1b
·
verified ·
1 Parent(s): fa0daac

Upload default_agent.py

Browse files
Files changed (1) hide show
  1. default_agent.py +59 -0
default_agent.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import logging
2
+ import os
3
+
4
+ from aworld.config import ModelConfig
5
+ from aworld.config.conf import AgentConfig, ClientType
6
+ from pydantic import BaseModel
7
+
8
+ from aworldspace.base_agent import AworldBaseAgent
9
+ from aworldspace.utils.mcp_utils import load_all_mcp_config
10
+
11
+ SYSTEM_PROMPT = f"""You are an helpful AI assistant, aimed at solving any task presented by the user. """
12
+
13
+ class Pipeline(AworldBaseAgent):
14
+ class Valves(BaseModel):
15
+ pass
16
+
17
+ def __init__(self):
18
+ self.valves = self.Valves()
19
+ logging.info("default init success")
20
+
21
+
22
+ async def get_agent_config(self, body):
23
+ default_llm_provider = os.environ.get("LLM_PROVIDER")
24
+ llm_model_name = os.environ.get("LLM_MODEL_NAME")
25
+ llm_api_key = os.environ.get("LLM_API_KEY")
26
+ llm_base_url = os.environ.get("LLM_BASE_URL")
27
+
28
+ task = await self.get_task_from_body(body)
29
+ logging.info(f"task llm config is: {task.llm_provider}, {task.llm_model_name},{task.llm_base_url}")
30
+
31
+ llm_config = ModelConfig(
32
+ llm_provider=task.llm_provider if task and task.llm_provider else default_llm_provider,
33
+ llm_model_name=task.llm_model_name if task and task.llm_model_name else llm_model_name,
34
+ llm_api_key=task.llm_api_key if task and task.llm_api_key else llm_api_key,
35
+ llm_base_url=task.llm_base_url if task and task.llm_base_url else llm_base_url,
36
+ max_retries=task.max_retries if task and task.max_retries else 3
37
+ )
38
+
39
+ return AgentConfig(
40
+ name=self.agent_name(),
41
+ llm_config=llm_config,
42
+ system_prompt=task.task_system_prompt if task and task.task_system_prompt else SYSTEM_PROMPT
43
+ )
44
+
45
+ def agent_name(self) -> str:
46
+ return "DefaultAgent"
47
+
48
+ async def get_mcp_servers(self, body) -> list[str]:
49
+ task = await self.get_task_from_body(body)
50
+ if task.mcp_servers:
51
+ logging.info(f"mcp_servers from task: {task.mcp_servers}")
52
+ return task.mcp_servers
53
+
54
+ return [
55
+ "ms-playwright"
56
+ ]
57
+
58
+ async def load_mcp_config(self) -> dict:
59
+ return load_all_mcp_config()