Domain Adaptation in Large Language Models (CHATBOT)

Introduction:

This chatbot is designed to assist users be it parents or students with queries related to Banasthali Vidyapith. Navigating through the college's website for information can be time-consuming. Hence, this chatbot serves as a convenient alternative, allowing users to simply ask their questions and receive responses without the need for extensive web browsing. Whether you have questions about the college, general FAQs, education, courses, or any other related topic, this chatbot is here to provide you with accurate and reliable information sourced directly from the college's website.

Features:

  1. Comprehensive Information: The chatbot provides comprehensive information about Banasthali Vidyapith, including details about courses, admissions, and more.

  2. Reliable Data: All information provided by the chatbot is sourced from the official Banasthali Vidyapith website, ensuring reliability and accuracy.

  3. User-Friendly Interface: The chatbot features a simple and intuitive interface, allowing users to easily ask questions and receive answers.

  4. Session Maintenance: The chatbot maintains session state, allowing users to ask multiple questions within the same session without losing context.

  5. Responsive Design: The chatbot is designed to be responsive, providing a seamless experience across various devices and screen sizes.

Tools and Technologies:

  1. Python: Python is a high-level programming language which is known for its readability and ease of use. The entire code for the chatbot is written in Python.

  2. OpenAI: This is the Python library used to access OpenAI's API.

  3. Pandas: Pandas is a popular Python library designed for data analyis and manipulation. In the chatbot code, it was used to read data from the csv file.

  4. NLTK: NLTK refers to the Natural Language Toolkit (NLTK), it is an open-source library specifically designed to work with human language data for tasks related to natural language processing (NLP). NLTK was used to download and refer 'stopwords' for the data pre-processing step.

  5. Large Language Model:Large language models (LLMs) are a type of artificial intelligence (AI) program that are trained on massive amounts of text data, allowing them to perform a wide range of tasks. The model used for the chatbot making is 'gpt-3.5-turbo'.

  6. Streamlit: Streamlit is a free and open-source Python library designed to develop and share web apps. The GUI for the chatbot was made using Streamlit components.

Execution Steps:

  1. Open the Chatbot: To use the Banasthali Vidyapith Chatbot, simply open the chatbot application or website.

  2. Input Field: Upon opening the chatbot, you will be greeted with an input field where you can type your questions.

  3. Ask Questions: Type your questions one by one into the input field and press enter to submit each question.

  4. Receive Answers: The chatbot will process your question and display the relevant answer on the screen in a chat-like interface.

  5. Session Maintenance: You can continue asking questions within the same session, and the chatbot will maintain context to provide accurate responses.

  6. End Session: To end your session with the chatbot, simply close the chat window or navigate away from the chatbot interface.