nemo_relay.integrations.langgraph#

NeMo Relay integrations for LangGraph.

Submodules#

Classes#

NemoRelayMiddleware

Route LangChain agent model and tool calls through NeMo Relay.

NemoRelayCallbackHandler

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

Package Contents#

class nemo_relay.integrations.langgraph.NemoRelayMiddleware(*, name: str = 'NemoRelayMiddleware')#

Bases: langchain.agents.middleware.AgentMiddleware

Route LangChain agent model and tool calls through NeMo Relay.

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 Relay 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 Relay 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 Relay 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 Relay tool execution.

class nemo_relay.integrations.langgraph.NemoRelayCallbackHandler#

Bases: nemo_relay.integrations.langchain.callbacks.NemoRelayCallbackHandler, langgraph.callbacks.GraphCallbackHandler

Bridge LangChain and LangGraph runs to NeMo Relay 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 Relay mark for a LangGraph interrupt lifecycle event.

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

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