PythonPython
JavaScriptJavaScript
CSSCSS
HTMLHTML
No Screenshots Uploaded Yet
COMPLETED

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 in train.py if 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

Jul 2025 - Jul 2025

Technologies

PythonJavaScriptCSSHTML

External Links

Related Projects

Projects built with similar technologies.

Online Html Editor And Viewer
COMPLETED
JavaScriptHTMLCSS+1 more

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.

Rasikh Ali
Qrgen
COMPLETED
Jupyter NotebookHTMLPython

Qrgen

A premium, feature-rich QR Code Generator engineered with Python (Flask) and a pristine Glassmorphism frontend.

Rasikh Ali
Examina Ai
COMPLETED
TypeScriptPythonCSS+2 more

Examina Ai

Using AI, It transforms raw study materials into structured, verified examination sets with support for institutional export formats like Moodle XML.

Rasikh Ali