NeMo Guardrails with Docker
Introduction
This guide provides step-by-step instructions for running NeMo Guardrails using Docker. Docker offers a seamless and rapid deployment method for getting started with NeMo Guardrails.
Prerequisites
Ensure Docker is installed on your machine. If not, follow the official Docker installation guide for your respective platform.
Build the Docker Images
1. Clone the repository
Start by cloning the NeMo Guardrails repository:
git clone https://github.com/NVIDIA/NeMo-Guardrails.git nemoguardrails
And change directory into the repository:
cd nemoguardrails
2. Build the Docker image
Build the nemoguardrails
Docker image:
docker build -t nemoguardrails .
3. [Optional] Build the AlignScore Server Image
If you want to use AlignScore-based fact-checking, you can also build a Docker image using the provided Dockerfile.
cd nemoguardrails/library/factchecking/align_score
docker build -t alignscore-server .
NOTE: the provided Dockerfile downloads only the base
AlignScore image. If you want support for the large model, uncomment the corresponding line in the Dockerfile.
4. [Optional] Build the Jailbreak Detection Heuristics Server Image
If you want to use the jailbreak detection heuristics server, you can also build a Docker image using the provided Dockerfile.
cd nemoguardrails/jailbreak_detection
docker build -t jailbreak_detection_heuristics .
Running using Docker
To run the NeMo Guardrails server using the Docker image, run the following command:
docker run -p 8000:8000 -e OPENAI_API_KEY=$OPENAI_API_KEY nemoguardrails
This will start the NeMo Guardrails server with the example configurations. The Chat UI will be accessible at http://localhost:8000
.
NOTE: Since the example configurations use the OpenAI test-davinci-003
models, you need to provide an OPENAI_API_KEY
.
To specify your own config folder for the server, you can have to mount your local configuration into the /config
path into the container:
docker run \
-p 8000:8000 \
-e OPENAI_API_KEY=$OPENAI_API_KEY \
-v </path/to/local/config/>:/config \
nemoguardrails
To use the Chat CLI interface, run the Docker container in interactive mode:
docker run -it \
-e OPENAI_API_KEY=$OPENAI_API_KEY \
-v </path/to/local/config/>:/config \
nemoguardrails chat --config=/config --verbose
AlignScore Fact-checking
If one of your configurations uses the AlignScore fact-checking model, you can run the AlignScore server in a separate container:
docker run -p 5000:5000 alignscore-server
This will start the AlignScore server on port 5000
. You can then specify the AlignScore server URL in your configuration file:
rails:
config:
fact_checking:
# Select AlignScore as the provider
provider: align_score
parameters:
# Point to a running instance of the AlignScore server
endpoint: "http://localhost:5000/alignscore_base"