Inspiration
As a murder mystery fan, it can be difficult to create a plot and a series of characters that are as rich and intriguing as those found in the adventures of Sherlock Holmes, Hercule Poirot, or Benoit Blanc.
The highly creative nature of this exercise led me to believe that this was the perfect job for an LLM!
What it does
In 'My Murder Mystery', you can generate your very own murder mystery by specifying attributes such as the location, the number of characters and what they're like, as well as any other details you want to see in your story!
The application will then create a murder mystery based on your desired attributes, after which you can either read the generated story to use as a robust foundation for a more detailed story that you can start writing immediately, or use the chat function to try and solve the mystery yourself!
How it was built
Using our new friend PartyRock and good old Google Search, prompts were designed using best practices for creating a story that includes most of the important elements of a compelling murder mystery.
For additional guidance and context, placeholder text and widgets to introduce the story without revealing any details, as well as to generate an image depicting the overall nature of the story, were added.
Challenges
The complexity of a murder mystery plot can be difficult to achieve without careful thought and planning. While some elements were included, it was difficult to determine how to create a fully-fledged story with clues, and minor events that reveal the character's motives, among other things that are traditionally present within a murder mystery.
Accomplishments
I learned how to build an application using just prompts and widgets! More importantly, the ease with which applications could be built allowed me to test other ideas I initially had, which highlighted both the capabilities and limitations of the platform in its current state.
I now have a functioning application, as well as several other ideas to develop further in PartyRock or with Bedrock for implementing more complex functionality.
Learnings
I quickly learned how each widget in PartyRock functioned and interacted with other widgets, as well as "design patterns" such as the use of a text generation widget to summarise the contents of another widget into a prompt for an image generation widget.
Furthermore, I gained valuable experience in breaking down an idea into smaller actionable steps that an LLM could perform, which allowed me to test the capabilities of the different models available in PartyRock.
Interestingly enough, Anthropic Claude was not able to perform creative text generation tasks, so an alternative model (Jurassic-2 Ultra) was used for the story generation while Claude was used for the chat functionality (as Llama-2 70B was prone to hallucination in its responses and often generated messages for the user itself within its response, preventing the user from asking their own questions!).
What's next
Stories are a fundamental part of what humans cherish, which is part of the reason why the mo captivate us. I would love to continue fleshing out this concept of marrying the (almost) unadulterated creativity that an LLM has with a structured approach to building intricate yet cohesive stories so that more of us can live out our fantasies of being an author, a detective, an unsuspecting guest of a party gone wrong, or all three at the same time!
And of course, I hope that people are inspired to use this application to take this concept forward and develop more sophisticated, detailed approaches towards story generation!
Built With
- partyrock
Log in or sign up for Devpost to join the conversation.