An AI-powered Technical Interview Assistant built using Retrieval-Augmented Generation (RAG), MinSearch, Groq LLM, and Streamlit.
This project helps users prepare for technical interviews by retrieving relevant questions and answers from a curated interview dataset and generating accurate responses using Large Language Models (LLMs).
TechMatch-RAG-Copilot demonstrates the complete RAG workflow:
- User submits a technical interview question.
- MinSearch retrieves the most relevant interview records.
- Retrieved context is prepared and injected into the prompt.
- Groq LLM generates an answer based only on the retrieved knowledge.
- The response is displayed through a Streamlit web application.
User Question
│
▼
MinSearch Retrieval
│
▼
Relevant Interview Context
│
▼
Groq LLM
│
▼
Generated Answer
│
▼
Streamlit Interface
- AI-powered interview preparation assistant
- Retrieval-Augmented Generation (RAG)
- Fast keyword and semantic retrieval using MinSearch
- Groq LLM integration
- Streamlit web interface
- Custom interview dataset support
- Environment variable configuration
- Easy to extend with new interview tracks
| Technology | Purpose |
|---|---|
| Python | Core development |
| MinSearch | Information retrieval |
| Groq LLM | Answer generation |
| OpenAI SDK | Groq API integration |
| Streamlit | Web application |
| JSON | Knowledge base |
| Python Dotenv | Environment variables |
TechMatch-RAG-Copilot/
│
├── app.py
├── rag.py
├── tech_interviews.json
├── requirements.txt
├── README.md
├── .gitignore
└── .env
git clone https://github.com/Ai-MAFlutter/TechMatch-RAG-Copilot.git
cd TechMatch-RAG-Copilotpython -m venv .venvActivate:
.venv\Scripts\activatepip install -r requirements.txtCreate a .env file:
GROQ_API_KEY=your_api_key_herestreamlit run app.pyHot Reload compiles newly added code and injects it into the Dart VM while preserving the current application state.
Provider is a community package built on top of InheritedWidget that simplifies state management and reduces boilerplate code.
CustomPainter provides direct access to the canvas for drawing custom UI components, shapes, paths, and graphics.
The user's question is searched against the interview dataset using MinSearch.
The most relevant interview entries are collected and formatted into a context block.
The context and question are sent to Groq LLM to generate an accurate answer.
- Vector Database Integration
- Hybrid Search
- Multi-domain Interview Support
- Chat History & Memory
- PDF Knowledge Base Support
- Cloud Deployment
Ask interview questions through a simple Streamlit interface and receive AI-generated answers grounded in the interview dataset.
Marina Wahid
AI & Data Enthusiast
Built as part of my RAG and LLM learning journey.
If you found this project useful, consider giving it a star ⭐ on GitHub.