Syntax Sunday: OpenAI GPTs
What are GPTs?
OpenAI recently held their DevDay and one of the major announcements was GPTs. They are customized versions of ChatGPT tailored for specific purposes without the need for coding. They enable anyone to create and share their own personalized GPTs to enhance productivity at work, education, or just for fun. You can build a knowledge base for your GPT by simply uploading files such as PDFs and text files. Additionally, GPTs can either be kept private or shared openly.
Currently GPTs are in beta and available to most ChatGPT Plus subscribers. Learn more here.
How do they work?
Users are able to customize the GPT by adding specific instructions, files, and actions to cater to their unique requirements. There is the ability to define actions using APIs and integrate external data, essentially allowing these AI agents to carry out real-world tasks like accessing databases or assisting with e-commerce orders.
Currently, there are two ways to create GPTs:
GPT Builder - This tool assists in setting up a GPT through natural language. It prompts you with questions and automatically creates the GPT based on your responses.
Configure - Manually configure the GPT by entering such details as the name, description, and instructions. Even when using the GPT Builder, you can always make adjustments using Configure.
GPT Store
At DevDay, they also announced the upcoming launch of the GPT Store, where GPTs will be showcased, offering the creators a chance to earn money, depending on usage.
There was not much other information regarding the GPT Store release. It is an interesting concept and it will be something to keep your eye on.
My GPTs
I have played around and created a few GPTs, here are a few I have created:
#MeasurementMonday Bot (Private) - I have included a template for this bot to help me create LinkedIn posts using imported data.
Python Companion (Public) - This companion helps beginners learn python. It creates simple examples, explains concepts, and validates code.
ViteReactAI-DEV (Public) - I designed it using my preferred coding languages and integrated specialized knowledge for utilizing the OpenAI API. It assists in generating ideas, engaging in high-level discussions, and crafting code for ReactJS, NodeJS, and Python.
Creating A GPT
As a simple example, I will create a GPT designed to assist individuals with navigating the OpenAI developer documents. To achieve this, I will create a customized knowledge base by utilizing PDFs containing relevant pages from the OpenAI documentation site. Lets get started!
1.) To get started I will head to ChatGPT and click on the 'Explore" button in the sidebar. You will see the option to "Create a GPT", as well as all previously created GPTs. As you can see I have created a few already and there will be some that were created by OpenAI.
2.) Next we will create a GPT using the GPT Builder, then look at how we can manually edit a few details after. I will use the following prompt:
Create a GPT designed to assist individuals with navigating the OpenAI developer documents.
You will notice the builder starts asking questions for the title, profile picture, behavior and tone.
3.) Once the builder is finished asking you questions, you can click the "Configure" tab and see what it created!
Here you will see what the GPT Builder was doing in the background. You are free to edit any of these fields.
I am going to change the name to: "AI Doc Navigator".
Lets go through some of these fields:
Profile Picture - Upload your own or generate on using dalle-3
Name - Name of the GPT
Description - A brief overview of the GPT's functionality
Instructions - These custom instructions guide and steer the GPT, playing a crucial role in ensuring it performs as desired.
Conversation Starters - Offer simple introductory prompts for the chat window.
Knowledge - In this space, you can easily upload PDFs and other documents for your GPT to reference.
Capabilities - Turn on or off Web Browsing, DALL·E Image Generation, or Code Interpreter for your GPT.
Actions - Set up functionalities that enable GPTs to integrate with external data or perform real-world tasks. This is a more advanced and require knowledge of api's and the OpenAPI Schema. Learn more here.
This is also where I will upload the knowledge files.
To gather the files, I went to each page of the OpenAI developer docs, right-clicked, and selected Print, then saved them as PDFs. If there are many files, you can use a free online tool to combine them. There are file size limits which are explained here.
I will also turn of the DALL-E 3 Image capabilities as we do not need it.
4.) Now that the files are uploaded you can test your GPT using the preview window to the right. I will select the conversation starter: " Can you explain the OpenAI API rate limits?"
Here you are able to test and fine tune your GPT instructions before publishing
5.) When you are happy, simply click the "Save" button in the top right. There are a few options for sharing your GPT. I will select public as I want to allow anybody to use this GPT.
Note: You can go back and edit your GPT at any time. Just tell the GPT builder what changes you want, and it will update the GPT accordingly. Alternatively, you can manually configure and make adjustments as needed.
6.) After saving your GPT, you can access it on the explore page and also find it in your sidebar. Simply click on it to begin a new chat. Also, selecting the GPT name in the upper right corner reveals a dropdown menu with several helpful options.
7.) FIN!
Again If you have ChatGPT Plus, you can try out this GPT I just created at: https://chat.openai.com/g/g-Yhux0PqZA-ai-doc-navigator
Thoughts
GPTs are an intriguing new feature that I've found incredibly useful for repetitive and highly specific tasks. Creating GPTs tailored for specific tasks such as coding and marketing has been a time-saver, eliminating the need for repeated explanations and manual copy/pasting within the regular ChatGPT interface. I still need to play around with the actions, as I know there are a lot more potential uses cases.
I would like to clarify one thing: GPTs are built to engage in conversations with you and provide information. So please exercise caution when adding private or sensitive data to the knowledge base or instructions if you intend for your GPT to be publicly available.
ALL DATA CAN BE EXTRACTED!
The think true potential lies in leveraging GPTs with Actions, enabling connections to databases and various data pipelines to input and output information. In the future, OpenAI may introduce the ability for GPTs to 'work together', thereby boosting their capabilities. But we will have to wait and see!
I will also note there are still a few limitations/issues as GPTs are in beta:
Usage Cap - I think most people are at 40 messages/3 hours. This also applies to GPTs, for both your own and using others.
File Sizes and Limits - There are currently limits (10) for how many files you can add to the knowledge base for your gpt. As well there is a limit (512mb) on individual file size.
Glitches - Sometimes the GPT Builder will take off and do its own thing. You can usually let it finish or just delete and start over.
Overall though they work great and I imagine OpenAI will continue to roll out features to improve GPTs as they get closer to launching the store.
Next Steps...
Links to the GPT and all future examples will be on: https://bloodlinealpha.com/
If you have any you have any questions about using or building GPTs send me a LinkedIn message or email me at: bloodlinealpha@gmail.com.
Syntax Sunday
KH
Last updated