Spaces:
Sleeping
Sleeping
Upload default_agent.py
Browse files- 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()
|