运行时 (Runtime)
langgraph.runtime.Runtime dataclass ¶
基类:Generic[ContextT]
这是一个便利类,用于捆绑运行作用域的上下文和其他运行时工具。
v0.6.0 版本新增。
示例
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。
context class-attribute instance-attribute ¶
context: ContextT = field(default=None)
图运行的静态上下文,例如 user_id、db_conn 等。
也可以被视为“运行依赖项”。
store class-attribute instance-attribute ¶
图运行的存储,用于实现持久化和记忆功能。
stream_writer class-attribute instance-attribute ¶
stream_writer: StreamWriter = field(default=_no_op_stream_writer)
写入自定义流的函数。