SiriGPT: Bring ChatGPT to All Your Devices


Update

It looks like OpenAI has released their official ChatGPT API named gpt-3.5-turbo. I've linked an updated version of SiriGPT that uses the new API below.

This new API is definitely more optimized than the previous one with responses coming back noticeably faster. The ChatGPT API's responses are also more regulated with the API being more restrictive with the responses it's willing to provide.

This API also has a much lower cost per request so I'd recommend the updated ChatGPT API based model for regular use.


Conversational AI solutions are taking the world by storm, thanks in large part to the release of ChatGPT. Bing and Google are competing to deliver more compelling experiences that enhance their search platforms, showing just how much potential there is for this technology.

These experiences have highlighted is just how far behind the experiences delivered by voice assistants like Siri and Google Assistant are in comparison.

To bridge this gap, I decided to experiment with OpenAI's GPT-3 API. OpenAI released their text-davinci-003 model which is particularly well-suited for building conversational experiences. I wanted to see how well I could integrate these technologies with Siri to bring the best parts of ChatGPT to more platforms.

What makes ChatGPT better?

I saw a few crucial improvements ChatGPT brought to the table that I wanted to maintain:

  • No Schema: You don’t have to talk to ChatGPT according to any strict rules. You can converse however you’re comfortable.
  • Continued Conversation: The conversation can continue as long as you need and you can ask follow up questions that intelligently build on previous context.
  • Dynamic Responses: There is variance in the responses and conversation, the assistant might have a focus, but can generate new and interesting content that differs from previous responses.

Designing a solution: How GPT can improve Siri

Siri can be extended with Apple Shortcuts. With this in mind I built this integration as an extension to Siri that you can invoke by either running the GPT shortcut, or just saying “Hey SiriGPT”, instead of “Hey Siri”.

The shortcut talks to the OpenAI API with an API Key and provides it with some context. This helps SiriGPT respond more intelligently based on its constraints and domain.

This is a conversation with SiriGPT. SiriGPT is a helpful, and creative addition to Siri. SiriGPT responds concisely but prioritizes complete answers. SiriGPT can't access user devices (reminders, schedules, etc.) instead telling the user to ask Siri. It can only respond with text.

It then goes on to format your conversation in a clear way to provide the model with some useful context information.

User: Hey!
SiriGPT: Hey! How can I help?

User: …

The response from the API is then parsed and presented to the user. The conversation will continue until the user decides to end it manually, or SiriGPT determines that the user is done.

A small part of the conversation is saved locally to maintain the conversation state and is condensed before each request to reduce costs for the end user. The inputs for this system can be changed to make the assistant have a longer “memory” for more contextually aware conversations at the cost of more expensive queries.

What can SiriGPT do?

Combining these basic principles with some troubleshooting and refinement creates a surprisingly compelling experience through SiriGPT.

SiriGPT feels miles ahead of the current implementation as of Siri in iOS 16.3. It has its own downfalls where it may respond with factually incorrect information when asked specific questions just like other current GPT models. As long as you account for the downfalls of GPT models they can prove to be very valuable additions to the current tools that are out there.

Using ChatGPT and Bing through a keyboard and screen has been a great introduction but isn’t the most accessibility friendly solution. Using coice as an interaction model felt much more intuitive. I hope this implementation and more like it can provide more inclusive platforms for more people to use going forwards. Treating my interactions with these tools like a design problem helped create a far more compelling experience than I initially even set out to build.

Using AI to improve interactions with technology

This experiment goes to show just how easy OpenAI made it to build compelling conversational experiences. With a shortcut I was able to greatly expand Siri’s conversational capabilities bringing some of the best parts of ChatGPT to my personal devices.

I look forward to seeing more implementations of conversational models in our lives, it looks like they may help really improve the interactions we have with technology as a whole. It would be great to be able to control smart home devices or even our personal devices in a much more conversational way.

Creating personalized and dynamic experiences just got a whole lot easier.

If you want to try out SiriGPT you can download the current implementation below.

SiriGPT on Apple Shortcuts (DaVinci API)

SiriGPT on Apple Shortcuts (ChatGPT API)