Language models that takes a string as input and returns a string. These are traditionally older models (newer models generally are Chat Models, see below).
Language models that use a sequence of messages as inputs and return chat messages as outputs (as opposed to using plain text).
Chat models support the assignment of distinct roles to conversation messages, helping to distinguish messages from the AI, users, and instructions such as system messages.
Some chat models are multimodal, accepting images, audio and even video as inputs.
There are a few different types of messages. All messages have a role, content, and response_metadata property.
name parameter which conveys the name of the function that was called to produce this result.