LangGraph представил класс Runtime (начиная с версии 0.6.0) вместо RunnableConfig:
Каков правильный способ доступа к user_id (и другим метаданным) из среды выполнения внутри графа или промежуточного программного обеспечения?
Пример ниже адаптирован из документации версии 1.0.0+:
Код: Выделить всё
from dataclasses import dataclass
from langchain.agents import create_agent, AgentState
from langchain.agents.middleware import after_model
from langgraph.runtime import Runtime
@dataclass
class Context:
user_id: str
thread_id: str
@after_model
def log_after_model(state: AgentState, runtime: Runtime[Context]) -> dict | None:
print(f"Completed request for user: {runtime.context.user_id}")
return None
agent = create_agent(
model="deepseek-chat",
tools=[],
middleware=[log_after_model],
context_schema=Context,
)
Код: Выделить всё
Context.__init__() missing 2 required positional arguments: 'user_id' and 'thread_id'"
В LangSmith и user_id, и thread_id отображаются в разделе «Метаданные», поэтому они явно существуют в контексте среды выполнения, но неясно, как их получить. программно.
Вот скриншот LangSmith для справки:

Подробнее здесь: https://stackoverflow.com/questions/797 ... h-metadata
Мобильная версия