QuizMaster is an innovative GenAI-powered tool designed to generate quizzes from any educational document with ease.
- Overview
- Installation
- Usage
- Model and Data
- How to authenticate GCP to access APIs?
- Contributing
- Acknowledgments
- Contact
QuizWiz is an innovative GenAI-powered tool designed to generate quizzes from any educational document with ease.
QuizMaster is an AI powered quiz generator that can generate and assess Quizzes from any educational document with ease. User can upload any number of pdfs and enter the topic to generate quizzes and give the assessment. Say goodbye to manual quiz creation and hello to automated, efficient learning.
- Limitations of the Human Brain: Firstly, the human brain tends to forget ideas, the information it has consumed, and the understanding it has built on the assimilated infromation. Quizzes are a very effective way of both learning and retaining the information.
- The Abundance of Data: Secondly, creating quizzes can itself be a very challenging task. Imagine you are student and you want to make a quiz out of the five research papers you read on text embeddings. Now, imagine that you a professor and you teach three courses, each course has minimum five topics, and for each topic there are atleast three documents on an average to refer. In the latter case you would definitely not say no to an automatic quiz generator like QuizMaster.
- Langchain, Chroma DB, GCP, VertexAI, Gemini 1.5, Streamlit, HuggingFace
- Students
- Teaching Assitants
- Professors
- Educators
- E-Learning Platforms
- DocumentProcessor : Renders a streamlit UI, allows users to upload multiple PDFs and processes them into pages using Langchain's PyPDFLoader.
- ChromaCollectionCreator : Further breaks down the pages from Document Processor into chunks using Langchain's RecursiveCharacterTextSplitter. Uses embeddings from either VertexAI or locally from HuggingFace depending on user's choice. Also has the option to persist the DB onto local machine for later use.
- QuizGenerator : Implements RAG by extractings chunks relevant to the topic from user, formulates a prompt, passes it to LLM, generates quizzes, validates the structure, and renders the quizzes through streamlit.
- QuizManager : Facilitates moving from one question to another.
- Phase 1 : Currently the project only supports uploading PDFs.
- Extend the capabilities of the the application to allow for uploading Youtube Videos, Podcasts, Links to URLs, and PDFs at the same time.
- Host the app on a server
- Make the data-ingestion system more robust
** Python 3.10**
- Clone this repository to your local machine using:
$ git clone https://github.com/Dephinate/QuizMaster.git $ cd your_project
- Create a conda environment and install dependencies
$ pip install -r requirements.txt
- Need to first perform google authentication to use Gemini pro from Vertex AI.
- To run the app copy the following command in your terminal:
$ streamlit run src/user_interface/streamlitui.py
- Upload PDFs, write the topic and give the quiz.
For embeddings used: all-mpnet-base-v2/Embeddings from Vertex AI. LLM uses: Gemini Pro from Vertex AI
Watch the video : https://www.loom.com/share/fa6cd412c1274683a0ebab5a43b09597?sid=bff89143-0997-426d-81ee-c3f0feea549f
Coming soon..
https://www.linkedin.com/in/mikhail-ocampo/
https://python.langchain.com/v0.1/docs/get_started/introduction/
https://python.langchain.com/v0.1/docs/integrations/vectorstores/chroma/
https://python.langchain.com/v0.1/docs/expression_language/
https://colabdoge.medium.com/what-is-rag-retrieval-augmented-generation-b0afc5dd5e79
https://www.hopsworks.ai/dictionary/vector-database
[LinkedIn] (https://www.linkedin.com/in/vks2102/)