Open fela opened 1 year ago
alex.moeri@gmail.com https://devpost.com/alexmoeri
Our goal was to create something cool and interesting. We wanted to create something we would use ourselves, either professionally or in private with friends or alone. Someone in the team then came up with the idea of a word game, which is inspired by worldle. With this basis, it did not take us long to come up with the name SemantIQ
.
SemantIQ
is a game created to have fun, either alone or with friends. As a user, you get 8 words, four of those are positive and four are negative. The goal is to find a word that is as closely related to the positive words as possible. On the other side, the same word should be as far as possible related to the negative words.
After submitting the word, ChatGPT is asked to list the words sorted by how much they relate to the entered word. The first value is the most related to the entered word and the last value is the least related, according to ChatGPT.
We then take a look at the first four values of the array and count the positive words in there. Based on that, a score between 0 and 4 is generated.
It is fun to think about how many new ideas LLMs enable. This and many LLM-based projects would never have been possible with such a small team in so little time even just one year ago, the required tech didn't exist yet!
SemantIQ
was built using a Flask backend connected to the ChatGPT 4.0 API. The words that are shown to the user were generated manually and account for 400 words.
On the front end side, a React Frontend was built to show how the game works, entering the word and a result screen showing how the user performed.
For some more insight, each API call is logged to Elasticsearch, with some small visualizations on Kibana about the words entered or requests made.
Initially, we planned to create the frontend using React and Next.js. However, this did not turn out as planned, and we had to rebuild the Next.js part with React.
We also experimented with using distances in embedding space to determine how related words are, but this did not work well enough. We really did need GPT. The embeddings were however good enough to exclude some particularly difficult puzzles that had very similar words in the negative and positive groups. We used this to improve our puzzle generation script and make sure all puzzles are fun.
As a team, we were very sure what we wanted to do after a short time. We created a small cli prototype with the basic concept of the game and already had a lot of fun playing the game. Getting right to something we all like and think is a good idea for sure was a big win for the team.
It took us about 30 minutes to create an MVP for the idea. A prototype which truly came to the promise of a minimal viable product. Using the cli we could play the game and evaluate if the mechanic is as fun as we thought. This experience enhanced our understanding of the importance of prototyping.
SemantIQ
SemantIQ
as a project is deployed and can be used by users worldwide. Just like every game, SemantIQ
could be enhanced with a leaderboard or other game modes. Tuning a different model based on our ChatGPT data might make the game cheaper to scale.
Feedback welcome @fela @amoeri
@fela @amoeri Need accounts at devpost.com. I then can add the E-Mails to the project. Put them here as comments
https://hackzurich23.devpost.com/