Duibonduil's picture
Upload 5 files
5fc6c27 verified
# 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()