
This project is a chatbot designed for evaluating car-related queries. It leverages a combination of retrieval-augmented generation (RAG) and NLP-based evaluation metrics.
CAR CHATBOT
│-- car_chroma_db/ # ChromaDB storage
│ │-- chroma.sqlite3 # SQLite database for embeddings
│-- src/
│ │-- testing_codes/ # Contains evaluation scripts and datasets
│ │-- chunking.py # Script for data preprocessing and chunking
│ │-- data_eval.py # Evaluation script for the dataset
│ │-- embedding_store.py # Script to store and retrieve embeddings
│ │-- eval_testing_03.py # Main evaluation script
│ │-- evaluation_results.json # JSON file with evaluation results
│ │-- evaluation.py # Evaluation logic implementation
│ │-- llm_rag.py # Core chatbot logic
│ │-- main.py # Main execution script
│ │-- more_details_prompt.txt # Additional prompts for chatbot
│ │-- requirement.txt # Required dependencies
│ │-- scrapper.py # Web scraping script
│ │-- streamlit.py # UI implementation using Streamlit
│-- car_evaluation_dataset.json # Dataset for car evaluation
│-- cartrade_cars_chunked.json # Processed data fed to the chatbot
│-- chatbot_evaluation_detailed.csv # Detailed chatbot evaluation
│-- chatbot_evaluation_report.json # JSON report of chatbot evaluation
-
Install Dependencies:
pip install -r requirement.txt
-
Run the Chatbot:
python llm_rag.py
-
Run the UI Interface:
streamlit run streamlit.py
-
Run Evaluation:
python eval_testing_03.py
This script calculates BERT, ROUGE, METEOR, and F1 scores for evaluation.
- cartrade_cars_chunked.json contains the actual data fed to the model.
- The dataset has been chunked and stored for efficient retrieval.
- llm_rag.py - Contains the core logic for the chatbot.
- scrapper.py - Scrapes data from car-related sources.
- streamlit.py - Streamlit-based UI for interacting with the chatbot.
- eval_testing_03.py - Computes NLP-based evaluation metrics.