Skip to content

This repository contains the source code and resources for a Railways Chatbot built using a Large Language Model. The chatbot is designed to assist railway passengers by providing information on railways.

License

Notifications You must be signed in to change notification settings

kunal9922/Multilingual_Railways_Chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multilingual_Railways_Chatbot

Overview

This repository contains the source code and resources for a railway's chatbot built using a Large Language Model. The chatbot is designed to assist railway passengers by providing information on train schedules, platform details, delays, and other related inquiries. It leverages a state-of-the-art large language model to understand natural language queries and deliver accurate responses.

Features

  • Natural Language Understanding: Utilizes advanced language processing to understand user queries conversationally.

  • Multilingual Support: Supports various languages to cater to diverse passenger needs.

  • Real-time Information: Provides up-to-date information on train schedules, delays, and platform changes.

  • Interactive Interface: Engages users in a chat-like interface for a seamless and user-friendly experience.

Getting Started

  1. Clone the Repository:
    git clone https://github.com/kunal9922/Multilingual_Railways_Chatbot.git
  2. Make an alias for Windows PowerShell
    New-Alias -Name python310 -value "yourPython3.10.exe path"
  3. Create a Python Virtual Environment
    python310 -m venv venvChatbotRailways
  4. Activate the virtual environment
    venvChatbotRailways\Scripts\activate

Voice-to-Text Transcriber Whisper also requires FFmpeg, an audio-processing library.

  1. Chocolatey a Windows package manager to install https://chocolatey.org/install

    choco install ffmpeg
  2. Homebrew a MacOS package manager to install https://brew.sh/

    brew install ffmpeg
  3. For Linux OS

    sudo apt update && sudo apt install ffmpeg
  4. Install Dependencies:

    pip install -r requirements.txt
  5. Shift to the Django Server Directory

    cd chatbotWebServer\
  6. Download the LLAMA-2-7B Model from https://huggingface.co/meta-llama Save the LLM model into this directory "\chatRailways\chatbotModule\models"

  7. Run the Django Server for the Chatbot:

    python manage.py runserver
  8. Interact with the Chatbot:

    • Open a web browser and go to http://localhost:8000 to interact with the chatbot through a simple web interface.

Contribution Guidelines

We welcome contributions! If you would like to contribute to the development of the Railways Chatbot (This project is continuously evolving).

License

This project is licensed under the MIT License.

Acknowledgments

Feel free to reach out with any questions or feedback!

Happy chatting! 🚂🤖

Screenshots

Screenshot 2024-02-02 182717 Screenshot 2024-02-02 183214 Screenshot 2024-02-03 133452 Screenshot 2024-02-03 201811

Multilingual Speech-Driven Chatbot Interaction Demo Videos

englishChat.mp4
ItalianChat.mp4

Behavioral diagram

A web-based chatbot for train queries using Django. This UML Activity Diagram shows the steps and messages between a passenger, a chatbot, and a railway database. For example, the passenger asks "query about trains" and the chatbot replies with the answer.

railwaysChatbotFlow

Chatbot that can interact with CSV files

This diagram shows how to build a chatbot that can interact with CSV files. The chatbot extracts data content from a CSV file and converts it into embeddings using a vector store. Then, it builds a semantic index based on FAISS to perform semantic search on the data. The chatbot can answer user queries by converting them into query embeddings and searching for the most relevant answers in the knowledge base.

chatBot_arch

About

This repository contains the source code and resources for a Railways Chatbot built using a Large Language Model. The chatbot is designed to assist railway passengers by providing information on railways.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published