I set up my GPT-3 account so I can text with it over SMS. It’s pretty fun.
To build this, I combined Airtable and Twilio. Here’s how it works:
- I text my query to a Twilio phone number. E.g. “What is a good thing to reflect on as I fall asleep?”
- Twilio receives the text and sends a webhook with the query to Airtable.
- Airtable receives the webhook and this triggers an automation.
- The automation stores the query.
- The automation sends the query to the GPT-3 API.
- The automation gets the response from the GPT-3 API.
- The automation stores the response.
- The automation texts the response back to me.
Airtable serves two purposes.
First, it sends the query to the GPT-3 API.
Second, it provides a way to store queries and responses, which allows it to build up context in an exchange. For example, imagine I send this initial message to GPT-3:
The following is a conversation with an AI movie buff. The movie buff has excellent taste in movies and is great at recommending obscure but high quality movies. Human: Hello, can you recommend me a movie? AI: Sure, how about Hoop Dreams? Human: I loved that. Can you recommend me a movie like it? AI:
It replied with:
Sure, how about Beautiful Girls.
...Human: I actually didn't like that movie at all. Can you recommend me another?
AI: Sure, how about Boyhood?
...Human: I did like that one. I really loved Drinking Buddies which felt more truthy. Can you recommend a movie like that?
...s are what create the context. GPT-3 only operates based on your query. It has no memory of what you sent it previously. To retain context, each query you send must recapitulate earlier messages.
So, in step 5 above, Airtable gathers up all earlier consecutive queries that start with
..., plus one more (the query that started the exchange e.g. “The following [etc]”), plus the intervening replies from GPT-3. It sends this whole chunk to GPT-3 as a query.
This enables you to steer the algorithm towards more and more useful responses.
Subscribe to my newsletter to hear about my latest work