Runtime(
self,
*,
context: | Name | Type |
|---|---|
| context | ContextT |
| store | BaseStore | None |
| stream_writer | StreamWriter |
| previous | Any |
| execution_info | ExecutionInfo | None |
Convenience class that bundles run-scoped context and other runtime utilities.
This class is injected into graph nodes and middleware. It provides access to
context, store, stream_writer, previous, and execution_info.
configRuntime does not include config. To access RunnableConfig, you can inject
it directly by adding a config: RunnableConfig parameter to your node function
(recommended), or use get_config() from langgraph.config.
ToolRuntime (from langgraph.prebuilt) is a subclass that provides similar
functionality but is designed specifically for tools. It shares context, store,
and stream_writer with Runtime, and adds tool-specific attributes like config,
state, and tool_call_id.
Example:
from typing import TypedDict
from langgraph.graph import StateGraph
from dataclasses import dataclass
from langgraph.runtime import Runtime
from langgraph.store.memory import InMemoryStore
@dataclass
class Context: # (1)!
user_id: str
class State(TypedDict, total=False):
response: str
store = InMemoryStore() # (2)!
store.put(("users",), "user_123", {"name": "Alice"})
def personalized_greeting(state: State, runtime: Runtime[Context]) -> State:
'''Generate personalized greeting using runtime context and store.'''
user_id = runtime.context.user_id # (3)!
name = "unknown_user"
if runtime.store:
if memory := runtime.store.get(("users",), user_id):
name = memory.value["name"]
response = f"Hello {name}! Nice to see you again."
return {"response": response}
graph = (
StateGraph(state_schema=State, context_schema=Context)
.add_node("personalized_greeting", personalized_greeting)
.set_entry_point("personalized_greeting")
.set_finish_point("personalized_greeting")
.compile(store=store)
)
result = graph.invoke({}, context=Context(user_id="user_123"))
print(result)
# > {'response': 'Hello Alice! Nice to see you again.'}
user_id.| server_info | ServerInfo | None |
Static context for the graph run, like user_id, db_conn, etc.
Can also be thought of as 'run dependencies'.
Store for the graph run, enabling persistence and memory.
Function that writes to the custom stream.
The previous return value for the given thread.
Only available with the functional API when a checkpointer is provided.
Read-only execution information/metadata for the current node run.
None before task preparation populates it.
Metadata injected by LangGraph Server. None when running open-source LangGraph without LangSmith deployments.
Merge two runtimes together.
If a value is not provided in the other runtime, the value from the current runtime is used.
Replace the runtime with a new runtime with the given overrides.
Return a new runtime with selected execution_info fields replaced.