DeBeat Coach - A debate coaching app ... with rap battles

An interactive debate coaching application with rap battle elements developed in PartyRock.

Published Mar 9, 2024
Last Modified Apr 3, 2024

Introduction

PartyRock is an AI-application development platform powered by AWS Bedrock. It allows users to easily build AI applications without any code. Users can construct "widgets" through a straightforward interface, where they also define custom prompts for these widgets. Each widget utilizes a Large Language Model (LLM) chosen by the user, which automatically interacts with the LLM to produce text outputs from the given prompts and inputs. What amazes me is how easily widgets can be referenced, allowing the generated text from one widget to feed into another widget. This allows users to create AI apps easily with multiple user inputs and flows, simply through writing prompts.
Through the PartyRock platform, I was able to develop my application – DeBeat Coach. DeBeat Coach is an interactive debate coaching application with resourceful tools to improve the user’s debating skills. On top of the interactive coaching components, DeBeat Coach also includes entertaining rap battle elements.
In this blog I will detail the community impact of the DeBeat Coach app, as well as how I would have built this app using AWS Bedrock instead of PartyRock.

Community Impact:

Debating is a structured form of interaction between two opposing parties that involves discussing opposing viewpoints on a particular topic. Debating can foster significant personal and professional growth through allowing contestants to better understand different perspectives, improve their communication, critical thinking, research, analysis, and public speaking skills. Debating also allows people to be more empathetic, informed, and engaged with the community on important societal issues. Many schools and Universities have debating clubs to cultivate these valuable skills among students and provide them enriching debating experiences.
While there are existing resources that educates and promotes debating, they all have the following limitations:
1. Most of the publicly available debating resources only offer general, high-level guidance, making it challenging for beginners who may require more in-depth coaching.
2. Similarly to the previous limitation, the available debating resources do not provide tailored debating tips for different topics, making it challenging for less experienced debaters to think and craft their arguments for specific topics.
3. Debaters sometimes use Large language Models (LLMs) to assist them in writing arguments, however this can easily lead to misuse, as users can ask the LLMs to provide them the arguments directly, eliminating most of the original benefits that debating brings.
4. There are limited ways to practice debating, especially in remote settings.
DeBeat Coach is a debate coaching application that aims to resolve the challenges above. Not only does it provide general debating tips and templates, but users can also enter their debate topic and arguments, and DeBeat Coach will provide comprehensive analysis, constructive feedback, tailored suggestions for arguing and counter-arguing, and even provide an interactive debate experience for users.
DeBeat Coach will not directly provide arguments for the user, the user will do that by themselves, allowing them to still be able to learn and improve their critical thinking, reasoning, communication, and empathetic listening skills.
Besides its educational nature, DeBeat Coach also contains a “Rap battle” section for entertainment purposes. It transforms a formal debate coaching session into a more casual, entertaining, and stimulating setting.
I have already received valuable feedback from a user, who has several years of debating experience in school. I was told that she found the "Counter arguments" section helpful, and that the “rapper” components were quite funny. I also learned that there are actually various types of debating, each one will have different rules and structure. For example, there is a type of debate called "Model debate" (Also called Policy debate). In this format the affirmative side would propose a plan to be implemented in relation to the debate topic, whereas the negative side would attempt to rebuttal against the plan or propose a counter-plan. From additional research, I learned that different countries also have different variations of rules and structure for each type of debate. Currently, DeBeat Coach is unable to specifically support every single variation of debate type, structure, and rules. An improvement for DeBeat Coach will be to make it more customised for different types of debate, so that the "Arguments" and "Interactive Debate" sections can adjust their output accordingly. This can then be given to debaters, and continuously improve the application from their feedback.

Alternative development scenario with Amazon Bedrock

PartyRock allowed me to quickly create a prototype DeBeat Coach app and share it with the public. If I were to build this application using AWS Bedrock directly, without PartyRock, it would have taken significantly more time. However, it would also make the application more customisable, and I could have better control of preventing the application from freezing when multiple widgets are loading. Below is my solution design approach for DeBeat Coach in AWS:

Front-End

DeBeat Coach is an application with a specific use case and does not have significant breadth, therefore a simple web framework such as Flask or Streamlit will be effective for implementing the front-end of the application. The user interface will contain multiple text fields for LLM outputs to mimic the widgets.

Back-End

The usage of DeBeat Coach may be unknown and inconsistent. Traffic may surge close to important debate competition dates, and reduce at times when there are no debate competitions or during school holidays. To cater for unpredictable usage, serverless technologies such as ECS Fargate may be the optimal platform for hosting the application. AWS Cognito can be used in conjunction with ECS Fargate for user authentication.
With its current features, DeBeat coach may not require a back-end database. For more advanced future features however, a relational database in Aurora Serverless can be implemented. The relational nature of Aurora Serverless instances can support entities such as users, teams, debate topics, and linking debate topics to users so that multiple debate topics can be loaded and displayed “tabs” for users in the application. This can even be expanded to support interactions between multiple users, such as real-time debates between two users, or two teams that consist of multiple users.
To further improve performance, AWS Elasticache can be integrated with ECS Fargate to store read-heavy data, such as the debate topic. An example of read-heavy data is the debate topic, as it is currently being referenced by many other widgets in PartyRock.

AWS Bedrock

DeBeat Coach consists of several Claude and Claude Instant models. To replicate this in AWS Bedrock, multiple Bedrock agents can be created, each one will have a different system prompt and assigned a different role. These agents can be directly called in the application itself. In scenarios where the output of one agent needs to feed into the input of another agent or another AWS service, Lambda functions can be defined to access the text output and input them to another place. These Lambda functions can be invoked directly by the application or through Bedrock agent “Action groups”.
Additionally, on the 1st of March 2024, AWS announced in this post that the Mistral models, including the Mixtral 8x7B model, are now available in AWS Bedrock. The Mixtral 8x7B is a sparse Mixture-of-Experts (MoE) model. Its architecture allows it to have fast inference speed at low cost, and it has out-competed GPT-3.5 on several LLM benchmarks. The Mixtral 8x7B model is also known for its lack of guardrails, censorship, and content filters. If applied to the rapper components in DeBeat Coach, the app would likely generate more exaggerated, controversial, but entertaining content, as well as content that might insult, roast, or diss the opponent, just like a rap-battle between humans. However, using the Mixtral 8x7b in this way could raise ethical concerns, as the content will potentially be harmful, therefore more ethical and legal considerations are needed before productionizing this feature.

Conclusion

The PartyRock Generative AI Hackathon was an enriching journey for me. Developing the DeBeat Coach application and overcoming challenges allowed me to gain valuable experience in prompt engineering and AI application development. I will strive to continuously learn, improve, and develop more applications that have the potential to make a meaningful impact on people's lives.
 

Comments