This is a financial services application that evaluates customer eligibility for financial products.
Our solution is built using Google ADK with two cooperating agents:
- Profile Agent (Agent A): retrieves and normalizes customer profiles via MCP.
- Eligibility Agent (Agent B): evaluates product eligibility using a Qdrant-based RAG retriever and outputs a structured decision.
These are orchestrated by a root Sequential Agent that validates inputs and coordinates the workflow end-to-end.
The codebase follows a modular structure:
- Agents
- Schema models
- Qdrant retriever
- Config
- Toolsets
This ensures clarity, maintainability, and scalability.
-
Explainability & Traceability: Uses Ariza AI. Each run generates a full JSON trace including profile snapshot, retrieved context, tool calls, policy checks, and final decision with confidence.
-
Robustness: Gracefully handles missing fields, low credit scores, and regulatory restrictions (restricted countries).
-
Security: All sensitive credentials are stored in environment variables.
-
Performance: End-to-end decision latency < 20s (due to free plan usage of Google AI Studio, Qdrant, and Postgres via Docker).
Deterministic unit tests confirm correct handling of:
- Missing profile fields
- Low credit score
- Regulatory restriction
-
Activate your virtual environment:
uv init . uv sync -
Run toolbox:
./toolbox --tools-file "tools.yaml" --address 0.0.0.0 --port 5000 -
Run Qdrant and Postgres using Docker.
-
Copy environment variables file:
cp .env.example .env
-
Start the ADK web server:
adk web
-
Open the web interface: http://127.0.0.1:8000