Spaces:
Sleeping
Sleeping
| # 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)) | |