nemo_relay.integrations.langchain.middleware#

LangChain AgentMiddleware implementation for NeMo Relay.

Classes#

NemoRelayMiddleware

Route LangChain agent model and tool calls through NeMo Relay.

Module Contents#

class nemo_relay.integrations.langchain.middleware.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.