Logic Labyrinth
Leonardo AI illustration of a watercolor world
Leonardo AI illustration of a watercolor world

Making a GPT

Written by Dan Hubbert

So I got access to the new version of Chat GPT from Open AI. As part of that comes the ability to create a custom GPT and either publish it privately or publicly. I thought I would give it a go and see what I could come up with.

So my not particularly original idea was to take some books that were no longer covered by copyright and make an expert GPT that could answer questions about the books. This should be a really low barrier to entry option as all it requires is text files of the books and a bit of prompt engineering.

So I started with the search for text files of the four books A A Milne wrote that feature Winnie the Pooh. The Disney version of Pooh is still under copyright, but the original books are in the public domain now so no copyright issues there. A bit of online research and I had text for each of the books in a set of text files.

The next step was to start the process of creating a GPT. This is as simple as starting Chat GPT, clicking on Explore in the top left-hand corner, and then clicking on the option ‘Create a GPT’ that comes up. It’s listed as being in Beta, and while I got a GPT working I’d agree the process is still a bit rough around the edges.

You’ve got a choice when you get into the editor for your new GPT. You can either interact with the designer through the natural language chat interface, or you can use the ‘Configure’ option to put the parameters in directly. I started with the Chat interface, and then switched back and forth between the two as I refined the GPT.

I’m not going to do a blow-by-blow account of the process, as honestly a basic GPT is very simple. You need:

  • A name
  • A description
  • Instructions (the prompt)
  • Some ‘conversation starters’ which are just some example questions
  • Knowledge - source files you upload for the GPT to use as extra information to work with
  • Select capabilities - Web browsing, Dall-E Image Generation and Code interpreter. I left all these turned on, but it might have been better to turn off Image integration and code interpreter for this one.

If you follow the questions asked by the chat interface, it will try to walk you through the process of getting all of these values. That includes coming up with a fairly detailed prompt for you and helping you to refine it.

So the stuff that worked - I liked the name it came up with, the prompt was pretty good and so we the conversation starters. I uploaded the source texts I’d found for the four texts and that worked fine.

I ran into a couple of problems with generating the image. Dall-E 3 can’t draw a version of Pooh that isn’t the Disney version with its distinctive little red shirt. The original version of Pooh doesn’t have any clothes. While trying to get a version of Pooh without the (still copyrighted) shirt I got quite a few errors. In the end, I pointed out that the image was copyrighted and I got an image with none of the characters in and I went with that. I had the same problem with generating the image for this blog post, and it was the same with Leonardo AI. The models struggle to move away from some trained in concepts.

The next issue was in the prompt refinement process, and I think that was mostly my fault as it gave me options I didn’t like but rather than try to think of a good option (concentrate on answering questions about the stories etc) I picked one of the options to see what would happen. I picked ‘focus on summarising the plot’ or something like that, and the result was a GPT that either couldn’t answer questions or answered with long-winded plot summarisations. That was easy enough to fix with a bit of prompt re-writing in the Configure tab.

Once I had it running I tweaked it a couple of times until the kinds of answers I was getting fit with what I expected. Overall the whole process went well and was very easy to do. It didn’t take any technical knowledge at all. The performance of the finished result was pretty slow, but I don’t think trying to performance test things is a good idea at the moment as the new version of Chat GPT has just launched and they’re dealing with the first flush of demand while idiots do things like make Winnie the Pooh GPTs.

You can try out my amazing new creation here

Next up I was to try creating one which uses an action. Actions seem to be an evolution of the Chat GPT plugins.