AI-powered support system for Australian mothers and expectant parents
A multi-agent AI system providing evidence-based health information and emotional support through intelligent agent coordination.
Current Phase: MVP Backend Development Status: Agents implemented, testing in progress
- ✅ Health Information Agent (Groq + Google Search)
- ✅ General Support Agent (Groq, conversational)
- ✅ A2A Coordinator with intelligent routing
- ✅ Agent architecture and design
- 🔄 Dependency installation and testing
- 🔄 Agent verification and deployment prep
# 1. Install Python dependencies
cd village_ai
pip install -r requirements.txt
# 2. Configure environment
cp .env.example .env
# Edit .env and add:
# - GOOGLE_CLOUD_PROJECT=your-project-id
# - GROQ_API_KEY=your-groq-api-key
# 3. Test agents
python agents/health_agent.py
python agents/general_agent.py
python agents/coordinator.py
# 4. Run tests
python -m pytest tests/- Health Information Agent - Evidence-based health advice with citations from trusted Australian sources
- General Support Agent - Emotional support and general guidance
- Services Agent - Local support services and resources finder
- A2A Coordinator - Intelligent routing between agents based on query analysis
- Citation System - All health advice includes trusted source references
- Australian Focus - Prioritizes Australian health authorities (health.gov.au, rednose.org.au, etc.)
- Session Management - Maintains conversation history and user context
- Observability - Comprehensive logging, tracing, and metrics
- Groq LLM - Fast, free inference with Llama 3.3 70B (14.4K requests/day free tier)
- Google Gemini - Gemini 2.0 Flash for services agent
- Google Search - Real-time information retrieval for health queries
- Agent2Agent (A2A) - Multi-agent coordination protocol
- Session Manager - In-memory conversation history
- Observability - Structured logging, distributed tracing, metrics
User Query
↓
A2A Coordinator (keyword-based routing)
↓
├─→ Health Information Agent → Google Search → Citations
├─→ General Support Agent → Conversational Response
└─→ Services Agent → Local Resources
All agents → Session Manager → Conversation History
All agents → Observability → Logs, Traces, Metrics
village_ai/
├── agents/ # Python agents
│ ├── coordinator.py # Multi-agent coordinator with A2A
│ ├── health_agent.py # Health information with citations
│ ├── general_agent.py # General support and guidance
│ ├── services_agent.py # Local services finder
│ ├── a2a_protocol.py # Agent-to-Agent protocol
│ ├── session_manager.py # Session & conversation history
│ ├── observability.py # Logging, tracing, metrics
│ └── search_tool.py # Google Search integration
│
├── tests/ # Python tests
│ ├── test_agents.py # Agent unit tests
│ ├── test_components.py # Component tests
│ └── test_integration.py # Integration tests
│
├── docs/ # Documentation
│ ├── architecture.md # System architecture & diagrams
│ ├── data.md # Data models, ERD & schema
│ └── directorymap.md # Directory structure guide
│
├── requirements.txt # Python dependencies
└── .env.example # Environment template
python -m pytest tests/test_agents.py -vfrom agents.coordinator import create_coordinator
coordinator = create_coordinator()
# Test queries
queries = [
"How to dress baby for sleep?", # → Health Agent
"I'm feeling anxious", # → General Agent
"What is safe sleep?" # → Health Agent
]
for query in queries:
agent = coordinator.route_query(query)
print(f"'{query}' → {agent}")All 4 required concepts implemented:
-
✅ Multi-Agent Systems
- Health Information Agent with Google Search
- General Support Agent for emotional support
- Coordinator with intelligent routing
-
✅ Tool Integration
- Google Search MCP for real-time information
- Groq LLM API integration
- Citation extraction from search results
-
✅ Agent2Agent (A2A) Protocol
- Coordinator routes queries to appropriate agents
- Agents communicate via standardized A2A protocol
- Context passing between agents
-
✅ Sessions & Memory
- In-memory session management
- User context tracking (location, preferences)
- Conversation history with message persistence
- Session lifecycle management
All services use free tiers:
| Service | Free Tier | Usage |
|---|---|---|
| Groq API | 14.4K req/day | LLM inference |
| Google Search | Limited free | Information retrieval |
| Vertex AI | 1K queries/month | Agent hosting (planned) |
Total Cost: $0/month ✅
- Evidence-Based - All health advice includes citations from trusted sources
- Australian Focus - Prioritizes Australian health authorities
- Clear Disclaimers - Agents provide appropriate medical disclaimers
- No Diagnosis - System provides information, not medical diagnosis
- Trusted Sources - health.gov.au, rednose.org.au, raisingchildren.net.au
-
architecture.md - System architecture with Mermaid diagrams
- Component architecture
- Request flow sequences
- Deployment architecture
- Scalability & security
-
data.md - Data models, ERD, and schema documentation
- Entity relationship diagrams
- Data models (Session, Message, Trace, Metric)
- JSON schemas
- Database schema (SQL)
- Data flow diagrams
-
directorymap.md - Complete directory structure guide
- File-by-file descriptions
- Purpose and responsibilities
- Usage examples
- Dependency graphs
- agents/README.md - Agent implementation details
- tests/README.md - Testing guide and coverage
This is a capstone project for the Google Cloud Agent Development course.
MIT License - See LICENSE file for details
- Google Cloud - Agent Development Kit and course materials
- Groq - Fast LLM inference
- Australian Health Authorities - Trusted health information
Built for Australian mothers and families 🏘️