Inspiration
Even though it seems like a distant memory, we were all secondary school students once, understanding the struggle of finding good practice material for preparation for the countless mock exams that our schools subjected us to. So, instead of taking the traditional route of completing an outdated past paper and trying to see if our solutions matched the often ambiguous mark schemes, we as a group decided it was best to come up with a solution that tackled the problem so students would never run out of quality practice material
What it does
QuizGPT enables the creation of exam papers, with both questions and the corresponding answers, related to specific subjects and tailored to exam boards. It feeds all this information into GPT-4 to create these questions. This is useful for both students and teachers because it allows students to have access to an almost infinite pool of resources to practice.
How we built it
Tech Stack: FrontEnd:
- React
- JavaScript
BackEnd:
- Typescript
- Supabase
- ExpressJs
- Sharp
Challenges we ran into
We faced a lot of challenges along the way but we overcame 99% of them, but obviously it is the 1% that keeps us developing. Initially, we found it very hard to agree on what we will develop. Then, when we decided on our current topic, we found that the images generated by GPT-4 were too artistic for the purpose of exam papers -- it seemed that it had been trained on artistic images, rather than small, simple diagrams as found in exams. We had to make a custom system for generating these images, creating a DSL to simplify and streamline the diagrams, and also make a chain of density generation model to continuously improve the quality of the generated images. Presenting the diagrams was also an issue -- we found it hard to convert the images to the right file format. We also faced issues formatting the PDF file of the final exam paper output.
Accomplishments that we're proud of
We are proud that we made a system which creates useful and realistic questions with accurate answers. We truly believe that this is already at a stage where it could be utilised in a real-world setting. We are also proud about how much progress we have made in designing the diagrams in such a short span of time, and we believe that this can still be improved upon to also be useful in other cases. We learnt how to utilise AI as a useful study companion, specifically to create exam papers.
We made extensive use of advanced prompt engineering techniques such as meticulous decomoposition of tasks, use of multiple models while converting formats between them to maintain usability, chaining prompts with different prompts one after another to maximise performance across extremely complex tasks, etc. While writing any prompt in itself is a trivial task, writing the perfect prompt and leveraging GPT-4 to its maximum potential is a rather non-trivial and difficult task that even OpenAI admit that they do not understand how to do.
What we learned
- How to use the GPT4 API
- How to manage projects in such a short time
- The challenges associated with converting html to pdf
- To make a DSL interpreter and compiler using regexes
- To engineer prompts in a generative text based AI to tailor prompts to what we need.
What's next for Lokd In's QuizGPT
We are looking forward to the future because we believe that our existing system has scope for improvement such that it creates even better diagrams. Currently we only have a very small set of shapes that can be drawn, but it is clear that there would be value in having more of such "primitives", such as springs and cars for physics exams -- or even to make the selection modular and user definable. We believe that our system can also be extended to many other school subjects (e.g. english literature, business management, history, etc.). We found that it would be very easy to also support multiple languages, so this might also be in the scope for the future.
Built With
- express.js
- javascript
- react
- sharp
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.