The weather agent demonstrates basic agent functionality with Python ADK. This agent showcases:
- Agent-to-Agent (A2A) communication patterns
- RESTful API endpoints
- Health monitoring
- Docker containerization
- Multi-platform deployment
Before you begin, ensure you have the following tools installed:
- uv package manager
- Docker for containerization
- Make for build automation
Copy the .env template and add the Google API key:
cp .env.example .envRun the agent with:
# Native Python environment
make run
# Docker container
make docker-runAfter successful start, the agent will be available at:
- Server: http://127.0.0.1:8101
- Agent Card: http://127.0.0.1:8101/.well-known/agent-card.json
Ask the agent a question using curl:
curl http://localhost:8101/ \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "message/send",
"params": {
"message": {
"role": "agent",
"parts": [
{
"kind": "text",
"text": "What is the weather in New York?"
}
],
"messageId": "9229e770-767c-417b-a0b0-f0741243c589",
"contextId": "abcd1234-5678-90ab-cdef-1234567890ab"
},
"metadata": {}
}
}' | jqThe agent can be configured using environment variables.
A2A_HOST: Host for the Agent-to-Agent communication (default: "localhost")