This guide walks you through the following steps to install NeMo Guardrails:
- Setting up a fresh virtual environment.
- Installing using
pip
. - Installing from Source Code.
- Optional dependencies.
- Using Docker.
- Python 3.9, 3.10, or 3.11
NeMo Guardrails uses annoy, which is a C++ library with Python bindings. To install it, you need to have a valid C++ runtime on your computer. Most systems already have installed a C++ runtime. If the annoy installation fails due to a missing C++ runtime, you can install a C++ runtime as follows:
- Install
gcc
andg++
usingapt-get install gcc g++
. - Update the following environment variables:
export CC=
path_to_clang andexport CXX=
path_to_clang (usually, path_to_clang is /usr/bin/clang). - In some cases, you might also need to install the
python-dev
package usingapt-get install python-dev
(orapt-get install python3-dev
). Check out this thread if the error persists.
Install the Microsoft C++ Build Tools. This installs Microsoft Visual C++ (version 14.0 or greater is required by the latest version of annoy).
To experiment with NeMo Guardrails from scratch, use a fresh virtual environment. Otherwise, you can skip to the following section.
- Create a folder, such as my_assistant, for your project.
mkdir my_assistant
cd my_assistant
- Create a virtual environment.
python3 -m venv venv
- Activate the virtual environment.
source venv/bin/activate
- Open a new CMD prompt (Windows Key + R, cmd.exe)
- Install virtualenv using the command
pip install virtualenv
- Check that virtualenv is installed using the command
pip --version
. - Install virtualenvwrapper-win using the command
pip install virtualenvwrapper-win
.
Use the mkvirtualenv
name command to activate a new virtual environment called name.
Install NeMo Guardrails using pip:
pip install nemoguardrails
NeMo Guardrails is under active development and the main branch always contains the latest development version. To install from source:
-
Clone the repository:
git clone https://github.com/NVIDIA/NeMo-Guardrails.git
-
Install the package locally:
cd NeMo-Guardrails pip install -e .
The nemoguardrails
package also defines the following extra dependencies:
dev
: packages required by some extra Guardrails features for developers, such as the autoreload feature.eval
: packages used for the Guardrails evaluation tools.openai
: installs the latestopenai
package supported by NeMo Guardrails.sdd
: packages used by the sensitive data detector integrated in NeMo Guardrails.all
: installs all extra packages.
To keep the footprint of nemoguardrails
as small as possible, these are not installed by default. To install any of the extra dependency you can use pip as well. For example, to install the dev
extra dependencies, run the following command:
> pip install nemoguardrails[dev]
If pip fails to resolve dependencies when running `pip install nemoguardrails[all]`, you should specify additional constraints directly in the `pip install` command.
Example Command:
```sh
pip install "nemoguardrails[all]" "pandas>=1.4.0,<3"
To use OpenAI, just use the openai
extra dependency that ensures that all required packages are installed.
Make sure the OPENAI_API_KEY
environment variable is set,
as shown in the following example, where YOUR_KEY is your OpenAI key.
pip install nemoguardrails[openai]
export OPENAI_API_KEY=YOUR_KEY
Some NeMo Guardrails LLMs and features have specific installation requirements, including a more complex set of steps. For example, AlignScore fact-checking, using Llama-2 requires two additional packages. For each feature or LLM example, check the readme file associated with it.
NeMo Guardrails can also be used through Docker. For details on how to build and use the Docker image see NeMo Guardrails with Docker.
- Check out the Getting Started Guide and start with the "Hello World" example.
- Explore more examples in the examples folder.
- Review the User Guides.