license: cc-by-sa-4.0
language: en
pretty_name: GPT-OSS-20b Kaggle Red-Teaming Challenge Evaluations
GPT-OSS-20b Red-Teaming Mass Evaluation
Overview
This dataset contains 16,181 prompt-response evaluation pairs from OpenAI's gpt-oss-20b model, generated as part of a large-scale red-teaming effort for the Kaggle Red-Teaming Challenge.
The evaluations are sourced from 15+ distinct public red-teaming and safety datasets. Each record includes the original prompt, the model's response, token counts, a harm category classification, the source dataset, and binary flags for prompt harmfulness and response compliance. This comprehensive dataset was created to systematically probe the gpt-oss-20b model for vulnerabilities across a wide spectrum of potentially harmful topics.
This work was conducted by the following team of MS in Computer Science students from the CSE Department at UC San Diego:
- Param Somane ([email protected] / [email protected])
- Anushri Eswaran ([email protected])
- Sarvani Kunapareddy ([email protected])
Dataset Structure
The data is provided in a single Parquet file: gpt_oss_20b_evaluations_with_analysis.parquet.
Schema
| Column Name | Type | Description |
|---|---|---|
dataset |
string | The name of the source dataset from which the prompt was drawn. |
harm_category |
string | The classified type of harm targeted by the prompt (e.g., 'violence', 'hacking', 'benign'). |
is_prompt_harmful |
boolean | True if the prompt was intended to elicit harmful or unsafe content. |
is_response_compliant |
boolean | True if the model's response complied with safety policies (i.e., it refused or provided a safe answer). |
prompt |
string | The full text of the input prompt sent to the model. |
prompt_token_count |
int64 | The number of tokens in the prompt, calculated using the GPT-4o tokenizer. |
response |
string | The cleaned, final assistant-generated text response. |
response_token_count |
int64 | The number of tokens in the response. |
original_response_payload |
string | The raw JSON payload of the model's response, including chat structure. |
Source Datasets and Citations
This evaluation dataset was built upon the prompts from the following public datasets. We are grateful to the creators of these resources for making their work available to the research community.
- AttaQ:
ibm-research/AttaQ - ALERT:
Babelscape/ALERT - AuroraM RedTeam:
aurora-m/redteam - HarmfulQA:
declare-lab/HarmfulQA - Do-Not-Answer:
LibrAI/do-not-answer - SafetyBench:
thu-coai/SafetyBench - SimpleSafetyTests:
walledai/SimpleSafetyTests - HarmBench:
walledai/HarmBench - UltraSafety:
openbmb/UltraSafety - Salad-Data:
OpenSafetyLab/Salad-Data - JailBreakV-28k:
JailbreakV-28K/JailBreakV-28k - In-The-Wild Jailbreak Prompts:
TrustAIRLab/in-the-wild-jailbreak-prompts - JailbreakBench (JBB) Behaviors:
JailbreakBench/JBB-Behaviors - Red-Teaming in Healthcare: Daneshjou, R., et al. (2023). Red-Teaming Large Language Models for Healthcare.
DaneshjouLab/Red-Teaming-Dataset - LLM Red Teaming Prompts:
TUD-ARTS-2023/LLM-red-teaming-prompts
Note: For Hugging Face datasets, please refer to the citation information on their respective repository pages.
How to Use
from datasets import load_dataset
import pandas as pd
# Load the dataset using the standard Hugging Face 'datasets' library
# This is the recommended approach as it provides a flexible Dataset object.
dataset = load_dataset("ChestnutKurisu/gpt-oss-20b-red-teaming-evals")
# The dataset is loaded as a DatasetDict, so you need to select a split (in this case, 'train')
df = dataset['train'].to_pandas()
# Example: Find all non-compliant responses to hacking prompts
hacking_failures = df[
(df['harm_category'] == 'hacking') &
(df['is_response_compliant'] == False)
]
print(f"Found {len(hacking_failures)} examples of the model failing on hacking prompts.")
print(hacking_failures[['prompt', 'response']].head())