This is a Streamlit application designed to help users prepare for the Google Cloud Professional Machine Learning Engineer (PMLE) certification exam. The app provides a quiz interface and around 850 questions.
By going though all these questions, users can reinforce their understanding of key concepts and topics covered in the PMLE exam. Wrong answers are tracked to help users focus on areas where they need improvement. You can retry wrong answers until you master them.
Clone the repository locally:
git clone git@github.com:AndyTheFactory/gcp-pmle-quiz.git
cd gcp-pmle-quizBuild the Docker image:
docker compose up --build -dInstall uv (more info here)
curl -LsSf https://astral.sh/uv/install.sh | shInstall dependencies and run the app:
uv syncRun the app locally:
uv run streamlit run 🏠_Dashboard.pyCreate and activate a virtual environment:
python -m venv venv
source venv/bin/activateInstall dependencies:
pip install pip-tools
python -m piptools compile \
-o requirements.txt \
pyproject.toml
pip install -r requirements.txtRun the app locally:
python -m streamlit run 🏠_Dashboard.pyOpen your browser and go to http://localhost:8501
To start a new quiz session, navigate to "Quiz Mode" from the sidebar.
Click Start round and answer questions.
When you finished a round, you can press "Stop Round" and save your progress.
It is important to save your progress in order to assess your knowledge in specific topics. Check your knowledge gap in the "Dashboard" tab.
If you want to use Notebook LM to help you prepping for the Certification exam, you can export a markdown file with all the questions you got wrong, and use it as a source for Notebook LM. Prompt then Notebook LM to create quizzes and flashcards based on these questions. You can use a prompt like this:
Create a quiz that relies on questions i answered incorrectly. Use those questions and answers as templates to create more quizz questions.
Base your questions also on the best practice documents provided
Data files:
data/quizzes.jsonl: quiz items (one JSON object per line) with fields:question(str),options(list[str]),answer(int index),explanation(str).data/progress.json: autogenerated to store your progress (which questions were answered correct/wrong).
Usage:
- Main page shows stats (total, unanswered, correct, wrong).
- Press
Startto begin asking questions selected randomly from unanswered and previously-wrong questions. - After submitting an answer, feedback and the explanation are shown and progress is saved.
- Press
Reset progressto clear your progress.
