Skip to content

mo10107/financial-agents

Repository files navigation

Financial Services Application

This is a financial services application that evaluates customer eligibility for financial products.


System Architecture

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.


Key Features

  • 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).


Testing

Deterministic unit tests confirm correct handling of:

  • Missing profile fields
  • Low credit score
  • Regulatory restriction

Running the Application

Using adk web

  1. Activate your virtual environment:

    uv init .
    uv sync
  2. Run toolbox:

    ./toolbox --tools-file "tools.yaml" --address 0.0.0.0 --port 5000
  3. Run Qdrant and Postgres using Docker.

  4. Copy environment variables file:

    cp .env.example .env
  5. Start the ADK web server:

    adk web
  6. Open the web interface: http://127.0.0.1:8000


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors