Nov Product - Moviebot - Idea Validation and Prompt Engineering
Published on: Nov 06, 2023Filed under: Technology
Note: the first discovery I had during this experiment was that my free time outside of work meant that I could either do product work, or I could write about it. I’ve keep a legal pad and pen next to my computer, so I captured notes while I worked. This post, written after the fact, is an enhanced versions of those notes.
- Cost: $0
- Time: Under 1 hour
- Outcome: Success
- Tools: ChatGPT, Google Docs
The initial concept for this product was simply an AI movie pitch generator. The user would supply a few features - genre, actors, maybe a director - and a LLM would generate a pitch. This was something I never quite got to work using a LSTM, so I was curious to see how easy it would be with an LLM.
The first thing I did track down some real pre-release synopses from streaming films - the kind of things included in press releases. I broke those synopses down into the constituent parts (Title, Genres, Logline)
Example Pitch
After missing her flight from New York to London, Hadley (Haley Lu Richardson) meets Oliver (Ben Hardy) in a chance encounter at the airport that sparks an instant connection. A long night on the plane together passes in the blink of an eye but upon landing at Heathrow, the pair are separated and finding each other in the chaos seems impossible. Will fate intervene to transform these seatmates into soulmates?
I then turned those into a reverse engineered a request to a LLM based on how I imagined my Pitch Generators request would look and using a Few Shot Training input, manually mimicking how Langchain works.
Note - I've not included the entire request here for general brevity.
Example User Request
Pitch me a rom-com staring Haley Lu Richardson and Ben Hardy
Actual LLM Generated Pitch
When laid-back small-town bookstore owner, Emma (Haley Lu Richardson), and ambitious urban architect, Alex (Ben Hardy), unexpectedly cross paths during a quaint seaside vacation, they find themselves in a series of comical yet heartfelt situations that force them to reevaluate their priorities. As the summer unfolds, their differences seem to both attract and challenge them, leading to a whirlwind romance that just might prove that opposites really do attract. Can they overcome their disparate worlds and make their serendipitous encounter into a lasting love story?
Example User Request
Pitch me a science fiction espionage thriller staring Haley Lu Richardson and Ben Hardy
Actual LLM Generated Pitch
In a future where quantum technology has revolutionized espionage, brilliant physicist and undercover agent, Dr. Harper Evans (Haley Lu Richardson), is assigned to stop a rogue group from using quantum manipulation to alter the fabric of reality itself. With the help of rogue operative and former ally, Alex Kane (Ben Hardy), Harper delves deep into a world of deceit, double-crossing, and mind-bending technology, as they race against time to prevent a catastrophic event that could shatter the very foundations of the universe. As the lines between truth and deception blur, they must confront their own pasts and uncertain futures to uncover the ultimate truth behind the Quantum Deception.
And just for reference, here’s the pitch that ChatGPT produced for Casablanca
In the unoccupied French Morocco city of Casablanca during World War II, a cynical American expatriate, Rick Blaine, must choose between his love for a former lover, Ilsa Lund, and helping her and her Resistance leader husband escape from the Vichy-controlled city to continue their fight against the Nazis.
I was pretty satisfied with these results. Having spent a week over the summer learning Langchain, I knew I could easily modify my User Request into a simple Mad Lib format like:
Pitch me a [genre1, genre2,...genre n] movie staring [actor 1…] and [actor n] and directed by [director]