!!!IMPORTANT NOTE!!!!
I forgot to show in the video just asking a simple question like "what do you know about the professional valorant player Leo?" To do this in my app, you ask that question in a Custom Query, generate the custom query, and then click the button to view the "Raw response". This will have the answer to any non-standard team building question in it. Thank you! Adjusting the slider in the top left to consider more of the players may also be required, depending on the rank of the player by KDA. Thank you :)
Inspiration
I had never used Amazon Bedrock or built an app that leveraged an LLM, and this seemed like a great opportunity to learn something new. I also love playing Valorant, and watch as much VCT as one human can consume, so it was definitely within my interests :)
What it does
The app can generate detailed team recommendations across all different tiers of Valorant, different regions, and with numerous other different constraints; all while considering balanced compositions with appropriate role coverage, IGL designation, agent pools, map performance, and more. The app also uses agent icons, map icons, player statistics, and map-specific analysis, to help beautify the data produced by the LLM.
How I built it
The application was built using Python, Streamlit, Amazon Bedrock (Claude Sonnet 3.5), and a custom knowledge base that I built in bedrock. I downloaded all of the available VCT Game/Player data (yes all 900 something Gigabytes holllly) and parsed what I thought was the most useful information into a sqlite database. I then ran some custom SQL queries to produce some very useful data for player analysis, and eventually trimmed down that analysis more and converted it into a json file that helps feed into the LLM.
Challenges I ran into
Writing a script and importing the close to 1TB of game data into a database took many hours. I also messed up the import initially and was missing some rather crucial data, and had to do it all over again. Normalizing the data after the fact also took quite a bit of time, as many of the entries were not ultimately useful and were just throwing off a lot of my analysis. I also was unaware that you couldn't just put a sqlite database file into a Bedrock Knowledge base, but I came into this competition to learn little things like that, so it was fine :). The biggest issue I ran into was my abysmal quota allowance of a lot of the amazon bedrock models on us-west-2. I think this has to do with the relatively recent age of my AWS account that I used for this project, however only being able to test changes to my app every 5-10 minutes definitely slowed me down.
Accomplishments that we're proud of
I had never built anything like this before so I am proud of the entire thing - but I would say I am the most proud of my formatting of the parsed data. It's not the prettiest thing in the world, but getting the agent/map icons and drop down menus to work was a lot of work for someone with very limited front-end experience like myself :)
What we learned
Tons. I learned so much about amazon bedrock, LLMs, how Valorant game data is stored, streamlit, and much more.
What's next for Gus Pessolano's VCT Hackathon Submission
Hopefully a prize :) (and maybe a riot gun buddy cough)
Built With
- amazon-bedrock
- claude
- python
- streamlit
Log in or sign up for Devpost to join the conversation.