GenAI_Loan_Advisor / README.md
DevKX's picture
Fix HF Metadata
b9eafd0
metadata
title: GenAI Loan Advisor
emoji: 🏦
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
pinned: false

🏦 GenAI Loan Advisor

A robust Multi-Agent System built with CrewAI and Mistral that automates the bank loan underwriting process. This system executes a strict sequential pipeline to retrieve customer data, consult internal policy documents (RAG), and determine risk levels with zero human intervention.

πŸ—οΈ Architecture: The "Plan & Execute" Model

To prevent "infinite thinking loops" common in pure hierarchical systems, this project splits the workflow into two distinct phases:

USER QUERY: "Can Andy get a loan?" β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ PHASE 1: THE BRAIN (Strategy) β”‚ β”‚ Agent: Senior Context Analyst β”‚ β”‚ "I see a loan request. I will β”‚ β”‚ activate the Application Pipeline." β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ Pass JSON Plan β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ PHASE 2: THE MUSCLE (Execution) β”‚ β”‚ (Strict Sequential Assembly Line) β”‚ β”‚ β”‚ β”‚ 1. DATA AGENT ──▢ Fetches PII & Scoreβ”‚ β”‚ (Output: Score 780, Good Status) β”‚ β”‚ β”‚ β”‚ 2. RAG AGENT ──▢ Checks Policy β”‚ β”‚ (Output: "750+ is Low Risk") β”‚ β”‚ β”‚ β”‚ 3. JUDGE AGENT ──▢ Makes Decision β”‚ β”‚ (Output: "Approved @ 3.175%") β”‚ β”‚ β”‚ β”‚ 4. RESOLUTION AGENT ──▢ Final Report β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Features Smart Orchestration: The "Strategy Agent" acts as a Manager effectively by deciding the intent before the crew starts, eliminating the risk of the AI getting confused during execution.

Whole-Sheet RAG: Implements a specialized 1500-character chunking strategy to preserve entire "Risk Matrix" tables from PDF policies, preventing the AI from seeing fragmented data.

Hallucination Guardrails: The Data Agent is strictly bound to real customer lookups, preventing the invention of fake customers (like "John Doe").

Professional Reporting: The Resolution Agent ensures the final output is a clean, client-facing communication.

Project Structure

Quick Start

  1. Environment Setup Create a .env file in the root:

MISTRAL_API_KEY=your_api_key_here CODE=Access_code

  1. Ingest Policy Documents

Crucial Step: Run this once to build the Vector Database. python rag/ingest_policies.py

  1. Installation pip install -r requirements.txt python app.py

Sample Interaction User: "Can Andy get a loan?"

System Logs:

Context Analyst: Intent detected: Loan Application. Data Agent: Successfully retrieved Customer ID 9982 (Andy). Score: 780. RAG Agent: Found rule: "Credit Score 750-850 = Low Risk". Underwriter: Mapping "Low Risk" to Interest Rate Table -> 3.175%.

Final Output:

"We are pleased to inform you that Andy's loan application has been APPROVED. Based on a credit score of 780, he qualifies for our Low Risk tier with an interest rate of 3.175%."