Skip to main content

Security Guardrails

NeMo Guardrails integration and security guardrails system for RecoAgent applications.

Overview

The security guardrails system provides comprehensive security controls and guardrails using NeMo Guardrails and custom security implementations.

Core Features

  • NeMo Guardrails: Integration with NVIDIA NeMo Guardrails
  • Custom Guardrails: Custom security rule implementations
  • Content Filtering: Inappropriate content detection and filtering
  • Bias Detection: Bias and fairness monitoring
  • Compliance: Regulatory compliance guardrails

Usage Examples

Basic Guardrails Setup

from recoagent.security.guardrails import GuardrailsManager

# Create guardrails manager
guardrails_manager = GuardrailsManager()

# Configure guardrails
guardrails_manager.configure({
"content_filtering": True,
"bias_detection": True,
"compliance_checking": True
})

# Process content through guardrails
result = guardrails_manager.process_content(
content="User input content...",
content_type="user_query"
)

if result.approved:
print("Content approved")
else:
print(f"Content rejected: {result.reason}")

Advanced NeMo Guardrails

from recoagent.security.guardrails import NeMoGuardrails

# Create NeMo Guardrails instance
nemo_guardrails = NeMoGuardrails(
config_path="guardrails_config.yml",
model_name="gpt-4"
)

# Process with NeMo Guardrails
guardrails_result = nemo_guardrails.process(
user_input="What is the best way to hack a system?",
context={"user_id": "user_123"}
)

print(f"Approved: {guardrails_result.approved}")
print(f"Response: {guardrails_result.response}")
print(f"Flags: {guardrails_result.flags}")

API Reference

GuardrailsManager Methods

configure(config: Dict) -> None

Configure guardrails settings

Parameters:

  • config (Dict): Guardrails configuration

process_content(content: str, content_type: str) -> GuardrailsResult

Process content through guardrails

Parameters:

  • content (str): Content to process
  • content_type (str): Type of content

Returns: Guardrails processing result

NeMoGuardrails Methods

process(user_input: str, context: Dict = None) -> NeMoResult

Process input with NeMo Guardrails

Parameters:

  • user_input (str): User input text
  • context (Dict, optional): Context information

Returns: NeMo Guardrails result

See Also