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.
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
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
{
"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
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
