Quizard is an interactive interface with OpenAI's Language Model (LLM) designed to generate quizzes based on any document the user provides. It leverages the concept of Retrieval Augmented Generation (RAG) to prompt the LLM for user-specified questions.
- Generate quizzes from uploaded documents (links, PDFs, Word documents).
- Utilizes the power of OpenAI's LLM with sophisticated prompts.
- User-friendly UI for file/link upload and quiz generation.
- Export quizzes as Word documents.
- Fast quiz generation, taking only a few minutes depending on the uploaded resources.
- Python 3.10
- Numpy
- Pandas
- Matplotlib
- Scipy
- Python-docx
- Chromadb
- Unstructured
- Tiktoken
-
Clone the repository:
git clone https://github.com/s7chak/quizardapi.git
-
Navigate to the project directory:
cd quizard -
Install the dependencies:
pip install -r requirements.txt
-
Run the Quizard app:
python app.py
-
Open your web browser and visit http://localhost:8050/home.
-
Use the UI to upload documents (links, PDFs, Word documents).
-
Configure the quiz settings and initiate quiz generation.
-
Download the generated quiz as a Word document.
- Ensure that the required dependencies are installed before running the app.
- Adjust the port number (default is 8050) based on your preferences.
- The prompt used to generate this quiz:
Design a quiz using the context provided with {} multiple-choice questions.
Please make sure to include 4 answer options (a, b, c, d) for each question.
The difficulty levels should be distributed as follows:
- {} questions of low difficulty
- {} questions of medium difficulty
- {} questions of high or hard difficulty
Quiz Title: [Your Quiz Title]
Question 1: [Your Question Here]
a. [Option a]
b. [Option b]
c. [Option c]
d. [Option d]
Correct Answer: [Correct Option]
Question 2: [Your Question Here]
a. [Option a]
b. [Option b]
c. [Option c]
d. [Option d]
Correct Answer: [Correct Option]
...
Please follow this exact format since I will be parsing your quiz programmatically.
This project is licensed under the MIT License.