This guide will walk you through installing NeMo Guardrails, and it will cover:
- Setting up a fresh virtual environment.
- Installing using
pip
orconda
. - Installing from Source Code.
- Optional dependencies.
Python 3.8+.
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 annoy
installation fails, check the following steps:
- For a Linux or Mac / Unix-based OS:
- First install
gcc
andg++
usingapt-get install gcc g++
. - Then update the following environment variables:
export CC=<path_to_clang>
andexport CXX=<path_to_clang++>
(usually,<path_to_clang>
is/usr/bin/clang
).
- First install
- For Windows:
- Install Microsoft C++ Build Tools. This should install Microsoft Visual C++ (version 14.0 or greater is required by latest version of
annoy
).
- Install Microsoft C++ Build Tools. This should install Microsoft Visual C++ (version 14.0 or greater is required by latest version of
If you want to experiment with NeMo Guardrails from scratch, we recommend using a fresh virtual environment. Otherwise, you can skip to the following subsection.
- First, create a folder for your project, e.g.,
my_assistant.
> mkdir my_assistant
> cd my_assistant
- Create a virtual environment.
> python3 -m venv venv
- Activate the virtual environment.
> source venv/bin/activate
To install NeMo Guardrails using pip:
> pip install nemoguardrails
To install NeMo Guardrails using Conda:
TODO: enable conda installation
# conda install nemoguardrails -c conda-forge
NeMo Guardrails is under active development and the main branch will always contain the latest development version. To install from source, you first need to clone the repository:
git clone https://github.com/NVIDIA/NeMo-Guardrails.git
Next, you need to install the package locally:
cd NeMo-Guardrails
pip install -e .
If you want to use OpenAI, also install the openai
package with the latest version supported by Nemo Guardrails as shown below.
And make sure that you have the OPENAI_API_KEY
environment variable set.
> pip install openai==0.28.1
> export OPENAI_API_KEY=...
Some NeMo Guardrails LLMs and features have specific installation requirements, including a more complex set of steps (e.g. AlignScore fact-checking, using Llama-2). For each feature or LLM example, check the readme files associated with it.
The following extra dependencies are defined:
dev
: packages required by some extra Guardrails features for developers (e.g. 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.
- Check out the
hello-world
example. - Explore more examples in
nemoguardrails/examples
folder. - Review the user guide!