LangChain Reference home pageLangChain ReferenceLangChain Reference
  • GitHub
  • Main Docs
Deep Agents
LangChain
LangGraph
Integrations
LangSmith
LangChain
  • Universal
  • Hub
  • Node
  • Load
  • Serializable
  • Encoder Backed
  • File System
  • In Memory
LangChain Core
  • Agents
  • Caches
  • Base
  • Dispatch
  • Web
  • Manager
  • Promises
  • Chat History
  • Context
  • Base
  • Langsmith
  • Documents
  • Embeddings
  • Errors
  • Example Selectors
  • Indexing
  • Base
  • Chat Models
  • Llms
  • Profile
  • Load
  • Serializable
  • Memory
  • Messages
  • Tool
  • Output Parsers
  • Openai Functions
  • Openai Tools
  • Outputs
  • Prompt Values
  • Prompts
  • Retrievers
  • Document Compressors
  • Runnables
  • Graph
  • Singletons
  • Stores
  • Structured Query
  • Tools
  • Base
  • Console
  • Log Stream
  • Run Collector
  • Tracer Langchain
  • Stream
  • Async Caller
  • Chunk Array
  • Context
  • Env
  • Event Source Parse
  • Format
  • Function Calling
  • Hash
  • Json Patch
  • Json Schema
  • Math
  • Ssrf
  • Stream
  • Testing
  • Tiktoken
  • Types
  • Vectorstores
Text Splitters
MCP Adapters
⌘I

LangChain Assistant

Ask a question to get started

Enter to send•Shift+Enter new line

Menu

LangChain
UniversalHubNodeLoadSerializableEncoder BackedFile SystemIn Memory
LangChain Core
AgentsCachesBaseDispatchWebManagerPromisesChat HistoryContextBaseLangsmithDocumentsEmbeddingsErrorsExample SelectorsIndexingBaseChat ModelsLlmsProfileLoadSerializableMemoryMessagesToolOutput ParsersOpenai FunctionsOpenai ToolsOutputsPrompt ValuesPromptsRetrieversDocument CompressorsRunnablesGraphSingletonsStoresStructured QueryToolsBaseConsoleLog StreamRun CollectorTracer LangchainStreamAsync CallerChunk ArrayContextEnvEvent Source ParseFormatFunction CallingHashJson PatchJson SchemaMathSsrfStreamTestingTiktokenTypesVectorstores
Text Splitters
MCP Adapters
Language
Theme
JavaScript@langchain/coremessagesMessage
Interfaceā—Since v1.0

Message

Represents a message object that organizes context for an LLM.

Copy
interface Message

Used in Docs

  • Frontend
  • Frontend

Example

Copy
// Basic message with text content
const message: Message = {
  id: "msg-123",
  name: "user",
  type: "human",
  content: [{ type: "text", text: "Hello!" }]
};

// Basic ai message interface extension
interface MyMessage extends Message<StandardMessageStructure, "ai"> {
  // Additional AI-specific properties can be added here
}
`
// Custom message structure
interface CustomStructure extends MessageStructure {
  content: {
    ai: ContentBlock.Text | ContentBlock.ToolCall<"search", { query: string }>;
    human: ContentBlock.Text | ContentBlock.Multimodal.Image;
  };
}

// Create a message with custom structure
const message: Message<CustomStructure> = {
  id: "msg-123",
  name: "user",
  type: "ai",
  content: [
    { type: "text", text: "Hello!" },
    {
      type: "tool_call",
      name: "search",
      args: { query: "What is the capital of France?" }
    }
  ]
};

Properties

property
content: $InferMessageContent<TStructure, TRole>

Array of content blocks that make up the message content

property
id: string

An optional identifier for the document.

Ideally this should be unique across the document collection and formatted as a UUID, but this will not be enforced.

property
name: string
property
response_metadata: Partial<$InferResponseMetadata<TStructure, TRole>>

Metadata about the message

property
type: TRole
View source on GitHub