__init__() — langchain Function Reference
Architecture documentation for the __init__() function in types.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD c700b70e_a9e2_097b_9df8_de90ff0fd543["__init__()"] 5ed84231_3781_3fca_c94d_14d881170944["ModelRequest"] c700b70e_a9e2_097b_9df8_de90ff0fd543 -->|defined in| 5ed84231_3781_3fca_c94d_14d881170944 style c700b70e_a9e2_097b_9df8_de90ff0fd543 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/langchain/agents/middleware/types.py lines 106–155
def __init__(
self,
*,
model: BaseChatModel,
messages: list[AnyMessage],
system_message: SystemMessage | None = None,
system_prompt: str | None = None,
tool_choice: Any | None = None,
tools: list[BaseTool | dict[str, Any]] | None = None,
response_format: ResponseFormat[Any] | None = None,
state: AgentState[Any] | None = None,
runtime: Runtime[ContextT] | None = None,
model_settings: dict[str, Any] | None = None,
) -> None:
"""Initialize ModelRequest with backward compatibility for system_prompt.
Args:
model: The chat model to use.
messages: List of messages (excluding system prompt).
tool_choice: Tool choice configuration.
tools: List of available tools.
response_format: Response format specification.
state: Agent state.
runtime: Runtime context.
model_settings: Additional model settings.
system_message: System message instance (preferred).
system_prompt: System prompt string (deprecated, converted to SystemMessage).
Raises:
ValueError: If both `system_prompt` and `system_message` are provided.
"""
# Handle system_prompt/system_message conversion and validation
if system_prompt is not None and system_message is not None:
msg = "Cannot specify both system_prompt and system_message"
raise ValueError(msg)
if system_prompt is not None:
system_message = SystemMessage(content=system_prompt)
with warnings.catch_warnings():
warnings.simplefilter("ignore", category=DeprecationWarning)
self.model = model
self.messages = messages
self.system_message = system_message
self.tool_choice = tool_choice
self.tools = tools if tools is not None else []
self.response_format = response_format
self.state = state if state is not None else {"messages": []}
self.runtime = runtime # type: ignore[assignment]
self.model_settings = model_settings if model_settings is not None else {}
Domain
Subdomains
Source
Frequently Asked Questions
What does __init__() do?
__init__() is a function in the langchain codebase, defined in libs/langchain_v1/langchain/agents/middleware/types.py.
Where is __init__() defined?
__init__() is defined in libs/langchain_v1/langchain/agents/middleware/types.py at line 106.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free