Skip to content

learnthusalearner/Chat_Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 IIT Kanpur – Offline IT Helpdesk Chatbot

An intelligent, AI-powered assistant designed to revolutionize IT and network support for students and faculty at IIT Kanpur. This chatbot provides instant, accurate answers to IT-related questions directly from uploaded PDF documents, ensuring reliable assistance even without internet access.


✨ Problem Statement

Navigating complex IT documentation—such as network setup guides, Wi-Fi configuration instructions, and internal policies—is often time-consuming and frustrating. Users frequently resort to creating helpdesk tickets or directly contacting IT staff for repetitive queries that are already addressed within existing documents. This leads to increased workload for the IT department and delayed resolutions for users.


💡 Solution

This innovative chatbot aims to significantly reduce the burden on the IT helpdesk and empower users with immediate access to information. It offers a seamless experience by allowing users to:

  • Upload Internal IT Documents: Easily ingest IT policy documents, network guides, FAQs, and more, in PDF format.
  • Ask Natural Language Questions: Pose questions in plain English, just as they would to a human IT assistant.
  • Receive Instant, Accurate Responses: Get precise answers, complete with citations and page numbers from the source document.
  • Operate Fully Offline: The entire assistant is powered by local Large Language Models (LLMs) and embeddings, eliminating the need for an internet connection or reliance on external APIs.

🛠️ Technology Stack

Component Technology Used Description
App Framework Streamlit For creating an intuitive and interactive web-based UI
PDF Processing PyPDF2 To extract text efficiently from uploaded PDF documents
Text Chunking LangChain CharacterTextSplitter For breaking down large documents into manageable chunks
Embeddings ollama all-minilm (local) Generates vector representations of text for semantic search
LLM (Offline) LLaMA 3 via Ollama Conversational AI responses without internet access
Vector Database FAISS Stores and retrieves document embeddings for context lookup
Memory Handling LangChain ConversationBufferMemory Maintains conversation context
Styling HTML/CSS Templates For a polished and user-friendly chatbot interface

🚀 Features at a Glance

  • 📁 Document Upload: Supports ingestion of multiple PDF documents for a comprehensive knowledge base
  • 💬 Natural Language Interaction: Engage with the chatbot using everyday language
  • 🧠 Contextual Retrieval: Uses document embeddings to retrieve relevant information
  • 📄 Cited Answers: Provides precise answers with references to source documents and page numbers
  • 🌐 100% Offline Capability: Operates fully offline ensuring data privacy and accessibility
  • 🧵 Conversation Memory: Remembers previous interactions for more continuous responses

📂 Project Structure

├── app.py                     # Main Streamlit application file
├── htmltemplate.py            # Contains styled HTML/CSS templates for chatbot responses
├── vectorstore_index/         # Directory to store FAISS-generated embedding index
├── requirements.txt           # Lists all Python dependencies
└── data/                      # (Optional) Placeholder for local PDF documents used in demo/testing

🛠️ Prerequisites

  • Python 3.9 or newer
  • git installed
  • Ollama installed and running locally

📥 Installation & Setup

1. Clone the repository

git clone https://github.com/learnthusalearner/Chat_Bot.git
cd Chat_Bot

2. Create and activate a virtual environment (recommended)

python -m venv venv
# For Linux / macOS:
source venv/bin/activate
# For Windows:
venv\Scripts\activate.bat

3. Install dependencies

pip install --upgrade pip
pip install -r requirements.txt

4. Run LLaMA 3 model locally

ollama run llama3

This command will download the model if it's not already present. Ensure you have sufficient disk space.


🚀 Running the App

streamlit run app.py

Then open your browser at http://localhost:8501 and:

  • Upload PDF documents from the sidebar
  • Start chatting with the IT Helpdesk Chatbot!

🎯 Key Use Cases

  • 🧑‍🎓 Self-Service IT Support: Instantly resolve queries on Wi-Fi setup, VPN, IP config, software installs
  • 📚 Dynamic Knowledge Base: Replace static FAQ with AI-powered document-aware responses
  • 📴 Offline Accessibility: Ideal for on-campus use where internet may be unreliable

🧠 What This Project Demonstrates

✅ Practical GenAI application solving repetitive IT queries
✅ Offline-first development using only open-source tools
✅ Focused on usability, transparency, and real impact


🎉 Contributing

We welcome contributions! Feel free to:

  • Open issues for bug reports or feature requests
  • Submit pull requests for fixes or enhancements
  • Open discussions for collaborative improvements

📜 License

This project is licensed under the MIT License. Feel free to use, modify, and distribute with attribution.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages