Source code for langchain_core.messages.system

from typing import Any, Dict, List, Literal, Union

from langchain_core.messages.base import BaseMessage, BaseMessageChunk


[docs]class SystemMessage(BaseMessage): """Message for priming AI behavior. The system message is usually passed in as the first of a sequence of input messages. Example: .. code-block:: python from langchain_core.messages import HumanMessage, SystemMessage messages = [ SystemMessage( content="You are a helpful assistant! Your name is Bob." ), HumanMessage( content="What is your name?" ) ] # Define a chat model and invoke it with the messages print(model.invoke(messages)) """ type: Literal["system"] = "system" """The type of the message (used for serialization). Defaults to "system".""" @classmethod def get_lc_namespace(cls) -> List[str]: """Get the namespace of the langchain object. Default is ["langchain", "schema", "messages"].""" return ["langchain", "schema", "messages"] def __init__( self, content: Union[str, List[Union[str, Dict]]], **kwargs: Any ) -> None: """Pass in content as positional arg. Args: content: The string contents of the message. kwargs: Additional fields to pass to the message. """ super().__init__(content=content, **kwargs)
SystemMessage.update_forward_refs()
[docs]class SystemMessageChunk(SystemMessage, BaseMessageChunk): """System Message chunk.""" # Ignoring mypy re-assignment here since we're overriding the value # to make sure that the chunk variant can be discriminated from the # non-chunk variant. type: Literal["SystemMessageChunk"] = "SystemMessageChunk" # type: ignore[assignment] """The type of the message (used for serialization). Defaults to "SystemMessageChunk".""" @classmethod def get_lc_namespace(cls) -> List[str]: """Get the namespace of the langchain object. Default is ["langchain", "schema", "messages"].""" return ["langchain", "schema", "messages"]