
[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_PROJECT_ROOT | प्रोजेक्ट रूट निर्देशिका | वर्तमान निर्देशिका |
REDEVAL_LOG_DIR | लॉग निर्देशिका | ./logs |
REDEVAL_RECIPES_DIR | कॉन्फ़िगरेशन निर्देशिका | ./recipes |
REDEVAL_LOG_LEVEL | लॉगिंग स्तर | INFO |
REDEVAL_NUM_SAMPLES | मूल्यांकन नमूनों की संख्या | 10 |
REDEVAL_SEED | रैंडम सीड | 0 |
| चर | विवरण | डिफ़ॉल्ट |
|---|---|---|
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