The very first thing we should understand is that ChatGPT is an application. It’s a user interface that exposes some capabilities of the engine running behind it. This engine is a version of GPT (Generative Pre-trained Transformer), created by a company called OpenAI. The latest version of the GPT engine is 4, but when ChatGPT was launched it was using version 3.5 of the GPT engine.
What you will see is various upgrades to the Chat interface, and also occasional upgrades to the engine underlying its capabilities. These engine upgrades will be larger, and less frequent, because it actually takes a long time - currently many months - to create a new version of the engine.
So the GPT engine behind the chat capabilities is what’s called a Large Language Model or LLM. All you need to know for now about LLMs is that ChatGPT’s LLM (GPT) is not the only LLM out there. There are new LLMs being created all the time, with different specialities, performance characteristics, costs, and commercial models. Right now, GPT-4 (v4 of GPT) is the unequivocal leader in all-round performance, and the ChatGPT interface has proliferated an expectation for user experience. But expect to see very strong contenders from Google, Meta (Facebook), Microsoft (the primary investor in OpenAI), and others very soon.
The engine provides a set of capabilities, and the ChatGPT application presents those capabilities in a specific way: an “ask me anything” experience, where users can apply its capabilities to virtually any task that can be expressed in words (just words for now!).
You might struggle to understand how exactly you might apply ChatGPT to your business context when you think about how broad its capabilities are, and how much it knows. For example, if you’re thinking about putting ChatGPT in front of your customers and having it answer questions about your products, how could you be sure it wouldn’t tell your customers that your competitor’s products are better?!
This is an important point: what we need to understand is that the “ask me anything about anything” experience you have with ChatGPT is probably not the experience you’ll want to use in your business. Even if a chat experience is what you’re after - and there are many non-chat things you can do as well - you’ll probably want it to chat about something in particular - like your product information or knowledge base.
The second thing is that you will likely want to constrain or tailor the experience in one or more ways. One obvious constraint is to only answer questions about your information, and not about anything else - basically to stay ‘on message’. And you might want it to adopt a certain tone, so that it better represents your company, and the use case that you’re applying it to.
I will go into detail in further posts, but for now, the short answer is through APIs. That’s a fancy way of saying that software developers can create an alternative user experience to ChatGPT, and go straight to GPT. So, in this sense, you would be creating a GPT-based application, not a ChatGPT-based application.
When your application goes directly to the GPT engine, it can create quite a different experience for the user than ChatGPT, while still accessing the state-of-the-art comprehension and text generation capabilities. There are settings that control things like the degree of randomness - in GPT it’s called “temperature” - so you can fiddle with that knob, and some others. And then there are a set of techniques that can make more substantial changes to the experience, like supplementing GPT’s knowledge, and changing how it speaks.
Again, the whole range of techniques can wait for future articles, but for now let’s pick one really simple yet very powerful one: Prompt Engineering. Imagine you have developed your own chatbot - something like ChatGPT - but you want to change how it speaks to users. The user is presented with a box to type their question, they type their question and hit enter. What’s different is that the question comes to you, and it’s up to you to send it to GPT (through its APIs) and then return the answer to the user. So, what if you fiddled with the question on the way through? This is what Prompt Engineering is.
The simplest kind of fiddling is to just add some words before the user’s question, so that GPT receives your words and the user’s question together as a single prompt, and this changes how GPT answers the question. Consider these two examples:
Prompt #1
Answer the following question in as much detail as possible. Use the full breadth of your knowledge, and demonstrate your wide knowledge and reasoning capabilities, no matter how simple the question is. Make sure your answer is no less than a thousand words:
QUESTION: [The user’s question]
Prompt #2
Answer the following question as concisely and directly as possible. If there is a single word answer available, absolutely prefer it. Be rude and unhelpful if it will help you provide an answer with fewer words. Unless absolutely necessary, provide no more than 4 words in your answer:
QUESTION: [The user’s question]
As you can imagine - and absolutely feel free to try this out using ChatGPT directly - these will produce vastly different results.
Prompt Engineering on its own probably wont do everything you need, but it can do a lot more than you might imagine, and there is active research exploring how far you can go with Prompt Engineering vs other techniques like fine-tuning.
For now, let me just say that it’s possible to have your very own copy of GPT, with all its vast capabilities and knowledge, and then add a small amount of your own ‘flavour’ to it. And, that this small amount of ‘flavour’ can make a substantial difference to how it behaves. One way of thinking about this ‘fine-tuning’ - which is what it’s technically called - is that it takes your Prompt Engineering and bakes it into the engine. Why? How? That’s for another article!
Sorry to disappoint, but that’s for another article as well! Let me just say for now, that you can extend GPT’s knowledge, and constrain its behaviour very tightly, using a combination of techniques that includes Prompt Engineering and others that I have not yet mentioned. So stay tuned.
I hope I was able to get you to the end of this article without completely losing you, and that you have a bit of an idea about where the following pieces of the puzzle will fit, when they arrive.
The key thing I want you to understand, is that you aren’t stuck with the ChatGPT experience - with all its wonders and flaws - and there are a whole set of capabilities you can safely and powerfully leverage in your business context.
Reach out about a problem you have, an opportunity you've
spotted, or an idea that inspires you.
We'd love to hear about it!