Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

Agent-to-Agent Protocol Example

The A2AAgent in AgentScope is an A2A client that connects to an external agent server via the Agent-to-Agent (A2A) protocol. This example demonstrates how to set up and use the A2AAgent to interact with an agent hosted on an A2A server.

Note the A2A feature is experimental and subject to change, and due to the limitations of A2A protocol, the A2AAgent currently

  1. only supports chatbot scenarios, where only a user and an agent are involved
  2. does not support realtime steering/interruption during the conversation
  3. does not support agentic structured outputs
  4. stores the observed messages locally and send them together with the input message(s) of the reply function

Files

The example contains the following files:

examples/agent/a2a_agent
├── main.py                  # The main script to run the A2A agent example
├── setup_a2a_server.py      # The script to set up a simple A2A server
├── agent_card.py            # The agent card definition for the A2A agent
└── README.md                # This README file

Setup

This example provides a simple setup to demonstrate how to use the A2AAgent in AgentScope. First you need to install the required dependencies:

uv pip install a2a-sdk[http-server] agentscope[a2a]
#  or
pip install a2a-sdk[http-server] agentscope[a2a]

Then we first set up a simple A2A server that hosts a ReAct agent:

uvicorn setup_a2a_server:app --host 0.0.0.0 --port 8000

This will start an A2A server locally on port 8000.

After that, you can run the A2A agent example to run a chatbot conversation with the agent hosted on the A2A server:

python main.py