GhalaDev's picture
Update README.md
f2fd6b1 verified
|
Raw History Blame Contribute Delete
2.8 kB
---
title: GamerRadar RAG Chatbot
emoji: 📉
colorFrom: yellow
colorTo: purple
sdk: gradio
sdk_version: 6.19.0
python_version: '3.13'
app_file: app.py
pinned: false
---
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
# GamerRadar: Video Game Recommendation System using RAG
GamerRadar is an intelligent video game recommendation assistant built using a Retrieval-Augmented Generation (RAG) pipeline. The system allows users to input their gaming preferences or games they previously enjoyed, and it retrieves contextually relevant recommendations from a specialized dataset.
This project was developed as part of the Generative AI Bootcamp to demonstrate practical implementation of document indexing, vector databases, LLM orchestration, and interactive user interfaces.
## Features
- Custom Dataset Integration: Uses a curated dataset of video games containing titles, genres, and detailed descriptions.
- Open-Source Embeddings: Leverages Hugging Face sentence-transformers for local text embedding generation without API costs.
- Vector Storage: Implements ChromaDB as a local vector database to store and perform similarity searches on game documents.
- LLM Pipeline: Utilizes LangChain Expression Language (LCEL) to create a robust RAG pipeline powered by Google Gemini 2.5 Flash.
- Interactive UI: Features a web-based chat interface deployed via Gradio for real-time user interaction.
## Tech Stack
- Framework: LangChain / LangChain Community Core
- Embedding Model: Hugging Face (all-MiniLM-L6-v2)
- Vector Store: ChromaDB
- Large Language Model: Google Gemini 2.5 Flash (via Google AI Studio)
- User Interface: Gradio
- Data Management: Pandas
## Project Structure and Pipeline
1. Data Preparation: A dataset of video games is initialized and saved to a local CSV file.
2. Document Loading: The CSV data is extracted and parsed into structured LangChain Document objects.
3. Embedding and Indexing: The documents are processed through the Hugging Face embedding model and indexed inside ChromaDB.
4. Retrieval and Prompting: A custom system prompt is configured to instruct the assistant. A retriever fetches the top 2 most similar games based on the user's input.
5. Generation: The retrieved game contexts and the user query are passed through an LCEL pipeline to Gemini 2.5 Flash to generate accurate, context-aware recommendations.
6. Interface Deployment: The entire workflow is wrapped into a Gradio ChatInterface, launching a local widget and a shareable public URL.
## Setup and Installation
To run this notebook in Google Colab or a local Python environment, install the required dependencies:
```bash
pip install langchain langchain-community langchain-chroma langchain-google-genai sentence-transformers gradio pandas