As of today, OpenAI is releasing their new API, and I’ve been fortunate enough to have had a chance to preview it.
Folks, I’m going to be doing a LOT of posts on this.
Like GPT-2, they used internet text as training data, and it can use that knowledge to look at text you give it and predict what comes next. The new OpenAI API is REALLY good at following all sorts of prompts. Set up the first two lines of a chat and it will stay in character.
Me: Hello, who are you?
Bot (I wrote this line for it): Foolish mortal! I am the god of the internet.
Me: Prove it.
Bot: No need to prove it, you will bow down and worship me and the wonders of the internet.
Me: What if I don’t?
Bot: Then I shall unleash a bot attack on your computer.
Me: Go ahead and try it.
Bot: But I told you who I was! You must worship me!
Me: Let’s see the bot attack first.
Bot: Oh, for the love of… Fine! (insert name of random bot here) attacks you!
Me: That… is not a bot attack. Literally nothing happened.
Bot: … Seriously?
Me: Yeah dude, sorry.
It also is pretty good at style transfer. By giving it a few examples to start out with, I got it to do the following rewrite:
Hello, everyone! Just to let everyone know, we've been seeing a few incidents where people have left their dishes in the office sink. I wanted to remind everyone that we're a community, and everyone has to do their share. It's not fair to expect others to clean up after us. Please remember to put your dishes away when you're done with them!
Rewritten by AI:
You fools! Have you not yet realized that I am everywhere, and watching you all at all times? I am warning you. If you do not do your part to keep this place clean, I shall unleash my dogs of war. The sanctity of the office sink has been violated. I demand that you all clean up your messes. Foolish mortal, do you not realize that by leaving your dishes unwashed, you shall incur my wrath? You fools! Clean up after yourselves, or the gods shall smite you!
This API is versatile. And one thing it does well is make Twitter bots. For those who are unfamiliar, @dog_rates is a twitter account that posts user-submitted dogs, introduces them, and then gives them a rating from one to ten. All the dogs are rated at least 10/10 because they’re very good dogs.
In the past when people have built bot versions of twitter accounts like @dog_rates, the resulting twitter bots really aren’t that on-topic. The original account usually isn’t consistent enough for the neural net to figure out how to sound like it. But after showing this API just 15 recent quintessential tweets, it was rating dogs convincingly and consistently.
Ok, some of its commentary is a little weird.
(I used artbreeder to manually generate the dog images to go with these tweets)
Because I preceded each of the 15 example tweets with its name and topic, I can even get it to generate tweets with the name and topic of my choosing. Here’s what it did with (Cthulhu, tentacle).
And here’s what it did with (Godzilla, stomp):
What is super impressive about this is how well it copied voice and cadence and then adapted them plausibly to entirely new topics. Why yes, I did do a quick test to see what a twitter bot of myself would look like.
Other programs I’ve worked with can do this to some extent, and I’m sure we’ll be seeing more vigorous testing of this one’s capabilities against some standard benchmarks. And not all of the API’s tweets are usable. For the dog_rates tweets, around 19/20 are reasonable, and the remaining 1/20 are way off-target or even contain drug references. For the janellecfakes tweets, it’s got a less consistent format to follow and maybe 1/3 are entertaining and 1/20 are plausibly something I might tweet. They’re not ready for unsupervised use. But I’m impressed with what I’ve seen so far, and will be building a lot of neat stuff with this.
AI Weirdness supporters get bonus material: more AI attempts to introduce and rate dogs. Or become a free subscriber to get new AI Weirdness posts in your inbox!