korayercan/data-science-interview-coach
๐ง Data Science Interview Coach
A Generative AI App for Data Science Interview Practice
๐ Overview
Data Science Interview Coach is a Retrieval-Augmented Generation (RAG) based application designed to help learners practice and understand data science interview concepts interactively. It uses LangChain, Chroma, and Google Gemini 2.0 Flash to retrieve and generate precise, context-aware answers to user questions about machine learning, statistics, and related topics.
This project was developed as part of the GAIH Generative AI Bootcamp (2025).
๐งฉ Features
- ๐งพ RAG-based Q&A system using your custom dataset of 1,000+ questionโanswer pairs
- ๐ฌ Conversational Streamlit UI with contextual retrieval
- ๐ Semantic search powered by
bge-small-en-v1.5embeddings - โ๏ธ Hybrid retrieval strategy (threshold + MMR for diverse results)
- ๐ Deployed on Hugging Face Spaces for easy access
- ๐ Context sources shown transparently under each answer
๐ Project Architecture
User
โ
โผ
Streamlit UI โ Retriever (MMR + threshold)
โ
โผ
Chroma Vector Store (local persist)
โ
โผ
Gemini 2.0 Flash Model โ Response GenerationKey Components:
- Embeddings:
BAAI/bge-small-en-v1.5 - LLM: Google
Gemini 2.0 Flash(vialangchain-google-genai) - Vector DB: Chroma (persistent local store)
- Framework: LangChain + Streamlit
๐งฎ Dataset Preparation
All questions and answers were collected and merged from multiple public sources:
Data cleaning and merging were handled in data_collecting.ipynb:
- Removed duplicates and empty rows
- Unified column names (
question,answer,source) - Added source labels for traceability
- Final dataset: 1,082 cleaned Q&A entries
Saved as:
data/df_all_qa.csvโ๏ธ How It Works
- User asks a question via Streamlit chat.
- The app retrieves semantically similar passages using Chroma and MMR retriever.
- If no relevant context is found, a fallback prompt (Gemini only) generates an answer.
- The modelโs response and source metadata are displayed in the chat interface.
๐ป Setup & Run Locally
1๏ธโฃ Clone the repository
git clone https://github.com/<your-username>/data-science-interview-coach.git
cd data-science-interview-coach2๏ธโฃ Create a virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate3๏ธโฃ Install dependencies
pip install -r requirements.txt4๏ธโฃ Create .env file
GOOGLE_API_KEY=your_google_api_key_here5๏ธโฃ Run the app
streamlit run App.pyThe app will start at http://localhost:8501
๐ Online Demo
You can try the deployed version directly on Hugging Face Spaces:
๐ [Data Science Interview Coach โ Live Demo](https://huggingface.co/spaces/korayercan/data-science-interview-coach)
๐ฆ Repository Structure
Data Science Interview Coach/
โโ App.py # Streamlit RAG app
โโ data_collecting.ipynb # Data cleaning & merging
โโ data/
โ โโ df_all_qa.csv # Final merged dataset
โ โโ glossary.csv
โ โโ Mridul-Dixit.csv
โ โโ team-bay.csv
โ โโ Yessica.csv
โ โโ mjphayes.parquet
โโ chroma_genai_qa/ # Local vector store (ignored in Git)
โโ requirements.txt
โโ .env
โโ README.md
โโ .gitignore๐ Tech Stack
๐ง Example Use Cases
- AI interview preparation
- Interactive data science learning assistant
- Internal corporate Q&A bots with company knowledge base
โ๏ธ License
MIT License ยฉ 2025 โ Developed by Koray Ercan This project was created for educational purposes as part of the GAIH Generative AI Bootcamp.
๐ Acknowledgements
Special thanks to:
- Global AI Hub (GAIH) mentors for guidance
- Open-source datasets (Kaggle, Hugging Face)
- Google for Gemini API access
- Hugging Face for deployment infrastructure
