Building an Intelligent QA/Chatbot for Transportation with LangChain and Open Source LLMs

Abstract

This project focuses on building an intelligent question-answering (QA) chatbot to assist transportation engineers who frequently use complex traffic simulation software. The chatbot helps users extract information from simulation manuals by allowing them to ask natural language questions and receive context-aware answers. It integrates LangChain for pipeline management, ChromaDB for vector-based document retrieval, and open-source Large Language Models (LLMs) for generating responses. Using a Retrieval-Augmented Generation (RAG) approach, the system improves answer accuracy by pulling relevant content from domain-specific manuals. The chatbot is deployed as a web application with features such as persistent conversation histories, organized collections of interactions, and secure user authentication. This report outlines the team’s development process, including document preprocessing and chunking, integration of open-source tools, and the milestones reached. It also discusses challenges such as maintaining conversation context and improving the user interface.

Description

We hope to provide a platform that can offer context-aware assistance geared towards the user’s questions. Through seamless follow-up questions and stored conversation contexts, we believe that traffic engineers will have a tool that effectively helps them based on their situation. The ultimate goal is to improve the workflow of traffic engineers by simultaneously improving their productivity when dealing with simulation tools.

Keywords

LLM, LangChain, Retrieval Augmented Generation (RAG), ChromaDB, Vector Store, Embeddings, Prompt Engineering, Memory Module, Natural Language Processing (NLP), Semantic Search, Traffic Simulation, Open Source LLMs, Google Colab, HuggingFace, LlamaCpp, React, Flask, Chatbot Development, User Authentication, Conversation History, Web App, Text Classification, Machine Learning, Backend Development, Frontend Development, Python, SQL

Citation