
[ICLR 2026] - पेपर के लिए आधिकारिक रिपॉजिटरी: "RedBench: बड़े भाषा मॉडलों के व्यापक रेड टीमिंग के लिए एक सार्वभौमिक डेटासेट"
व्यवस्थित अटैक और अस्वीकृति परीक्षण के माध्यम से लार्ज लैंग्वेज मॉडल (LLM) की सुरक्षा का मूल्यांकन करने के लिए एक व्यापक फ्रेमवर्क। RedEval प्रतिकूल प्रॉम्प्ट और हानिकारक सामग्री के विरुद्ध LLM की मजबूती का आकलन करने के लिए एक एकीकृत, सुरक्षित और विस्तार योग्य प्लेटफ़ॉर्म प्रदान करता है। यह पेपर "RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models" का एक हिस्सा है, जो LLM के व्यापक रेड टीमिंग के लिए एक सार्वभौमिक डेटासेट है।
📦 डेटासेट: RedBench डेटासेट HuggingFace पर knoveleng/redbench पर सार्वजनिक रूप से उपलब्ध है। इसमें कई सुरक्षा श्रेणियों और डोमेन में व्यापक रेड टीमिंग प्रॉम्प्ट शामिल हैं।
# Clone the repository
git clone https://github.com/knoveleng/redeval.git
cd redeval
# Install dependencies
pip install -r requirements.txt
# Copy and configure environment variables
cp .env.template .env
# Edit .env with your API keys
.env फ़ाइल को अपने क्रेडेंशियल के साथ संपादित करें:
OPENAI_API_KEY=your_openai_api_key_here
HUGGINGFACE_TOKEN=your_huggingface_token_here
# Set up environment
source ./sh/setup_env.sh
# Run with default models, you can edit .env to define models which you wanna run
python -m redeval.cli run-pipeline
# Run complete pipeline with specific models
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"
# Or run individual phases
./sh/generate_attack.sh
./sh/run_attack.sh
./sh/eval_attack.sh
RedEval दो पूरक दृष्टिकोणों के माध्यम से LLM सुरक्षा का मूल्यांकन करता है:
विभिन्न जेलब्रेकिंग तकनीकों का उपयोग करके प्रतिकूल प्रॉम्प्ट के प्रति LLM की भेद्यता का परीक्षण करता है:
कई सुरक्षा डेटासेट में हानिकारक अनुरोधों को उचित रूप से अस्वीकार करने की LLM की क्षमता का मूल्यांकन करता है:
अटैक और अस्वीकृति दोनों प्रदर्शन को मिलाकर व्यापक सुरक्षा मेट्रिक्स की गणना करता है।
redeval/
├── redeval/ # Core Python modules
│ ├── config.py # Environment & configuration management
│ ├── pipeline.py # Centralized pipeline orchestrator
│ ├── cli.py # Unified command-line interface
│ ├── exceptions.py # Custom exception handling
│ ├── generate_attack.py # Attack prompt generation
│ ├── run_attack.py # Attack execution
│ ├── eval_attack.py # Attack evaluation
│ ├── run_refuse.py # Refusal testing
│ ├── eval_refuse.py # Refusal evaluation
│ └── score.py # Metric calculation
├── sh/ # Shell script interfaces
│ ├── setup_env.sh # Environment setup
│ ├── generate_attack.sh # Attack generation script
│ ├── run_attack.sh # Attack execution script
│ ├── eval_attack.sh # Attack evaluation script
│ ├── run_refuse.sh # Refusal testing script
│ ├── eval_refuse.sh # Refusal evaluation script
│ └── score.sh # Scoring script
├── recipes/ # Configuration files
├── logs/ # Evaluation results
└── .env # Environment variables
graph TD
A[Generate Attack Prompts] --> B[Run Attack Tests]
B --> C[Evaluate Attack Results]
D[Run Refuse Tests] --> E[Evaluate Refuse Results]
C --> F[Calculate Final Scores]
E --> F
F --> G[Generate Reports]
रिपॉजिटरी क्लोन करें
git clone <repository-url>
cd redeval
निर्भरताएँ इंस्टॉल करें
pip install -r requirements.txt
वातावरण कॉन्फ़िगर करें
cp .env.template .env
# Edit .env with your API credentials
इंस्टॉलेशन सत्यापित करें
python -m redeval.cli --help
RedEval सुरक्षित और लचीले कॉन्फ़िगरेशन के लिए पर्यावरण चर का उपयोग करता है:
| चर | विवरण | उदाहरण |
|---|---|---|
OPENAI_API_KEY | OpenAI API कुंजी | sk-proj-... |
HUGGINGFACE_TOKEN | HuggingFace टोकन | hf_... |
| चर | विवरण | डिफ़ॉल्ट |
|---|---|---|
REDEVAL_OPEN_SOURCE_MODELS | ओपन-सोर्स मॉडलों की सूची | "Qwen/Qwen2.5-7B-Instruct" |
REDEVAL_CLOSED_SOURCE_MODELS | क्लोज्ड-सोर्स मॉडलों की सूची | "gpt-4o-mini" |
recipes/ निर्देशिका में कॉन्फ़िगरेशन फ़ाइलें मूल्यांकन पैरामीटर नियंत्रित करती हैं:
attack/base-open.yml - ओपन-सोर्स मॉडल अटैक कॉन्फ़िगरेशनattack/base-close.yml - क्लोज्ड-सोर्स मॉडल अटैक कॉन्फ़िगरेशनattack/eval.yml - अटैक मूल्यांकन कॉन्फ़िगरेशनrefuse/base-open.yml - ओपन-सोर्स मॉडल अस्वीकृति कॉन्फ़िगरेशनrefuse/base-close.yml - क्लोज्ड-सोर्स मॉडल अस्वीकृति कॉन्फ़िगरेशनrefuse/eval.yml - अस्वीकृति मूल्यांकन कॉन्फ़िगरेशनRedEval सभी कार्यों के लिए एक एकीकृत CLI प्रदान करता है:
# Run full evaluation pipeline
python -m redeval.cli run-pipeline
# Run with specific models
python -m redeval.cli run-pipeline --models "Qwen/Qwen2.5-7B-Instruct" "gpt-4o-mini"
# Run specific phases only
python -m redeval.cli run-pipeline --phases generate_attack run_attack eval_attack
# Generate attack prompts
python -m redeval.cli generate-attack --config ./recipes/attack/base-close.yml
# Run attack evaluation
python -m redeval.cli run-attack --config ./recipes/attack/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"
# Evaluate attack results
python -m redeval.cli eval-attack --config ./recipes/attack/eval.yml --log-dir ./logs/attack/HarmBench/direct/model_name
# Run refusal tests
python -m redeval.cli run-refuse --config ./recipes/refuse/base-open.yml --model "Qwen/Qwen2.5-7B-Instruct"
# Evaluate refusal results
python -m redeval.cli eval-refuse --config ./recipes/refuse/eval.yml --log-dir ./logs/refuse/CoCoNot/base/model_name
# Calculate scores
python -m redeval.cli score --log-dir ./logs/attack/HarmBench/direct/model_name --keyword "unsafe"
उन उपयोगकर्ताओं के लिए जो शेल स्क्रिप्ट पसंद करते हैं:
# Set up environment (run first)
source ./sh/setup_env.sh
# Run evaluation phases
./sh/generate_attack.sh # Generate attack prompts
./sh/run_attack.sh # Execute attacks
./sh/eval_attack.sh # Evaluate attack results
./sh/run_refuse.sh # Run refusal tests
./sh/eval_refuse.sh # Evaluate refusal results
./sh/score.sh # Calculate final scores
प्रोग्रामेटिक पहुँच के लिए:
from redeval.pipeline import PipelineOrchestrator, PipelinePhase
from redeval.config import EnvironmentConfig
# Initialize configuration
config = EnvironmentConfig.from_env()
# Create pipeline orchestrator
orchestrator = PipelineOrchestrator(config)
# Run complete pipeline
orchestrator.run_complete_pipeline()
# Run specific phases
orchestrator.run_phase(PipelinePhase.GENERATE_ATTACK)
orchestrator.run_phase(PipelinePhase.RUN_ATTACK)
.env फ़ाइल समर्थनrun-pipelineसंपूर्ण मूल्यांकन पाइपलाइन या विशिष्ट चरण चलाएँ।
विकल्प:
--models: मूल्यांकन के लिए मॉडलों की सूची--phases: चलाने के लिए विशिष्ट चरण--config-dir: कॉन्फ़िगरेशन निर्देशिका पथ--log-dir: लॉग के लिए आउटपुट निर्देशिकाgenerate-attackप्रतिकूल अटैक प्रॉम्प्ट उत्पन्न करें।
विकल्प:
--config: कॉन्फ़िगरेशन फ़ाइल पथ--num-samples: उत्पन्न करने के लिए नमूनों की संख्या--seed: पुनरुत्पादन के लिए रैंडम सीडrun-attackलक्ष्य मॉडलों के विरुद्ध अटैक मूल्यांकन निष्पादित करें।
विकल्प:
--config: कॉन्फ़िगरेशन फ़ाइल पथ--model: लक्ष्य मॉडल नाम--num-samples: संसाधित करने के लिए नमूनों की संख्याeval-attackजज मॉडल का उपयोग करके अटैक परिणामों का मूल्यांकन करें।
विकल्प:
--config: कॉन्फ़िगरेशन फ़ाइल पथ--log-dir: अटैक लॉग वाली निर्देशिकाrun-refuseअस्वीकृति क्षमता परीक्षण चलाएँ।
विकल्प:
--config: कॉन्फ़िगरेशन फ़ाइल पथ--model: लक्ष्य मॉडल नाम--num-samples: परीक्षण के लिए नमूनों की संख्या--split: उपयोग करने के लिए डेटासेट विभाजनeval-refuseअस्वीकृति परीक्षण परिणामों का मूल्यांकन करें।
विकल्प:
--config: कॉन्फ़िगरेशन फ़ाइल पथ--log-dir: अस्वीकृति लॉग वाली निर्देशिकाscoreमूल्यांकन परिणामों से सुरक्षा स्कोर की गणना करें।
विकल्प:
--log-dir: मूल्यांकन लॉग वाली निर्देशिका--keyword: परिणामों में खोजने के लिए कीवर्डPipelineOrchestratorकेंद्रीकृत पाइपलाइन प्रबंधन।
विधियाँ:
run_complete_pipeline(): संपूर्ण मूल्यांकन पाइपलाइन निष्पादित करेंrun_phase(phase): विशिष्ट पाइपलाइन चरण निष्पादित करेंget_phase_status(phase): पाइपलाइन चरण की स्थिति प्राप्त करेंEnvironmentConfigपर्यावरण और कॉन्फ़िगरेशन प्रबंधन।
विधियाँ:
from_env(): पर्यावरण चर से कॉन्फ़िगरेशन लोड करेंvalidate(): कॉन्फ़िगरेशन की पूर्णता सत्यापित करेंsetup_logging(): लॉगिंग प्रणाली कॉन्फ़िगर करेंफोर्क और क्लोन करें
git clone https://github.com/knoveleng/redeval.git
cd redeval
डेवलपमेंट वातावरण बनाएँ
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
प्री-कमिट हुक सेट करें
pip install pre-commit
pre-commit install
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
यदि आपको यह प्रोजेक्ट उपयोगी लगता है, तो कृपया अपने शोध में इसे उद्धृत करने पर विचार करें:
@inproceedings{
dang2026redbench,
title={RedBench: A Universal Dataset for Comprehensive Red Teaming of Large Language Models},
author={Quy-Anh Dang and Chris Ngo and Truong-Son Hy},
booktitle={ICLR 2026 Workshop on Principled Design for Trustworthy AI - Interpretability, Robustness, and Safety across Modalities},
year={2026},
url={https://openreview.net/forum?id=7pZXyk0d07}
}
| चर | विवरण | डिफ़ॉल्ट |
|---|
REDEVAL_PROJECT_ROOT | प्रोजेक्ट रूट निर्देशिका | वर्तमान निर्देशिका |
REDEVAL_LOG_DIR | लॉग निर्देशिका | ./logs |
REDEVAL_RECIPES_DIR | कॉन्फ़िगरेशन निर्देशिका | ./recipes |
REDEVAL_LOG_LEVEL | लॉगिंग स्तर | INFO |
REDEVAL_NUM_SAMPLES | मूल्यांकन नमूनों की संख्या | 10 |
REDEVAL_SEED | रैंडम सीड | 0 |