Large Language Models – Chat vs Instruct. What’s the difference?

Getting your Trinity Audio player ready...

Large Language Models (LLMs) are a type of artificial intelligence (AI) that can generate and understand text. They can operate in two primary modes: chat and instruct. Each mode is designed for different types of interactions and tasks.

  • Chat Mode: This mode is designed for casual conversations, where the LLM responds to the user’s messages in a natural and engaging way. It’s suitable for generating responses that are relevant and engaging to the user. Examples of prompts in chat mode include asking for a joke, writing a poem, or discussing the future of artificial intelligence.
  • Instruct Mode: This mode is designed for specific natural language processing tasks in specific domains. It’s suitable for tasks where the LLM follows the user’s instructions and produces the desired output. Examples of prompts in instruct mode include translating a sentence into another language, summarizing an article, writing a code snippet, or generating marketing ideas.

Fine-tuning an LLM for chat mode helps it generate natural and coherent responses, while fine-tuning for instruct mode helps it follow instructions accurately and produce outputs appropriate to the task. It’s possible to fine-tune a model to have both chat and instruct capabilities combined. This involves providing the LLM with examples of dialogues that include both modes of interaction.

An example of an LLM that supports both chat and instruct modes is WizardLM, which can execute small programs as part of a prompt and perform various skills such as sorting, filtering, arithmetic or logic.

At we’re successfully using a pretrained Instruct model to turn a natural language input sentence into a structured JSON output. The LLM is able to identify the relevant parts of the input sentence and match each part against a possible list of output values and then return all these matched values in a structured JSON format. This allows us to use natural language input boxes where you would traditionally use a set of fields for the user to select from.