Duibonduil's picture
Upload 3 files
a345cc8 verified
# coding: utf-8
# Copyright (c) 2025 inclusionAI.
import asyncio
import os
from aworld.config.conf import AgentConfig, TaskConfig
from aworld.core.agent.base import Agent
from aworld.core.task import Task
from aworld.output.ui.base import AworldUI
from aworld.runner import Runners
from custom.custom_rich_aworld_ui import RichAworldUI
if __name__ == '__main__':
agent_config = AgentConfig(
llm_provider="openai",
llm_model_name=os.environ["LLM_MODEL_NAME"],
llm_api_key=os.environ["LLM_API_KEY"],
llm_base_url=os.environ["LLM_BASE_URL"]
)
amap_sys_prompt = "You are a helpful agent."
amap_agent = Agent(
conf=agent_config,
name="amap_agent",
system_prompt=amap_sys_prompt,
mcp_servers=["filesystem", "amap-amap-sse"], # MCP server name for agent to use
history_messages=100
)
user_input = ("How long does it take to drive from Hangzhou of Zhejiang to Weihai of Shandong (generate a table with columns for starting point, destination, duration, distance), "
"which cities are passed along the way, what interesting places are there along the route, "
"and finally generate the content as markdown and save it")
async def _run(agent, input):
task = Task(
input=input,
agent=agent,
conf=TaskConfig()
)
openwebui_ui = OpenAworldUI(
chat_id=chat_id,
workspace=WorkSpace.from_local_storages(
workspace_id=chat_id,
storage_path=os.path.join(os.curdir, "workspaces", chat_id),
),
)
async for output in Runners.streamed_run_task(task).stream_events():
await AworldUI.parse_output(output, rich_ui)
asyncio.run(_run(amap_agent, user_input))