Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏆 FrostHack 2025 – 2nd Place Winner

Note: This repository serves as the production-ready, revamped MVP of a hackathon project co-developed during FrostHack 2025.

AI-Powered Personal Finance Tracker (Multi-Agent RAG System)

An autonomous AI financial assistant designed to ingest unstructured bank statements, extract structured transactional data, and provide natural language querying alongside dynamic, real-time visual insights.

Built using a multi-agent architecture, this system leverages advanced RAG (Retrieval-Augmented Generation) to give users conversational control over their personal finances.

🧠 System Architecture

System Architecture

Key Features

  • Automated PDF Extraction: Utilizes pdfplumber via the fetch_agent to seamlessly extract tabular transaction data from uploaded bank statements.
  • Semantic RAG Pipeline: Employs Hugging Face Transformers and FAISS to create a highly optimized vector search engine over MongoDB records, handling complex natural language queries.
  • Multi-Agent Orchestration: Distinct agents (fetch_agent, query_agent, chart_agent) operate independently to handle data processing, NLP, and visual rendering.
  • Dynamic Visualizations: The chart_agent writes and executes Python code on the fly to generate interactive Plotly charts directly within the Streamlit frontend.

📂 Repository Structure

├── .env.example                 # Configuration template
├── requirements.txt             # Python dependencies
├── README.md
├── assets/
│   └── architecture.png         # System design diagram
├── backend/
│   ├── __init__.py
│   ├── main.py                  # Agent orchestrator 
│   ├── chart_agent.py           # Generates visual insights
│   ├── delete_agent.py          # State management
│   ├── embedding_agent.py       # Handles Transformers & FAISS indexing
│   ├── fetch_agent.py           # Table extraction from PDFs
│   └── query_agent.py           # NLP queries & LLM routing
├── frontend/
│   └── app.py                   # Streamlit interactive dashboard
└── data/                        
    └── sample_statement.pdf     # Mock data for local testing

🚀 Quick Start Guide

Follow these steps to spin up the multi-agent system locally.

1. Clone the repository

git clone https://github.com/anshul45-github/Finance-RAG-Agent
cd Finance-RAG-Agent

2. Set up a virtual environment

python -m venv venv
source venv/bin/activate  # On Windows use: venv\Scripts\activate

3. Install dependencies

pip install -r requirements.txt

4. Configure Environment Variables

Copy the example environment file and fill in your API keys (e.g., Gemini, Fetch.ai, MongoDB URI).

cp .env.example .env

5. Launch the System

You need to start both the backend orchestrator and the frontend dashboard.

Terminal 1 (Backend Orchestrator):

python backend/main.py

Terminal 2 (Frontend Interface):

streamlit run frontend/app.py

👥 Team KamandNET2.0 (FrostHack 2025 - 2nd Place)

This project was rapidly prototyped and developed over a single weekend by:


🛠️ Tech Stack

  • Frontend: Streamlit
  • Backend: Python, Fetch.ai SDK
  • AI/ML: Hugging Face Transformers, FAISS, Gemini API
  • Database: MongoDB

About

An autonomous, multi-agent RAG system that extracts tabular data from bank statements to provide natural language querying and dynamic visual insights.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages