November 14, 2023

OpenAI Announces GPTs & Assistants. What is the difference?

OpenAI Announces GPTs & Assistants. What is the difference?

OpenAI has been changing the world ever since the release of ChatGPTs public preview. Everyone and their grandmothers have been hopping on and seeing what the fuss is about. Now, OpenAI has announced a new host of tools during their DevDay keynote, including:

  • Vision API
  • Text to Speech (TTS) Api
  • Cheaper API calls
  • The new GPT modal GPT-4-Turbo

And of course, as the stated in the topic of this article, GPTs & Assistants, but what are they and what is the difference between them?

GPTs

GPTs are seperate instances of ChatGPT that have been configured for specific use cases. Though the still contain the full power of ChatGPTs training context, they have been somewhat “forked” and configured with additional parameters to serve a specific purpose. Two of the examples given during the OpenAI DevDay keynote were Canva GPT and Zapier GPT.

CanvaGPT has the chat capability of ChatGPT but with the addition of specific functionality for Canva users. You can use natural language to explain what it is you want exactly, and through the magic of AI it can show you examples of these graphics you prompted for. With the click of a button, you can open it in Canva and start working on the design from the base provided through CanvaGPT.

Another example was ZapierGPT. With ZapierGPT (like above) use natural language to explain what you want, and the AI chatbot has the capabilities to query Zapier and action what you want it to do. Imagine you allow ZapierGPT access to your calendar. You can prompt it to check if you have a conflict for a specific date and make it send a slack message to your colleague that your not going to be able to make it to his child’s boring dance recital. Very unfortunate for little Alice but yay for automation!

OpenAI has announced there will be a GPTs store available where you can browse publicly shared GPTs by the user base. You can choose to make one yourself and share it, or keep it private for personal use.

Assistants

Similar to GPTs, assistants also allow you to make custom chat bots with the power of ChatGPTs context. Though, unlike GPTs, assistants are meant for developers and thus have no real user interface (other then the OpenAI playground).

Though it was possible before for developers to create these chatbots, it required a bit more tinkering and knowledge of the general AI space and technologies such as LangChain. With assistants, OpenAI is trying to make it easy by taking care of the boring/tough parts, allowing you to focus on building out the bot that you need.

The assistant API allows developers to make API calls to create an assistant, make new threads and attach messages to these threads. You can upload files to the assistant which can use these files to understand what it needs to respond to user messages. Users can also upload files in their thread which will stay within the context of that thread, rather then impacting the general operations of the assistant itself.

Assistants can also use different tools and functions. Tools are currently (as of the writing of this article) only limited to the Code Interpreter & Retrieval. Code Interpreter has a wide range of use cases. It allows the AI to write code, and execute it aswel. Useful not only to test the code, but to actually produce something based on the request of the user. Like translating a uploaded PDF file to a new PDF in a different language, or purging spreadsheet columns and making a new spreadsheet with only information that is related to a certain country.

The assistants API is very intuitive and makes it easy for developers to quickly generate chatbots for their specific use-case, and through threads keep the context of communications to a specific user and the assistant.

What is the difference?

If it wasn't clear yet from the information above, I think the difference is pretty simple. Though they have a lot of similarities in their end-goal (making custom chat bots), their approach and intended use-case is different.

Where GPTs have a user friendly interface, are easy to create right from ChatGPT itself and can easily be viewed & shared through the GPTs marketplace; assistants are exclusively used through an API and can be easily integrated for developers in their codebase.

Conclusion

Both these features can massively impact how people interact with ChatGPT and as these new features mature, so will the community developing new chat bots to empower us in doing things we have never been able to do before!

As a developer, I’m excited by these new announcements and have sparked me to start building something with these new toys provided to us by OpenAI.