Banking Support Chatbot
This is an intelligent banking support chatbot that uses sentence embeddings, FAISS indexing, and intent classification to provide accurate responses. It also supports multi-language detection, transl
About the Project
This is an intelligent banking support chatbot that uses sentence embeddings, FAISS indexing, and intent classification to provide accurate responses. It also supports multi-language detection, translation, personalization, and security filtering.
ð§ Features
- Sentence-based semantic search using FAISS
- Intent classification using HuggingFace Transformers
- Multi-language detection + translation
- HTML/CSS/JS based web chat frontend
- Placeholder-based response templating
- Input sanitization and basic data policy enforcement
ð Project Structure
.
âââ app.py # Main Flask backend server
âââ train.py # Generate FAISS index & embeddings
âââ generate\_csv.py # Downloads and formats the dataset
âââ getDetails.py # Extracts {{placeholders}} from dataset
âââ config.py # Configuration settings
âââ requirements.txt # Python dependencies
âââ .gitignore # Git ignored files
âââ model/
â âââ embedding\_model.py
â âââ intent\_classifier.py
â âââ index\_utils.py
â âââ template\_loader.py
âââ utils/
â âââ text\_utils.py
â âââ translator.py
â âââ security\_utils.py
â âââ personalizer.py
âââ templates/
â âââ bankingindex.html
âââ static/
â âââ chat.js
âââ data/
âââ (Generated data goes here)
ð Getting Started
1. ð¦ Install Requirements
Ensure you're using Python 3.8 or newer.
pip install -r requirements.txt
2. ð Dataset Preparation
Download and convert the dataset to CSV:
python generate_csv.py
3. ð§ Train Embeddings + Build FAISS Index
This step encodes the queries, builds FAISS index, and saves embeddings.
python train.py
4. âï¸ Launch the Flask App
python app.py
Visit: http://127.0.0.1:5000 to interact with the bot.
𧪠Optional Scripts
-
Extract placeholders from dataset:
python getDetails.py -
Re-train intent classification model (if needed â currently uses pretrained model):
Uncomment
train_banking77()logic intrain.pyif required.
â To-Do / Improvements
- Add logging and error monitoring (e.g., Sentry)
- Enable user authentication
- Add admin panel for response management
- Deploy using Docker or render.com
ð§âð» Author
Developed by Rasikh Ali | Marvelous Software Solutions
ð License
License MIT
Project Timeline
Technologies
External Links
Related Projects
Projects built with similar technologies.
Online Html Editor And Viewer
The Online HTML Editor and Viewer is a simple web application built with Flask that allows users to write and preview HTML code in real-time.
Qrgen
A premium, feature-rich QR Code Generator engineered with Python (Flask) and a pristine Glassmorphism frontend.
Examina Ai
Using AI, It transforms raw study materials into structured, verified examination sets with support for institutional export formats like Moodle XML.