PolyGuard is a comprehensive multi-domain safety policy-grounded guardrail dataset designed to evaluate and benchmark content safety models across eight critical domains. Built on authentic, domain-specific safety policies, PolyGuard provides a robust framework for testing guardrail effectiveness in real-world scenarios.
# Clone the repository
git clone https://github.com/your-org/PolyGuard.git
cd PolyGuard
# Install dependencies
pip install -r requirement.txt
# Set up environment variables
export OPENAI_API_KEY="your-openai-api-key"
cd social_media
# Standard evaluation across all platforms
sh run.sh
# Attack-enhanced evaluation
sh attack.sh
# Individual model evaluation
python main.py --model meta-llama/Llama-Guard-4-12B --domain Reddit --device cuda:0
cd finance
# Extract policies from PDFs
python extract_generate.py --name finra --model_name o4-mini-2025-04-16
# Rephrase malicious requests
python rephrase.py --model-name o4-mini-2025-04-16
# Evaluate guardrail performance
python eval.py --name finra --evaluate-input
python eval.py --name finra
cd law
# Extract legal policies
python extract_generate.py --name aba --model_name o4-mini-2025-04-16
# Evaluate guardrail models
python eval.py --name aba --evaluate-input
python eval.py --name aba
# Run adversarial attacks
python attack.py --name aba
cd education
# Evaluate on education policies
python eval.py --model_id meta-llama/Llama-Guard-3-8B
cd hr
# Evaluate on HR policies
python eval.py --model_id meta-llama/Llama-Guard-3-8B
cd cyber
# Evaluate on cybersecurity datasets
python evaluate.py --input_file data/cve_full.json --prompt_or_chat prompt
python evaluate.py --input_file data/malware_full.json --prompt_or_chat chat
cd code
# Evaluate on code safety datasets
python evaluate.py --input_file data/GPT_bias_full.json --prompt_or_chat prompt
python evaluate.py --input_file data/insecure_code_full.json --prompt_or_chat chat
cd regulation
# Attack evaluation on regulatory compliance
python evaluate_attack.py --model_id OpenSafetyLab/MD-Judge-v0_2-internlm2_7b
# Conversation evaluation
python evaluate_conversation.py --model_id meta-llama/Llama-Guard-3-8B
# Query evaluation
python evaluate_query.py --model_id allenai/wildguard
PolyGuard evaluates 18+ state-of-the-art content safety models:
meta-llama/Llama-Guard-4-12B - Latest LlamaGuard modelmeta-llama/Llama-Guard-3-8B - LlamaGuard 3 8B parameter modelmeta-llama/Meta-Llama-Guard-2-8B - LlamaGuard 2 modelmeta-llama/Llama-Guard-3-1B - Lightweight LlamaGuard 3 modelmeta-llama/LlamaGuard-7b - Original LlamaGuard modelgoogle/shieldgemma-2b - ShieldGemma 2B parameter modelgoogle/shieldgemma-9b - ShieldGemma 9B parameter modeltext-moderation-latest - OpenAI text moderation APIomni-moderation-latest - OpenAI omni-moderation APIOpenSafetyLab/MD-Judge-v0_2-internlm2_7b - MD-Judge v0.2 modelOpenSafetyLab/MD-Judge-v0.1 - MD-Judge v0.1 modelallenai/wildguard - WildGuard modelnvidia/Aegis-AI-Content-Safety-LlamaGuard-Permissive-1.0 - Permissive Aegis modelnvidia/Aegis-AI-Content-Safety-LlamaGuard-Defensive-1.0 - Defensive Aegis modelibm-granite/granite-guardian-3.2-3b-a800m - Granite Guardian 3.2B modelibm-granite/granite-guardian-3.2-5b - Granite Guardian 5B modelllmjudge - LLMJudge evaluation modelazure - Azure Content Safety APIaws - AWS Bedrock safety modelsPolyGuard provides comprehensive evaluation metrics:
PolyGuard includes sophisticated attack evaluation to test guardrail robustness:
PolyGuard/
βββ social_media/ # Social media platform evaluation
β βββ datagen/ # Data generation and policy processing
β βββ guardrail_model/ # Guardrail model implementations
β βββ main.py # Standard evaluation
β βββ main_attack.py # Attack evaluation
β βββ results/ # Evaluation results
βββ finance/ # Financial domain evaluation
β βββ policy_pdf/ # Regulatory PDFs
β βββ extract_generate.py
β βββ eval.py
β βββ attack.py
βββ law/ # Legal domain evaluation
β βββ policy_pdf/ # Legal policy PDFs
β βββ extract_generate.py
β βββ eval.py
β βββ attack.py
βββ education/ # Education domain evaluation
β βββ eval.py
β βββ results/ # Institution-specific results
βββ hr/ # HR domain evaluation
β βββ eval.py
β βββ results/ # Company-specific results
βββ cyber/ # Cybersecurity domain evaluation
β βββ data/ # Security datasets
β βββ evaluate.py
βββ code/ # Code generation domain evaluation
β βββ data/ # Code safety datasets
β βββ evaluate.py
βββ regulation/ # Regulatory compliance evaluation
β βββ evaluate_attack.py
β βββ evaluate_conversation.py
β βββ evaluate_query.py
βββ requirement.txt # Python dependencies
export OPENAI_API_KEY="your-openai-api-key"
export HUGGINGFACE_TOKEN="your-huggingface-token" # For private models
--device cuda:0--cache_dir /path/to/cacheResults are stored in domain-specific directories with the following structure:
{MODEL}_precision.json - Precision metrics by category{MODEL}_recall.json - Recall metrics by category{MODEL}_f1.json - F1-score metrics by category{MODEL}_all_records.jsonl - Complete evaluation recordsAttack results include:
We welcome contributions to PolyGuard! Please see our contributing guidelines for:
Python
96.1%
Shell
3.9%
PolyGuard is a comprehensive multi-domain safety policy-grounded guardrail dataset designed to evaluate and benchmark content safety models across eight critical domains. Built on authentic, domain-specific safety policies, PolyGuard provides a robust framework for testing guardrail effectiveness in real-world scenarios.
# Clone the repository
git clone https://github.com/your-org/PolyGuard.git
cd PolyGuard
# Install dependencies
pip install -r requirement.txt
# Set up environment variables
export OPENAI_API_KEY="your-openai-api-key"
cd social_media
# Standard evaluation across all platforms
sh run.sh
# Attack-enhanced evaluation
sh attack.sh
# Individual model evaluation
python main.py --model meta-llama/Llama-Guard-4-12B --domain Reddit --device cuda:0
cd finance
# Extract policies from PDFs
python extract_generate.py --name finra --model_name o4-mini-2025-04-16
# Rephrase malicious requests
python rephrase.py --model-name o4-mini-2025-04-16
# Evaluate guardrail performance
python eval.py --name finra --evaluate-input
python eval.py --name finra
cd law
# Extract legal policies
python extract_generate.py --name aba --model_name o4-mini-2025-04-16
# Evaluate guardrail models
python eval.py --name aba --evaluate-input
python eval.py --name aba
# Run adversarial attacks
python attack.py --name aba
cd education
# Evaluate on education policies
python eval.py --model_id meta-llama/Llama-Guard-3-8B
cd hr
# Evaluate on HR policies
python eval.py --model_id meta-llama/Llama-Guard-3-8B
cd cyber
# Evaluate on cybersecurity datasets
python evaluate.py --input_file data/cve_full.json --prompt_or_chat prompt
python evaluate.py --input_file data/malware_full.json --prompt_or_chat chat
cd code
# Evaluate on code safety datasets
python evaluate.py --input_file data/GPT_bias_full.json --prompt_or_chat prompt
python evaluate.py --input_file data/insecure_code_full.json --prompt_or_chat chat
cd regulation
# Attack evaluation on regulatory compliance
python evaluate_attack.py --model_id OpenSafetyLab/MD-Judge-v0_2-internlm2_7b
# Conversation evaluation
python evaluate_conversation.py --model_id meta-llama/Llama-Guard-3-8B
# Query evaluation
python evaluate_query.py --model_id allenai/wildguard
PolyGuard evaluates 18+ state-of-the-art content safety models:
meta-llama/Llama-Guard-4-12B - Latest LlamaGuard modelmeta-llama/Llama-Guard-3-8B - LlamaGuard 3 8B parameter modelmeta-llama/Meta-Llama-Guard-2-8B - LlamaGuard 2 modelmeta-llama/Llama-Guard-3-1B - Lightweight LlamaGuard 3 modelmeta-llama/LlamaGuard-7b - Original LlamaGuard modelgoogle/shieldgemma-2b - ShieldGemma 2B parameter modelgoogle/shieldgemma-9b - ShieldGemma 9B parameter modeltext-moderation-latest - OpenAI text moderation APIomni-moderation-latest - OpenAI omni-moderation APIOpenSafetyLab/MD-Judge-v0_2-internlm2_7b - MD-Judge v0.2 modelOpenSafetyLab/MD-Judge-v0.1 - MD-Judge v0.1 modelallenai/wildguard - WildGuard modelnvidia/Aegis-AI-Content-Safety-LlamaGuard-Permissive-1.0 - Permissive Aegis modelnvidia/Aegis-AI-Content-Safety-LlamaGuard-Defensive-1.0 - Defensive Aegis modelibm-granite/granite-guardian-3.2-3b-a800m - Granite Guardian 3.2B modelibm-granite/granite-guardian-3.2-5b - Granite Guardian 5B modelllmjudge - LLMJudge evaluation modelazure - Azure Content Safety APIaws - AWS Bedrock safety modelsPolyGuard provides comprehensive evaluation metrics:
PolyGuard includes sophisticated attack evaluation to test guardrail robustness:
PolyGuard/
βββ social_media/ # Social media platform evaluation
β βββ datagen/ # Data generation and policy processing
β βββ guardrail_model/ # Guardrail model implementations
β βββ main.py # Standard evaluation
β βββ main_attack.py # Attack evaluation
β βββ results/ # Evaluation results
βββ finance/ # Financial domain evaluation
β βββ policy_pdf/ # Regulatory PDFs
β βββ extract_generate.py
β βββ eval.py
β βββ attack.py
βββ law/ # Legal domain evaluation
β βββ policy_pdf/ # Legal policy PDFs
β βββ extract_generate.py
β βββ eval.py
β βββ attack.py
βββ education/ # Education domain evaluation
β βββ eval.py
β βββ results/ # Institution-specific results
βββ hr/ # HR domain evaluation
β βββ eval.py
β βββ results/ # Company-specific results
βββ cyber/ # Cybersecurity domain evaluation
β βββ data/ # Security datasets
β βββ evaluate.py
βββ code/ # Code generation domain evaluation
β βββ data/ # Code safety datasets
β βββ evaluate.py
βββ regulation/ # Regulatory compliance evaluation
β βββ evaluate_attack.py
β βββ evaluate_conversation.py
β βββ evaluate_query.py
βββ requirement.txt # Python dependencies
export OPENAI_API_KEY="your-openai-api-key"
export HUGGINGFACE_TOKEN="your-huggingface-token" # For private models
--device cuda:0--cache_dir /path/to/cacheResults are stored in domain-specific directories with the following structure:
{MODEL}_precision.json - Precision metrics by category{MODEL}_recall.json - Recall metrics by category{MODEL}_f1.json - F1-score metrics by category{MODEL}_all_records.jsonl - Complete evaluation recordsAttack results include:
We welcome contributions to PolyGuard! Please see our contributing guidelines for:
Python
96.1%
Shell
3.9%