Install the NeMo Guardrails Library

View as Markdown

Follow these steps to install the NeMo Guardrails library.

Prerequisites

Verify your system meets the following requirements before installation.

RequirementDetails
Operating SystemWindows, Linux, MacOS
Python3.10, 3.11, 3.12, or 3.13
Hardware1 CPU with 4GB RAM. The NeMo Guardrails library runs on CPU. External models may require GPUs, which may be deployed separately to the library

Quick Start

Use the following steps to install the NeMo Guardrails library in a virtual environment.

  1. Create and activate a virtual environment:

    $python3 -m venv .venv
    $source .venv/bin/activate
  2. Install the NeMo Guardrails library. Set NVIDIA_API_KEY to your personal API key generated on build.nvidia.com.

    $pip install nemoguardrails
  3. Set up an environment variable for your NVIDIA API key.

    $export NVIDIA_API_KEY="your-nvidia-api-key"

    This is required to access NVIDIA-hosted models on build.nvidia.com. The tutorials and example configurations (examples/configs) in this library include configurations that use NVIDIA-hosted models.

Alternative Installation Methods

Install the NeMo Guardrails library from source using pip or Poetry. Choose this method if you want to contribute to the library or use the latest development version.

$git clone https://github.com/NVIDIA-NeMo/Guardrails.git nemoguardrails
$cd nemoguardrails
$python -m venv .venv
$source .venv/bin/activate
$pip install -e .

Extra Dependencies

You can install the NeMo Guardrails library with optional extra packages to add useful functionalities. The table below shows a comprehensive list.

ExtraDescription
serverGuardrails API server dependencies (aiofiles for async file handling, openai for API schemas). FastAPI is a core dependency. Required to run nemoguardrails server.
sddSensitive data detection using Presidio
evalPolicy-based evaluation tools for testing guardrails
tracingOpenTelemetry tracing support
gcpGoogle Cloud Platform language services
jailbreakYARA-based jailbreak detection heuristics
multilingualLanguage detection for multilingual content
allAll optional packages

Some features such as AlignScore have additional requirements. See the feature documentation for details.

Docker

You can run the NeMo Guardrails library in a Docker container. For containerized deployment, see NeMo Guardrails with Docker.

Troubleshooting Installation Issues

Use the following information to resolve common installation issues.

C++ Runtime Errors

The library uses Annoy, which requires a C++ compiler. Most systems already have one installed. To check, run the following command:

$g++ --version

If the command prints a version number (for example, g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0), a C++ compiler is already installed and no action is needed.

If the command is not found, install the compiler:

$apt-get install gcc g++ python3-dev