Represents a chat message in a conversation.
class ChatMessageBaseMessage<TStructure, "generic">Array of content blocks that make up the message content
Unique identifier for this message
A path to the module that contains the class, eg. ["langchain", "llms"] Usually should be the same as the entrypoint the class is exported from.
An optional name for the message participant.
This property is primarily used to:
Identify agent roles in multi-agent systems: When multiple agents
collaborate, setting name helps distinguish which agent produced a
message, preventing confusion about who said what.
Pass participant names to model providers: Some providers (notably
OpenAI, e.g. see OpenAI Chat Completions API)
use this field to differentiate between participants with the
same role. For example, when using OpenAI's Chat Completions API, the
name is included in the message payload sent to the model.
// Setting name on an AIMessage to identify the agent
const message = new AIMessage({
content: "I'll handle the calendar scheduling.",
name: "calendar_agent"
});
// In a multi-agent system, this helps track message origins
const researcherMessage = new AIMessage({
content: "Here are the findings...",
name: "researcher"
});
const writerMessage = new AIMessage({
content: "I've drafted the report.",
name: "writer"
});Metadata about the message
The message type/role
The name of the serializable. Override to provide an alias or to preserve the serialized module name in minified environments.
Implemented as a static method to support loading logic.
Array of content blocks that make up the message content
Unique identifier for this message
A path to the module that contains the class, eg. ["langchain", "llms"]
An optional name for the message participant.
Metadata about the message
The message type/role
The name of the serializable. Override to provide an alias or
A path to the module that contains the class, eg. ["langchain", "llms"]