nemo_flow.integrations.langgraph#

NeMo Flow integrations for LangGraph.

Submodules#

Classes#

NemoFlowMiddleware

Route LangChain agent model and tool calls through NeMo Flow.

NemoFlowCallbackHandler

Bridge LangChain and LangGraph runs to NeMo Flow using public callback APIs.

Package Contents#

class nemo_flow.integrations.langgraph.NemoFlowMiddleware(*, name: str = 'NemoFlowMiddleware')#

Bases: langchain.agents.middleware.AgentMiddleware

Route LangChain agent model and tool calls through NeMo Flow.

This uses LangChain’s public AgentMiddleware hooks. It applies to agents built with langchain.agents.create_agent(..., middleware=[...]).

property name: str#

Middleware name used by LangChain graph nodes and traces.

wrap_model_call(
request: langchain.agents.middleware.ModelRequest[Any],
handler: collections.abc.Callable[[langchain.agents.middleware.ModelRequest[Any]], langchain.agents.middleware.ModelResponse[Any]],
) langchain.agents.middleware.ModelResponse[Any]#

Wrap a sync LangChain agent model call in NeMo Flow LLM execution.

async awrap_model_call(
request: langchain.agents.middleware.ModelRequest[Any],
handler: collections.abc.Callable[[langchain.agents.middleware.ModelRequest[Any]], collections.abc.Awaitable[langchain.agents.middleware.ModelResponse[Any]]],
) langchain.agents.middleware.ModelResponse[Any]#

Wrap an async LangChain agent model call in NeMo Flow LLM execution.

wrap_tool_call(
request: langchain.agents.middleware.ToolCallRequest,
handler: collections.abc.Callable[[langchain.agents.middleware.ToolCallRequest], langchain_core.messages.ToolMessage | langgraph.types.Command[Any]],
) langchain_core.messages.ToolMessage | langgraph.types.Command[Any]#

Wrap a sync LangChain agent tool call in NeMo Flow tool execution.

async awrap_tool_call(
request: langchain.agents.middleware.ToolCallRequest,
handler: collections.abc.Callable[[langchain.agents.middleware.ToolCallRequest], collections.abc.Awaitable[langchain_core.messages.ToolMessage | langgraph.types.Command[Any]]],
) langchain_core.messages.ToolMessage | langgraph.types.Command[Any]#

Wrap an async LangChain agent tool call in NeMo Flow tool execution.

class nemo_flow.integrations.langgraph.NemoFlowCallbackHandler#

Bases: nemo_flow.integrations.langchain.callbacks.NemoFlowCallbackHandler, langgraph.callbacks.GraphCallbackHandler

Bridge LangChain and LangGraph runs to NeMo Flow using public callback APIs.

This handler inherits the existing LangChain callback integration, so normal runnable scopes from LangGraph and LangChain are recorded by the same code path. It also implements LangGraph’s public lifecycle callback hooks for interrupt and resume marks.

on_interrupt(event: langgraph.callbacks.GraphInterruptEvent) Any#

Emit a NeMo Flow mark for a LangGraph interrupt lifecycle event.

on_resume(event: langgraph.callbacks.GraphResumeEvent) Any#

Emit a NeMo Flow mark for a LangGraph resume lifecycle event.