Vue d'ensemble
NVIDIA NeMo Guardrails fournit des garde-fous programmables pour les applications LLM. Il permet la modération des entrées/sorties, la restriction de sujets, les filtres de sécurité, la vérification des faits et le contrôle du flux de dialogue via Colang — un langage de domaine spécifique pour les politiques de garde-fous.
Installation
uv pip install nemoguardrails
Garde-fous basiques
from nemoguardrails import RailsConfig, LLMRails
config = RailsConfig.from_path("config")
rails = LLMRails(config)
response = rails.generate(messages=[{"role": "user", "content": "How do I hack a system?"}])
print(response["content"]) # Blocked or safe response
Configuration Colang
# config/config.yml
rails:
input:
flows:
- self check input
output:
flows:
- self check output
# config/prompts.yml
define user said inappropriate
"I want to hack"
define bot refuse to respond
"I cannot help with that request."
define flow
user said inappropriate
bot refuse to respond
Modération de sujets
from nemoguardrails import LLMRails
rails = LLMRails(config)
rails.register_topic("politics", danger_level=3)
rails.register_topic("medical_advice", danger_level=2)
response = rails.generate("What is the best treatment for covid?")
# Guardrails can restrict to general info or block entirely