This project is a Retrieval-Augmented Generation (RAG) based system that generates company and role specific technical interview questions. The system retrieves context from a local knowledge base and uses a language model to generate structured interview question sets with short answers.
- Generates interview questions tailored to a specific company and role.
- Retrieval-Augmented Generation pipeline to ensure responses stay grounded in stored context.
- Local inference (no external API dependency).
- Simple Gradio-based user interface.
- User enters a query containing the company and/or role.
- System performs semantic search in a vector database (ChromaDB).
- Top matching context chunks are retrieved.
- Language model generates interview questions based on retrieved context.
- Output is displayed in the UI.
| Component | Tool |
|---|---|
| Embeddings | SentenceTransformer |
| Vector Store | ChromaDB |
| Retrieval Framework | LangChain |
| Language Model | Phi Mini (local) |
| UI | Gradio |
| Environment | Python, GPU backend (Vast.ai or local CUDA) |
pip install -r requirements.txt
models/
├── phi_mini/ # LLM directory
└── embeddings/ # SentenceTransformer embedding model
python gradio_ui.py
If running locally:
http://localhost:7860
If running on cloud (e.g., Vast.ai), use the mapped public port:
http://<instance-ip>:<public-port>
project/
├── models/
│ ├── phi_mini/
│ └── embeddings/
├── chroma/ # Vector DB storage
├── gradio_ui.py # Gradio interface
├── rag_pipeline.py # Retrieval and generation logic
├── README.md
└── requirements.txt
- Add aptitude and HR question modules.
- Add role-wise dataset expansion.
- Improve UI layout and presentation styling.
- Optional web deployment and user authentication.