ChatMessage#

class langchain_core.messages.chat.ChatMessage[source]#

Bases: BaseMessage

Message that can be assigned an arbitrary speaker (i.e. role).

Pass in content as positional arg.

Parameters:
  • content – The string contents of the message.

  • kwargs – Additional fields to pass to the

param additional_kwargs: dict [Optional]#

Reserved for additional payload data associated with the message.

For example, for a message from an AI, this could include tool calls as encoded by the model provider.

param content: str | list[str | dict] [Required]#

The string contents of the message.

param id: str | None = None#

An optional unique identifier for the message. This should ideally be provided by the provider/model which created the message.

param name: str | None = None#

An optional name for the message.

This can be used to provide a human-readable name for the message.

Usage of this field is optional, and whether it’s used or not is up to the model implementation.

param response_metadata: dict [Optional]#

Response metadata. For example: response headers, logprobs, token counts.

param role: str [Required]#

The speaker / role of the Message.

param type: Literal['chat'] = 'chat'#

The type of the message (used during serialization). Defaults to β€œchat”.

pretty_print() β†’ None#
Return type:

None

pretty_repr(html: bool = False) β†’ str#

Get a pretty representation of the message.

Parameters:

html (bool) – Whether to format the message as HTML. If True, the message will be formatted with HTML tags. Default is False.

Returns:

A pretty representation of the message.

Return type:

str