Inspiration
Our inspiration came from many trivia questions being boring and having only one answer. We realized that with the power of large language models, we could construct an automatic system to judge answers to much more open-ended questions.
What it does
QuesGen, a fast-paced multiplayer 🏃 trivia/study game backed by the power of AI💪. Multiple players are placed in a room and are repeatedly cycled through by being asked questions. Each player has 3 lives, and if a player fails to produce a satisfactory response as determined by the LLM in the allotted time, the player loses a life. Once a player loses all lives, they are eliminated from the game. Speed and accuracy are crucial to victory in QuesGen. The last player standing wins the game.
How we built it
We built QuesGen using Node.js , HTML, and CSS. One of the most important libraries we used was Socket.io, a low-latency, bi-directional client-server communication service. Moreover, we connected the server to OpenAI's GPT4-o models to validate user answers for correctness and generate questions tailored to the user's notes/wants, using Chain of Thought reasoning.
Challenges we ran into
All of OpenAI's API calls being asynchronous, and the asynchronous nature of Socket.io, presented many challenges in timing and communication between the client and server communications.
Accomplishments that we're proud of
We were on a significant time crunch, but we are very proud the final product that we developed. In particular, we feel like the user interface is very clean and modern, and the complex back-end logic worked very synergistically with the front-end.
What we learned
We learned many important concepts about version control, asynchronous programming, exception handling, and development strategies. We also learned the complex nature of extracting texts from seemingly simple filetypes like PDFs and the language processing that comes with it.
What's next for QuesGen
Given more time, we hope to develop QuesGen into something bigger. We hope to increase the modality of the inputs, such as audio and video input options, and we hope to increase scalability through more efficient socket communication and a fine-tuned distilled language model.
Built With
- css
- express.js
- html
- javascript
- node.js
- openai
- pdfjs
- socket.io
Log in or sign up for Devpost to join the conversation.