This is a web-based application built using Streamlit and Hugging Face's Transformers that generates technical interview questions based on the given tech stack. The app leverages pre-trained transformer models (like `flan-t5-base`) to generate interview questions dynamically for software engineering roles, with a focus on real-world, practical questions related to specific technologies like Python, JavaScript, Machine Learning, and more.
- Generate Interview Questions: Dynamically generates real-world technical questions based on the tech stack (e.g., Python, React, Java, etc.).
- Streamlit-based UI: Simple and interactive interface for candidates to input their tech stack and receive personalized questions.
- Multiple Tech Stack Support: Supports multiple tech stacks (e.g., Python, Flask, ML, C++) and generates relevant questions for each.
- Pre-trained Transformer Model: Uses Hugging Face's `flan-t5-base` transformer model to generate questions.
To get started with this project, follow these steps:
git clone https://github.com/Ankita780/Personalized-Interview-Questions-Generator.git
cd Personalized-Interview-Questions-GeneratorMake sure you have Python 3.7+ installed. You can install the required dependencies using `pip`:
pip install -r requirements.txtYou will need to install Streamlit, Hugging Face's Transformers, and Torch for the app to run.
The model will be automatically downloaded the first time you run the application. However, make sure you have access to Hugging Face API tokens if you plan to use their models directly.
To set up Hugging Face's API token:
- Create an account on Hugging Face.
- Go to your account settings and generate an API token.
- Use the following environment variable to set your token:
export HF_AUTH_TOKEN="your-token-here"Alternatively, you can use a tokenized approach for secure access.
Once everything is set up, you can run the app with the following command:
streamlit run app.pyThis will launch the app in your web browser.
- Enter the candidate's name and tech stack (comma-separated, e.g., `Python, Flask, Machine Learning`).
- The app will generate 1 technical interview question based on the entered tech stack.
- Tech Stack: Python, Flask
- Generated Question: "How do you securely store and validate JWT tokens in a Flask application?"
talentscout/
│
├── app.py # Main Streamlit app
├── requirements.txt # List of required Python packages
└── README.md # Project overview and instructions
- Streamlit: For creating the interactive web application.
- Transformers: For accessing pre-trained language models like `flan-t5-base` from Hugging Face.
- Torch: For running the model and processing inputs.
- Hugging Face API: For accessing the pre-trained models.
To install the necessary packages, run:
pip install -r requirements.txtFeel free to contribute to this project. You can improve or add new features such as:
- Support for more tech stacks
- Ability to generate multiple questions at once
- Exporting generated questions to text/PDF files
- Optimizing model usage or adding more powerful models
This project is open-source and available under the MIT License.
- Start the app: You’ll be prompted for the candidate’s name and tech stack (e.g., `Python, Flask, Machine Learning`).
- Question Generation: After inputting the tech stack, the app generates one technical interview question based on the entered tech stack.
- Question Display: The generated question is displayed in the app for the interviewer to ask.
- Multi-question generation: Add the ability to generate multiple questions in a batch.
- Multiple Role-Specific Question Templates: Introduce question templates based on job roles (e.g., backend, frontend, data science).
- PDF Export: Allow users to export the questions to a downloadable format (e.g., PDF, TXT).
- MCQ Generator: Add a mode to generate multiple-choice questions for interviews.
For any issues or feature requests, feel free to open an issue on the GitHub repository.