GenAI_Loan_Advisor / README.md
DevKX's picture
Fix HF Metadata
b9eafd0
---
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
3. Ingest Policy Documents
Crucial Step: Run this once to build the Vector Database.
python rag/ingest_policies.py
4. 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%."