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.
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.
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.
| 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 |
- 📁 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
├── 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
- Python 3.9 or newer
gitinstalled- Ollama installed and running locally
git clone https://github.com/learnthusalearner/Chat_Bot.git
cd Chat_Botpython -m venv venv
# For Linux / macOS:
source venv/bin/activate
# For Windows:
venv\Scripts\activate.batpip install --upgrade pip
pip install -r requirements.txtollama run llama3This command will download the model if it's not already present. Ensure you have sufficient disk space.
streamlit run app.pyThen open your browser at http://localhost:8501 and:
- Upload PDF documents from the sidebar
- Start chatting with the IT Helpdesk Chatbot!
- 🧑🎓 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
✅ Practical GenAI application solving repetitive IT queries
✅ Offline-first development using only open-source tools
✅ Focused on usability, transparency, and real impact
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
This project is licensed under the MIT License. Feel free to use, modify, and distribute with attribution.