For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • About NVIDIA NeMo Relay
    • Overview
    • Architecture
    • Ecosystem
    • Concepts
    • Release Notes
  • Getting Started
    • Agent Runtime Primer
    • Prerequisites
    • Installation
    • Configuration / Setup
    • Quick Start
  • NVIDIA NeMo Relay CLI
    • About
    • Basic Usage
    • Claude Code
    • Codex
    • Cursor
    • Hermes Agent
  • Supported Integrations
    • About
    • OpenClaw Plugin Guide
    • LangChain Integration Guide
    • LangGraph Integration Guide
    • Deep Agents Integration Guide
  • Instrument Applications
    • About
    • Adding Scopes and Marks
    • Instrument a Tool Call
    • Instrument an LLM Call
    • Add Middleware
    • Code Examples
  • Observability Plugin
    • About
    • Configuration
    • Agent Trajectory Interchange Format (ATIF)
    • Agent Trajectory Observability Format (ATOF)
    • OpenTelemetry
    • OpenInference
  • Adaptive Plugin
    • About
    • Configuration
    • Adaptive Cache Governor (ACG)
    • Adaptive Hints
  • NeMo Guardrails Plugin
    • About
    • Configuration
  • Integrate into Frameworks
    • About
    • Adding Scopes
    • Wrap Tool Calls
    • Wrap LLM Calls
    • Handle Non-Serializable Data
    • Using Codecs
    • Provider Codecs
    • Provider Response Codecs
    • Code Examples
  • Build Plugins
    • About
    • Define a Plugin
    • Validate Plugin Configuration
    • Plugin Configuration Files
    • Register Plugin Behavior
    • Design Plugin Configuration
    • NeMo Guardrails Example Plugin
    • Code Examples
  • Contribute
    • About
    • Development Setup
    • Workflow and Reviews
    • Testing and Documentation
  • Reference
    • APIs
      • Python Library Reference
        • nemo_relay
        • adaptive
        • codecs
        • guardrails
        • integrations
          • deepagents
          • langchain
            • callbacks
            • middleware
          • langgraph
        • intercepts
        • llm
        • observability
        • plugin
        • scope
        • scope_local
        • subscribers
        • tools
        • typed
        • utils
      • Node.js Library Reference
      • Rust Library Reference
    • Performance
  • Resources
    • Support and FAQs
    • Glossary
    • Troubleshooting Guide
    • Community
    • Legal
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Your Privacy Choices | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogo
On this page
  • Classes
  • NemoRelayMiddleware(AgentMiddleware)
  • Methods
  • NemoRelayMiddleware
  • name
  • wrap_model_call
  • awrap_model_call
  • wrap_tool_call
  • awrap_tool_call
ReferenceAPIsPython Library Referenceintegrationslangchain

nemo_relay.integrations.langchain.middleware

||View as Markdown|
Previous

nemo_relay.integrations.langchain.callbacks

Next

nemo_relay.integrations.langgraph

Generated from python/nemo_relay/integrations/langchain/middleware.py.

Module nemo_relay.integrations.langchain.middleware.

LangChain AgentMiddleware implementation for NeMo Relay.

Classes

NemoRelayMiddleware(AgentMiddleware)

Route LangChain agent model and tool calls through NeMo Relay.

Methods

NemoRelayMiddleware
1def NemoRelayMiddleware(*, name: str = 'NemoRelayMiddleware') -> None

Create an instance.

name
1def name() -> str

Middleware name used by LangChain graph nodes and traces.

wrap_model_call
1def wrap_model_call(request: ModelRequest[Any], handler: Callable[[ModelRequest[Any]], ModelResponse[Any]]) -> ModelResponse[Any]

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

awrap_model_call
1async def awrap_model_call(request: ModelRequest[Any], handler: Callable[[ModelRequest[Any]], Awaitable[ModelResponse[Any]]]) -> ModelResponse[Any]

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

wrap_tool_call
1def wrap_tool_call(request: ToolCallRequest, handler: Callable[[ToolCallRequest], ToolMessage | Command[Any]]) -> ToolMessage | Command[Any]

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

awrap_tool_call
1async def awrap_tool_call(request: ToolCallRequest, handler: Callable[[ToolCallRequest], Awaitable[ToolMessage | Command[Any]]]) -> ToolMessage | Command[Any]

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