Inspiration
A primary inspiration of this project comes from the popular YouTube star “PewDiePie”, where in one of his videos he has a group of high-end GPUs allocated to holding AI models on them. Then, he prompts the entire system with one prompt and each model tries to output the best response. We loved the video’s premise and wanted to create a more cost-effective and user friendly way of prompting multiple models. Additionally, we wanted to expand on his idea by having multiple different models refine the soon-to-be outputted response. Using the “two heads are better than one” philosophy with LLMs to create the best response for the user.
What It Does
Our LLM council allows the user to send one prompt to multiple AI models. More specifically, the user’s prompt is evaluated and refined by multiple different models as it progresses through the pipeline. This results in a clear, concise but still detailed response to the user’s inputted prompt. Our goal with this output is to have models give their initial response, other models critique that response, and then come together to create a synthesis of the opposing ideas/solutions.
The general flow of the application is as follows: first the user selects the order in which the models perform their pre-determined role, aka the slot they fall under. Each slot in the pipeline has an assigned role, with different requirements. Next, the models perform their assigned tasks with the user’s prompt in mind. During this process, the user is able to see a live progress bar as well as the exact responses from each model on a side bar. Once the user’s prompt has been taken through each model, the response is output to the user.
How We Built It
The frontend was designed using Figma, and implemented using React and Next.js. The non-AI related backend consists of the postgresql database that is accessed using supabase via prisma. This database works closely with the frontend and AI orchestration to hold and fetch relevant data. The AI-related sections of the backend were built using typescript, fastify, and openrouter primarily.
Challenges We Ran Into
Integration was definitely the most difficult part of the project for our team. The frontend design and implementation went smooth, and while the backend had some hiccups, ultimately it worked as intended in the private development environments, ex. Postman. However, when attempting to merge the two into one full stack application, seemingly endless errors appeared. The database schema was not properly aligned, the linking was broken, and many other issues occurred along the journey.
And the second most difficult challenge we faced was token usage. We naturally had a very small budget for this project, so we could not afford to use very complex models nor constantly ping the models we had. So, when testing we had to limit the number of tests done on the application when the LLMs were involved.
Accomplishments That We’re Proud Of
Delivering the product that we envisioned in the beginning is the achievement that we are the most proud of. We had an idea that we fell in love with and wanted to see come to life and we were very successful in this regard. This tool is of course a cool expansion of a popular Internet celebrity’s idea, but is also a useful tool that our members wish we had. We created a product that has a fun backstory behind it, a wide range of applications, expansive room for growth, and true to the tool that we wish we had access to before our own development.
What We Learned
Our team was able to learn a vast range of different technical and non-technical skills and lessons from development. On the technical side, our team learned about completely new languages and/or frameworks or at the very least reinforced our understanding of them. The architecture and design of the project was also a major point that our team learned for both the front and back ends of the project. The project went through multiple different iterations and system design flows before landing on the current iteration.
On the non-technical side, we were able to reinforce our understanding and execution of proper teamwork. More specifically, setting expectations for each stage of development, stating on any issues/blockers, pivoting our approach/design/etc when necessary, and much more. Communication was another skill that we reinforced heavily during development, as being on the same page and under a unified banner of implementation was crucial during the integration stage of development.
What’s Next For Prompt Odyessy
A product like this has a wide range of possibilities when it comes to expansion. The most obvious one that we see is a larger budget. Our budget was a major restriction that led to limited tests and eventually downgrading the models to later versions in order to reduce costs. Companies and other organizations that have access to a large budget would have a significantly easier time using newer, better models as well as including more of them. Our hope is that we would eventually have a larger budget to allocate to a project like this in the future.
Built With
- chatgpt
- claude
- fastify
- gemini
- javascript
- json
- next.js
- node.js
- openrouter
- postgresql
- prisma
- qwen
- radix-ui
- react
- supabase
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.