Customizing A GPT-3 Chatbot

And Why still Bother With Other Frameworks & Environments?

Cobus Greyling
4 min readJun 7, 2021

--

Since OpenAI made text processing available with GPT-3, the question have been asked, is this the ultimate and only interface you will ever need to create a Conversational AI interface, or chatbot?

Why still bother with other frameworks and environments?

Yes, there are instances where GPT-3 can be used in a standalone mode. For instance; a mood-to-color chatbot, a fun and sarcastic chatbot, a friend like chit-chat bot, general open domain conversations etc.

However, currently, GPT-3 has minimal capacity for supporting fine-tuning projects.

GPT-3 is working on building a self-serve fine-tuning endpoint that will make this feature accessible to all users, but concrete timelines are not available.

For now, in most production and enterprise implementations, GPT-3 will play a support role…but let’s take a look to what extend the OpenAI API can be trained and adapted with custom information.

There are some measure of customization which is possible via the API, but there are limitations. Here are some of the functionality available to use your own data.

These options might serve as some insight as to what lies ahead for GPT-3.

Create Classification

Within the Python code, you can see the query:

query="It seems like I first need to go slower and make sure :(",

With the query, labeled examples are provided:

examples=[
["You can drive cross the intersection.", "Green"],
["Go slower to check the intersection", "Orange"],
["You must stop at the intersection..", "Red"]
],

Given the query and the set of labeled examples, the model will predict the most likely label for the query. This can serve to classify text, or label sentences.

Classification examples are given. In true GPT-3 fashion, only a few lines of “training” data. The user input is labeled, or classified according to the data.

Classification examples are given. In true GPT-3 fashion, only a few lines of “training” data. The user input is labeled, or classified according to the data.

What is interesting is that the example data is included in the query. I initially thought the same approach would have been taken as IBM Watson. Where you submit the training data, and later reference it from the query with an ID.

Create Answers To Questions

Answers the specified question using the provided documents and examples.

The API first search uploaded documents or files to find relevant context. The relevant context is combined with the provided examples and question, to create the prompt for completion.

The question with the example documents. In this case the documents are used to answer the question.

The question with the example documents. In this case the documents are used to answer the question.

A second query based on the same input.

Another question is posed and the answer is retrieved from the examples supplied.

Another question is posed and the answer is retrieved from the examples supplied.

Create Search

The search endpoint computes similarity scores between provided query and documents. Documents can be passed directly to the API.

Three continents are listed and a City. The continent to which the city belongs is returned.

Three continents are listed and a City. The continent to which the city belongs is returned.

Conclusion

There are elements of GPT-3 which is mind-blowing, the text related tasks are super useful; summarization, simplification, theming, key word extraction etc.

Talking to the chatbot API is surreal. The NLG and contextual awareness are astounding. It is only once you start thinking of building a domain specific enterprise solution, and scaling, and abstraction, where the challenge start.

--

--

Cobus Greyling

I explore and write about all things at the intersection of AI & language; LLMs/NLP/NLU, Chat/Voicebots, CCAI. www.cobusgreyling.com