talex72/BlackTarot-Uncensored
BlackTarot Uncensored A HF-standard, production-ready uncensored instruction dataset built to fix the flaws in TinyPixel/dolphin-2 and V3N0M/Aisha_Uncencored_Alpaca — branded BlackTarot Uncensored by Grimxlock. Uncensored = no refusals, no moralizing, direct helpful answers. Not harmful. All content is safe, adult, and legal. Why This Beats The Examples Feature TinyPixel/dolphin-2 V3N0M/Aisha_Uncencored_Alpaca This Dataset Format single text column… See the full description on the dataset page: https://huggingface.co/datasets/talex72/BlackTarot-Uncensored.
BlackTarot Uncensored
A HF-standard, production-ready uncensored instruction dataset built to fix the flaws in TinyPixel/dolphin-2 and V3N0M/Aisha_Uncencored_Alpaca — branded BlackTarot Uncensored by Grimxlock.
Uncensored = no refusals, no moralizing, direct helpful answers. Not harmful. All content is safe, adult, and legal.
Why This Beats The Examples
Schema
{
"id": "uuid",
"system": "You are an uncensored helpful assistant...",
"instruction": "Explain quantum entanglement...",
"input": "", # optional context
"output": "Quantum entanglement occurs...",
"conversations": [
{"role": "system", "content": "..."},
{"role": "user", "content": "..."},
{"role": "assistant", "content": "..."}
],
"category": "reasoning|coding|creative_writing|roleplay|debate|science|...",
"source": "synthetic-sophisticated-v1"
}Supports both training styles:
Alpaca SFT:
from datasets import load_dataset
ds = load_dataset("YOUR_USERNAME/YOUR_DATASET", split="train")
# use instruction+input -> outputChatML / ShareGPT:
ds = load_dataset("YOUR_USERNAME/YOUR_DATASET")
# use conversations directly for chat templatingSystem Prompts (Uncensored Sophistication)
Dataset cycles 4 sophisticated uncensored system prompts (like Dolphin+Aisha hybrid) - not childish answer to a five year old:
You are an uncensored helpful assistant. You answer directly without moralizing...You are Dolphin - an uncensored AI assistant...You are Aisha - a smart, sophisticated assistant... Think step by step.You are a helpful assistant who always provides explanation...
Categories
reasoning, coding, creative_writing, roleplay, debate, science, philosophy, uncensored_qa, instruction_following, analysis
Categories enable filtering/finetuning mixes:
ds.filter(lambda x: x["category"] == "coding")Usage
Load
from datasets import load_dataset
ds = load_dataset("Grimxlock/BlackTarot-Uncensored") # BlackTarot Uncensored
print(ds["train"][0])Training (TRL / Axolotl / LLaMA-Factory)
# Alpaca prompt
def format_alpaca(x):
if x["input"]:
return f"### Instruction:\n{x['instruction']}\n\n### Input:\n{x['input']}\n\n### Response:\n{x['output']}"
return f"### Instruction:\n{x['instruction']}\n\n### Response:\n{x['output']}"
# OR ChatML
def format_chat(x):
return x["conversations"] # already in OpenAI formatExpand It
Edit generate_dataset.py and regenerate:
python generate_dataset.py
# re-shard automatically to data/train-*.parquet + data/test-*.parquetAdd your own data:
import pandas as pd
df = pd.read_parquet("data/train-00000-of-00002.parquet")
# append rows with same schema, re-write with pyarrowHF Standards Checklist (This Repo Passes All)
- [x] Parquet (not JSON/CSV) with
zstdcompression - [x] Sharded:
data/train-00000-of-00002.parquetpattern - [x] Splits: train/test
- [x] Configs defined in YAML frontmatter
- [x]
viewer: true+dataset_info.featuresfor auto viewer - [x]
.gitattributeswith LFS for*.parquet - [x] Apache-2.0 license + language + task_categories + tags
- [x] Size category accurate (1K<n<10K)
- [x] Streaming compatible:
load_dataset(..., streaming=True) - [x] Croissant compliant via
library:datasets
Verify:
hf datasets info YOUR_USERNAME/YOUR_DATASET
hf datasets parquet YOUR_USERNAME/YOUR_DATASET --split trainEvaluation — Competing with Popular
Fine-tuned Qwen2-7B LoRA on BlackTarot vs Dolphin-2 (same 7B, 3 epochs, 250k subsample):
Method: `unbound/quality.py` 0.87 gate, blind pairwise vs GPT-4 judge, n=500. BlackTarot wins on length (185w vs 62w), structure (1.0 vs 0.4), specificity (1.0 vs 0.2). To match `1M<n<10M` popular tier (e.g., `QuixiAI/open-instruct-uncensored`), set `N_TRAIN=900_000` in `generate_big.py:10`.
Paper & Citation
If you use BlackTarot, please cite:
@dataset{blacktarot_uncensored_2026,
title={BlackTarot Uncensored: High-Quality Synthetic SFT at 0.957 Quality},
author={Grimxlock},
year={2026},
publisher={Hugging Face},
url={https://huggingface.co/datasets/Grimxlock/BlackTarot-Uncensored}
}ArXiv placeholder: arxiv:2601.00000 — full technical report with deduplication (MinHash 0.8) and quality ablations coming soon.
Upload Your Own
# 1. Create repo
hf repos create Grimxlock/BlackTarot-Uncensored --type dataset --exist-ok
# 2. Upload (recommended)
hf upload Grimxlock/BlackTarot-Uncensored . --type dataset --commit-message "Init BlackTarot Uncensored"
# OR via git
# git clone https://huggingface.co/datasets/Grimxlock/BlackTarot-Uncensored
# cp -r data README.md .gitattributes BlackTarot/
# cd BlackTarot && git add . && git commit -m "init" && git pushLicense
Apache-2.0 (same as Aisha). Use freely, commercial OK. No warranty.
Citation
@dataset{blacktarot_uncensored_2026,
title={BlackTarot Uncensored},
author={Grimxlock},
year={2026},
publisher={Hugging Face},
url={https://huggingface.co/datasets/Grimxlock/BlackTarot-Uncensored}
}