Spaces:
Sleeping
Sleeping
# coding: utf-8 | |
# Copyright (c) 2025 inclusionAI. | |
from aworld.config.conf import ModelConfig, AgentConfig | |
from aworld.core.agent.swarm import Swarm, GraphBuildType | |
from aworld.core.task import Task | |
from aworld.runner import Runners | |
from examples.plan_execute.agent import PlanAgent, ExecuteAgent | |
from examples.plan_execute.mock import mock_dataset | |
from examples.tools.common import Agents, Tools | |
def main(): | |
test_sample = mock_dataset("gaia") | |
model_config = ModelConfig( | |
llm_provider="openai", | |
llm_temperature=1, | |
llm_model_name="gpt-4o", | |
# need to set llm_api_key for use LLM | |
) | |
agent1_config = AgentConfig( | |
name=Agents.PLAN.value, | |
llm_config=model_config | |
) | |
agent1 = PlanAgent(conf=agent1_config, step_reset=False) | |
agent2_config = AgentConfig( | |
name=Agents.EXECUTE.value, | |
llm_config=model_config | |
) | |
agent2 = ExecuteAgent(conf=agent2_config, step_reset=False, tool_names=[Tools.DOCUMENT_ANALYSIS.value]) | |
# Create swarm for multi-agents | |
# define (head_node1, tail_node1), (head_node1, tail_node1) edge in the topology graph | |
swarm = Swarm((agent1, agent2), build_type=GraphBuildType.HANDOFF) | |
# Define a task | |
task_id = 'task' | |
task = Task(id=task_id, input=test_sample, swarm=swarm, endless_threshold=10) | |
# Run task | |
result = Runners.sync_run_task(task=task) | |
print(f"Time cost: {result[task_id].time_cost}") | |
print(f"Task Answer: {result[task_id].answer}") | |
if __name__ == '__main__': | |
main() | |