--- 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