OpenAI has implemented modes in their playground and development interface, each one having its own dedicated Large Language Model (LLM).

OpenAI has been focusing on two key areas to introduce structure into their LLM environment:

  • Prompt Engineering &
  • Model Segmentation.

Considering Model Segmentation, OpenAI has trained models for specific tasks, such as completion, chat, insertion, and editing of text. The most popular mode that OpenAI has offered is the complete mode.

Below is a typical complete prompt, shown in the Goose AI playground.

Prompt Engineering is being heavily leveraged to customise LLM input to fit various modes such as insert, complete, chat, etc.

To determine which prompt templates are most effective for different use-cases, prompt engineers have to experiment.

As a result, OpenAI has created different modes for the most common LLM applications. Each mode consists of a particular LLM, endpoint, and custom Python formatting.

An OpenAI mode is a collection of an endpoint, specific model, and prompt template. Obviously the prompt template will translate into Python code for run-time. Selecting an endpoint without an appropriate model will result in an error.

The image below depicts the model endpoints along with the models it is compatible with. Hence, when selecting the best mode for specific implementations, one has to point to a mode-specific model. Additionally, various end-points are available to manage various tasks.


Prompt Engineering is impacted as each mode has a predetermined input template that needs to be taken into account. This is especially true for chat, which is the most popular mode. Continuing to develop and refine modes, input templates, and model segmentation is certain to occur.

This necessitates applications dedicated to prompt creation and management, as well as prompt chaining applications, to regularly update their products to keep up with OpenAI updates.

Are users required to make use of modes? Absolutely not.

Nonetheless, the best outcomes are attained when the user's task type and the most suitable mode are closely aligned.

Below you can see the various end-points:


In the screen shot below, from the OpenAI Playground, the four modes can be accessed with Chat, Insert and Edit being currently in Beta.

A table below lists the four modes, with the three new modes marked as new and their respective models available for fine-tuning on the right. This is to address the assumption that all OpenAI models are fine-tuneable.

Considering the Chat Mode, the models gpt-3.5-turbo and gpt-3.5-turbo-0301 are generally available, but not the gpt-4 models, yet.

In the Insert row, OpenAI advises that the two insert models be used for insert specific tasks: text-davinci-insert-001 & text-davinci-insert-002.

Below is a screenshot of the complete OpenAI playground, with the modes visible at the top right.

Taking the chat mode as an example, let’s compare the playground view to the Python code view:

And the same view in the code, notice how system, user and assistant roles are defined:

pip install openai

import os
import openai
openai.api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

chat_mode = openai.ChatCompletion.create(
  messages = [{"role": "system", "content" : "You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.\nKnowledge cutoff: 2021-09-01\nCurrent date: 2023-03-02"},
{"role": "user", "content" : "How are you?"},
{"role": "assistant", "content" : "I am doing well"},
{"role": "user", "content" : "What is the mission of the company OpenAI?"}]


I’m currently the Chief Evangelist @ HumanFirst. I explore and write about all things at the intersection of AI and language; ranging from LLMs, Chatbots, Voicebots, Development Frameworks, Data-Centric latent spaces and more.