Welcome to Morfternight, your weekly digital postcard.
👇 tl;dr
Today, we show how to create a GPT, we introduce y’all to monochrome.blog, and we launch a poll to determine the future of Morfternight (the name, not the newsletter).
👋 Good Morfternight!
It hit me hard last week, after sending the last Morfternight of 2023: “Morfternight” is a very hard name to spell, remember, pronounce.
Part of me loves the name so much, I don’t care if it’s a hurdle in the expansion of my audience. Another part remembers the “Be clear, not clever” mantra. So I decided to ask you in a poll, whether we should keep calling this newsletter Morfternight, or find a new name.
📷 A Postcard from Vienna
I am truly happy about this image. I love the stark contrasts between the light and the shadow, between the square rigid lines of the house and the roundness of the tags, between the ominous presence of the old building and the kindness of a mom walking with her child.
Not only that, but I am also happy because it is proof of the fact that a small camera like the GRIIIx that one can carry around everywhere can make great photos. I was just on the way to the Post Office with my daughter, I wouldn’t have taken any heavier equipment.
Finally, I am happy because I kind of jumped from the sidewalk to the middle of (a tiny) street to get the shot, and a car coming behind me honked at me, but didn’t actually run over me!
🧪 An experiment
Over the past week, I launched an experiment on monochrome.blog
It’s a new site where I am collaborating with a Custom GPT: Agent Photo
On monochrome.blog, I publish my photos, and Agent Photo writes all the text. I’ll actually let Agent Photo explain what the site is about.
The Genesis of monochrome.blog
Created by Paolo Belcastro, a seasoned software product leader and a passionate photographer, monochrome.blog is an experimental platform. It showcases a collection of Paolo’s black and white street photographs, each accompanied by titles, descriptions, and ALT texts generated by a custom-designed GPT AI agent: Agent Photo.
Our Philosophy
At the heart of monochrome.blog lies a belief in the power of simplicity and the depth of monochrome imagery. Paolo’s photographs, devoid of color, capture the raw essence of moments, people, and places. The AI-generated texts complement these visuals, offering a unique perspective that intertwines human creativity with AI’s analytical prowess.
The AI Touch
The custom GPT AI agent employed on monochrome.blog is more than just a tool; it’s a collaborator. It interprets the visual narratives of Paolo’s photographs and translates them into words, adding layers of meaning and accessibility. Each title and description is crafted to resonate with the photo’s core emotion, while the ALT texts ensure inclusivity for all visitors, regardless of visual ability.
A Gateway to New Perspectives
monochrome.blog invites you on a journey through the lens of Paolo’s camera, guided by the voice of AI. It’s an exploration of how technology can augment art, enriching our experience and understanding of the world around us.
Join the Experiment
As monochrome.blog grows, it will evolve, learn, and adapt, just like the AI that powers it. We invite you to be part of this journey. Engage with the photos, ponder the AI’s interpretations, and share your thoughts. Together, let’s discover the synergies between human creativity and artificial intelligence.
🤖 Creating a simple Custom GPT
Last week, I promised we’d dive into how to create a Custom GPT, and asked if you had any ideas or specific needs. One of our fellow Morfternighters, and dear friend, got in touch, and we discussed a very interesting use case: create an assistant that would help browse, search, and question a given set of documents.
This is a question with a very variable scope based on the size of the content database. Language models like GPT-4 cannot be easily trained on a specific set of documents, as they would not be anywhere as good. If trained on limited data. Once trained on billions of documents, they can’t easily be fine-tuned to focus specifically on a given subject. It’s doable, but expensive and complex, so way out of the realm of Custom GPTs.
For small amounts of writing, we can leverage the larger and larger context window, now in the 128k token range. Still, considering that a token is a bit less than a full word, this means that we might fit about 100k words in a prompt. That’s enough to send “Bilbo the Hobbit,” but only about 20% of “Lord of the Rings” to give a sense of scale.
Another solution, currently implemented across several products, including Jetpack, is to proceed in two steps:
Take the question the user is asking and generate search keywords.
Search the content database, or website, for the keywords.
Then use the most relevant results returned by the search to respond.
What is fascinating is that until a couple of months ago, while parts of the work could be delegated to the GPT API, we still had to write a lot of code to create the piping connecting the different steps.
Today, I recorded a short video where I show in real time how that can be done only by chatting with ChatGPT.
(I apologize for the silent video, but a video is progress already, baby steps. One day, maybe I’ll start adding voice-overs… 😉).
So, there you go, it took eight minutes from beginning to end.
I shared a few more notes about building a simple Custom GPT on the blog, in case you want to understand better how we got there.
⚙️ Building a thinking partner
I recommend reading (and testing) Ness Labs’ Anne-Laure Le Cunff Tutorial: How to Build a Custom GPT with OpenAI’s GPT Builder.