Ask questions about restaurant reviews — answered by a local AI that actually read them.
A fully offline RAG (Retrieval-Augmented Generation) pipeline powered by LangChain, ChromaDB, and Llama 3.1.
ReviewMind is a terminal-based AI chatbot that answers natural language questions about a restaurant using real customer reviews as its knowledge base.
Instead of fine-tuning a model or hardcoding answers, it uses Retrieval-Augmented Generation (RAG) — a technique where relevant reviews are fetched from a vector database and passed as context to a local LLM, which then generates a grounded, accurate response.
Everything runs 100% locally — no OpenAI API key, no internet, no cost.
- 💬 Natural language Q&A — ask anything: "Is the pizza good?", "How's the service?", "What do people say about delivery?"
- 🔍 Semantic search — retrieves the most relevant reviews using vector similarity, not keyword matching
- 🦙 Llama 3.1 powered — runs the Llama 3.1 LLM locally via Ollama
- 🗄️ Persistent vector store — ChromaDB saves embeddings to disk so you only embed once
- 📊 Review metadata — each retrieved review carries its rating and date
- 🔒 Fully offline — zero external API calls, all models run on your machine
| Component | Technology |
|---|---|
| LLM | Llama 3.1 (via Ollama) |
| Embeddings | mxbai-embed-large (via Ollama) |
| RAG Framework | LangChain |
| Vector Store | ChromaDB (persistent, local) |
| Data | Pandas (CSV ingestion) |
| Interface | Terminal / CLI |
realistic_restaurant_reviews.csv
│
▼
Pandas loads reviews
(Title + Review text, Rating, Date)
│
▼
Ollama embeds each review
using mxbai-embed-large
│
▼
ChromaDB stores vectors
persistently on disk
│
▼
User asks a question (CLI)
│
▼
ChromaDB retrieves Top-5
most semantically similar reviews
│
▼
LangChain passes reviews + question
to Llama 3.1 via prompt template
│
▼
Llama 3.1 generates a
context-grounded answer
- Python 3.9+
- Ollama installed and running
ollama pull llama3.1
ollama pull mxbai-embed-largegit clone https://github.com/Corerishi/RAG-Review-AI-Assistant.git
cd RAG-Review-AI-Assistantpip install -r requirements.txtpython main.pyThe first run will embed all reviews and build the ChromaDB vector store. Subsequent runs load it from disk instantly.
---------------------------------------
Ask your question (q to quit): Is the pizza here worth it?
Based on the reviews, customers consistently praise the pizza for its
crispy crust and generous toppings. Several reviewers mention the
Margherita and Pepperoni as standout options. A few reviews note
slightly long wait times during weekends but agree the quality
makes it worthwhile.
RAG-Review-AI-Assistant/
├── main.py # LangChain RAG chain + CLI interface
├── vector.py # ChromaDB vector store setup + embeddings
├── realistic_restaurant_reviews.csv # Source review dataset
├── chroma_langchain_db/ # Persistent vector store (auto-created)
├── requirements.txt
└── README.md
langchain
langchain-ollama
langchain-chroma
chromadb
pandas
- RAG (Retrieval-Augmented Generation) pipeline from scratch
- Vector embeddings and semantic similarity search
- Local LLM inference with Ollama (no cloud dependency)
- Persistent vector stores with ChromaDB
- LangChain prompt templates and chain composition
Rishi Raj
MCA — CHRIST (Deemed to be University)
LinkedIn · GitHub
This project is licensed under the MIT License.