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 processcontent_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 textcontext(Dict, optional): Context information
Returns: NeMo Guardrails result
See Also
- Security Core - Core security features
- Security Audit - Audit logging and compliance