CoolFace
Datasetpublic

stindardlogic/eu-compliance-tools-80k

eu-compliance-tools-80k 80K multi-turn tool-calling traces for EU regulatory compliance workflows — GDPR, AI Act, NIS2, DSA, PSD3, CSRD. Each example includes full tool definitions, realistic API calls, error-recovery turns, and role-specific user profiles (DPO, CISO, compliance officer). Apache 2.0 — commercial use permitted. The only open dataset combining EU regulatory coverage with agentic tool-use patterns. Timed for the EU AI Act enforcement wave. Quick Load… See the full description on the dataset page: https://huggingface.co/datasets/stindardlogic/eu-compliance-tools-80k.

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes44downloads
Dataset Card

eu-compliance-tools-80k

80K multi-turn tool-calling traces for EU regulatory compliance workflows — GDPR, AI Act, NIS2, DSA, PSD3, CSRD. Each example includes full tool definitions, realistic API calls, error-recovery turns, and role-specific user profiles (DPO, CISO, compliance officer). Apache 2.0 — commercial use permitted.

The only open dataset combining EU regulatory coverage with agentic tool-use patterns. Timed for the EU AI Act enforcement wave.

Quick Load

python
from datasets import load_dataset

ds = load_dataset("stindardlogic/eu-compliance-tools-80k", split="train")

# Filter by EU regulation
gdpr_ds    = ds.filter(lambda x: x["regulation"] == "gdpr")
ai_act_ds  = ds.filter(lambda x: x["regulation"] == "ai_act")
nis2_ds    = ds.filter(lambda x: x["regulation"] == "nis2")

# Only error-recovery scenarios (model must handle tool failures)
error_ds = ds.filter(lambda x: x["scenario_type"] == "error_recovery")

# DPO role scenarios
dpo_ds = ds.filter(lambda x: "dpo" in str(x.get("_axis_values", "")))

# Access multi-turn conversation
example = ds[0]
print("Regulation:", example["regulation"])
print("Tools used:", example["tools_used"])
for turn in example["conversation"]:
    print(turn["role"], ":", str(turn["content"])[:80])

Schema

json
{
  "conversation": [
    {"role": "system", "content": "You have access to the following tools: ..."},
    {"role": "user", "content": "Compliance query"},
    {"role": "assistant", "content": null, "tool_calls": [{"name": "query_dpia_registry", "arguments": "..."}]},
    {"role": "tool", "name": "query_dpia_registry", "content": "mock API result"},
    {"role": "assistant", "content": "Compliance guidance response"}
  ],
  "regulation":    "gdpr | ai_act | nis2 | dsa | psd3 | csrd",
  "scenario_type": "single_query | multi_step | error_recovery | cross_regulation",
  "has_call":      true,
  "turns":         9,
  "tools_used":    ["query_dpia_registry", "log_consent_event"],
  "_axis_values":  "Generation metadata (regulation/scenario/user_role)"
}

Coverage

RegulationTools covered
GDPRDPIA registry, consent logging, data subject requests, breach notification
AI ActRisk classification, conformity assessment, incident reporting
NIS2Incident reporting, supplier risk scoring, vulnerability disclosure
DSAContent moderation audit, transparency reports, trusted flagger
PSD3Payment authorization, SCA checks, fraud monitoring
CSRDESG reporting queries, emissions data, supply chain due diligence

Use cases

  • Fine-tuning compliance assistants for EU-regulated enterprises
  • Benchmarking tool-use accuracy on regulatory workflows
  • Building DPO/CISO/compliance officer AI copilots
  • EU AI Act conformity testing for agentic AI systems

Generation

Synthetic — generated with local models on Mac Studio M3 Ultra (512 GB). All data (company names, incident IDs, amounts) is fictional. EU regulatory terminology is authentic.

More coming

v0.1. Cross-regulation multi-step chains and non-English EU language versions planned.

💼 Custom EU compliance training data

Need compliance tool-calling data for your specific regulation or jurisdiction? Email contact@stindardlogic.ro