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
        • 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
  • Functions
  • register_tool_request
  • deregister_tool_request
  • register_tool_execution
  • deregister_tool_execution
  • register_llm_request
  • deregister_llm_request
  • register_llm_execution
  • deregister_llm_execution
  • register_llm_stream_execution
  • deregister_llm_stream_execution
ReferenceAPIsPython Library Reference

nemo_relay.intercepts

||View as Markdown|
Previous

nemo_relay.integrations.langgraph.callbacks

Next

nemo_relay.llm

Generated from python/nemo_relay/intercepts.py.

Module nemo_relay.intercepts.

Global middleware intercept registration for tools and LLMs.

Functions

register_tool_request

1def register_tool_request(name: str, priority: int, break_chain: bool, fn: ToolRequestIntercept) -> None

Register an intercept that rewrites tool arguments before execution.

deregister_tool_request

1def deregister_tool_request(name: str) -> bool

Remove a previously registered tool request intercept.

register_tool_execution

1def register_tool_execution(name: str, priority: int, fn: ToolExecutionIntercept) -> None

Register middleware around tool execution.

deregister_tool_execution

1def deregister_tool_execution(name: str) -> bool

Remove a previously registered tool execution intercept.

register_llm_request

1def register_llm_request(name: str, priority: int, break_chain: bool, fn: LlmRequestIntercept) -> None

Register an intercept that rewrites an LLMRequest before execution.

deregister_llm_request

1def deregister_llm_request(name: str) -> bool

Remove a previously registered LLM request intercept.

register_llm_execution

1def register_llm_execution(name: str, priority: int, fn: LlmExecutionIntercept) -> None

Register middleware around non-streaming LLM execution.

deregister_llm_execution

1def deregister_llm_execution(name: str) -> bool

Remove a previously registered LLM execution intercept.

register_llm_stream_execution

1def register_llm_stream_execution(name: str, priority: int, fn: LlmStreamExecutionIntercept) -> None

Register middleware around streaming LLM execution.

deregister_llm_stream_execution

1def deregister_llm_stream_execution(name: str) -> bool

Remove a previously registered streaming LLM execution intercept.