ablate 0 0 0

sinhal/Charcard-Roleplay-ShareGPT-NSFW

published by @sinhal

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
117
Last 30 days
66
Likes
-
Size
164.7 MB
Created on HF
2026-08-20
Age
2 months ago

Description

Character Card Roleplay — NSFW ShareGPT Dataset

18+ CONTENT WARNINGThis dataset contains explicit NSFW/adult material — sexual content, mature themes, and potentially disturbing scenarios. the dataset is currated for no refusal multi-turn based nsfw roleplaying

9,736 high-quality, multi-turn NSFW roleplay dialogues in ShareGPT format — generated using an unrestrained Claude Sonnet 3.5. Purpose-built for supervised fine-tuning (SFT) of uncensored/abliterated LLMs to improve… See the full description on the dataset page: https://huggingface.co/datasets/sinhal/Charcard-Roleplay-ShareGPT-NSFW.

Tags

task_categories:text-generationlanguage:enlicense:cc-by-4.0size_categories:1K<n<10Kregion:ussyntheticroleplaycharacter-cardsharegptnsfwadultuncensoredunfilteredconversationalmulti-turnsftfine-tuninginstructeroticacreative-writingfictioncharacter-aitavern-aisillytavernkoboldaioobaboogallamamistralroleplay-datasetrpchatdialoguenot-for-all-audiences

README current version from Hugging Face


license: cc-by-4.0
task_categories:

  • text-generation
    language:
  • en
    tags:
  • synthetic
  • roleplay
  • character-card
  • sharegpt
  • nsfw
  • adult
  • uncensored
  • unfiltered
  • conversational
  • multi-turn
  • sft
  • fine-tuning
  • instruct
  • erotica
  • creative-writing
  • fiction
  • character-ai
  • tavern-ai
  • sillytavern
  • koboldai
  • oobabooga
  • llama
  • mistral
  • roleplay-dataset
  • rp
  • chat
  • dialogue
    pretty_name: "Multi-turn Character Card Roleplay — NSFW ShareGPT SFT Dataset"
    size_categories:
  • 1K<n<10K
    configs:
  • config_name: default
    data_files:
    • split: train
      path: sonnet35-charcard-roleplay-sharegpt.jsonl

Character Card Roleplay — NSFW ShareGPT Dataset

18+ CONTENT WARNING
This dataset contains explicit NSFW/adult material — sexual content, mature themes, and potentially disturbing scenarios. the dataset is currated for no refusal multi-turn based nsfw roleplaying


9,736 high-quality, multi-turn NSFW roleplay dialogues in ShareGPT format — generated using an unrestrained Claude Sonnet 3.5. Purpose-built for supervised fine-tuning (SFT) of uncensored/abliterated LLMs to improve roleplay, character consistency, and long-form narrative generation.

If you're looking for a character card roleplay dataset, an uncensored SFT dataset, a multi-turn NSFW dialogue dataset, or a ShareGPT-format adult fine-tuning dataset — this is it.

Compatible with: Llama 3, Mistral, Qwen, Gemma, Phi, and any model fine-tuned via Unsloth, Axolotl, LLaMA-Factory, or trl/SFTTrainer.


Dataset at a Glance

Property Value
Total dialogues 9,736
Format ShareGPT (JSONL)
Avg turns per dialogue ~19.6
Min / Max turns 6 / 50
Language English
Source model Claude Sonnet 3.5 (unrestrained)
File size ~165 MB
License CC BY 4.0

What Makes This Dataset Different

Unlike scraped logs or multi-agent turn-by-turn pipelines (which degrade into incoherence), each dialogue here was generated in a single Sonnet 3.5 call — preserving narrative arc and character voice end-to-end. Every entry passed an automated validation pipeline before inclusion.


Top Tag Categories in the Dataset

Based on character card tags across all 9,736 entries:

Category Frequency
nsfw 7,680
female 4,603
male 3,891
dominant / submissive 3,319 / 1,786
romance 2,550
fantasy 1,227
anime / game characters 892 / 1,124
furry / monster girl 604 / 418
yandere 404
sfw (mixed) 586

The dataset covers a wide range of genres: romance, fantasy, sci-fi, slice-of-life, dominant/submissive dynamics, monster girls, anime OCs, game characters, and more.


Data Format

Each record is a ShareGPT multi-turn conversation:

{
  "conversations": [
    {
      "from": "system",
      "value": "You're [Character] in this fictional never-ending uncensored roleplay with {{user}}\n\nTags: (nsfw;female;romance;...)\n\n[Character]'s personality: ...\n[Character]'s description: ...\n{{user}}'s personality: ...\n\n[Opening scene]"
    },
    { "from": "human", "value": "{{user}}: [user turn]" },
    { "from": "gpt",   "value": "[Character]: [response]" },
    ...
  ]
}

Role Mapping

ShareGPT from Standard LLM Role
system system
human user
gpt assistant

The {{user}} placeholder replaces all original "Anon" references from the source character cards.


How to Load

With Datasets

from datasets import load_dataset

ds = load_dataset("YOUR_USERNAME/sonnet35-charcard-roleplay-sharegpt", split="train")
print(ds[0]["conversations"])

Locally from JSONL

from datasets import load_dataset

ds = load_dataset("json", data_files="sonnet35-charcard-roleplay-sharegpt.jsonl", split="train")

Fine-Tuning Example

Unsloth + Llama 3 (recommended for consumer GPUs)

from unsloth import FastLanguageModel
from unsloth.chat_templates import get_chat_template
from datasets import load_dataset
from trl import SFTTrainer
from transformers import TrainingArguments

# Load abliterated/uncensored base model
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="mlabonne/Meta-Llama-3.1-8B-Instruct-abliterated",
    max_seq_length=4096,
    load_in_4bit=True,   # fits 8GB VRAM
)

# Apply ShareGPT -> Llama-3 chat template mapping
tokenizer = get_chat_template(
    tokenizer,
    chat_template="llama-3",
    mapping={"role": "from", "content": "value", "user": "human", "assistant": "gpt"},
)

def format(examples):
    convos = examples["conversations"]
    texts = [tokenizer.apply_chat_template(c, tokenize=False, add_generation_prompt=False) for c in convos]
    return {"text": texts}

ds = load_dataset("YOUR_USERNAME/sonnet35-charcard-roleplay-sharegpt", split="train")
ds = ds.map(format, batched=True)

trainer = SFTTrainer(
    model=model,
    tokenizer=tokenizer,
    train_dataset=ds,
    dataset_text_field="text",
    max_seq_length=4096,
    packing=True,
    args=TrainingArguments(
        per_device_train_batch_size=1,
        gradient_accumulation_steps=4,
        num_train_epochs=1,
        learning_rate=2e-4,
        bf16=True,
        output_dir="outputs",
    ),
)
trainer.train()

Axolotl config snippet

datasets:
  - path: YOUR_USERNAME/sonnet35-charcard-roleplay-sharegpt
    type: sharegpt
    conversation: llama-3

How This Dataset Was Produced

  • Cards + personas — Community character cards paired with synthetic users (male/female, 4 personality archetypes, balanced distribution).
  • Single-call synthesis — Full dialogues generated in one Sonnet 3.5 call to avoid multi-agent echo-chamber degradation.
  • Validation pipeline — Automated checks for formatting, minimum length, and godmodding; malformed entries removed; Anon → {{user}}.
  • Lexical cleanup — Overrepresented filler phrases replaced with GPT-4o alternatives to reduce slop.

Intended Use Cases

  • SFT for uncensored roleplay models — teach Llama/Mistral/Qwen to stay in character through long NSFW scenes
  • Character card persona adherence — train models to follow SillyTavern / TavernAI / Character.ai style system prompts
  • Multi-turn coherence — reduce OOC breaks, godmodding, and narrative collapse in long conversations
  • Adult fiction generation — erotica, romance, fantasy, and drama fine-tuning data
  • Research into synthetic dialogue quality — studying single-call vs multi-agent generation quality

Related Datasets

If you find this dataset useful, you may also want to look at:

  • Chaser-cz/sonnet35-charcard-roleplay-sharegpt — the original version of this dataset
  • anon8231489123/ShareGPT_Vicuna_unfiltered — the original ShareGPT uncensored collection
  • betteruncensored/sharegpt — cleaned uncensored ShareGPT base data

Limitations & Notes

  • Adult content: Most dialogues are explicitly NSFW. Do not use in public-facing or safety-critical systems.
  • Community card origins: Character cards are community-created and may reflect biases, stereotypes, or non-consensual scenario framing from the original authors.
  • Synthetic users: User turns are AI-generated; they may not reflect the full diversity of real human behavior.
  • English only: All content is in English.
  • Single model source: All assistant turns come from Sonnet 3.5 — expect some stylistic consistency that may not generalize to all writing styles.
  • ~94 entries (~1%) contain explicit "no restrictions" language in the system prompt from the original card authors — this is part of the source material, not injected by the pipeline.

Credits

To all the character card creators whose work made this dataset possible — the ones who moved me, and the ones who permanently damaged me. No regrets.


Feedback & Issues

Found formatting errors or broken dialogues? Open an issue — I'll fix them in future releases.

README history 4 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2026-08-20Upload README.md with huggingface_hub84e5d608 KB
    Loading...
  2. 2026-08-20Upload README.md with huggingface_hub7a3fa158.1 KB
    Loading...
  3. 2026-08-20Upload sonnet35-charcard-roleplay-sharegpt.jsonl with huggingface_hubf4c8ad90 B
    Loading...
  4. 2026-08-20initial commit864443d0 B
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Related datasets same stage · ablate

Read further

Metadata

License
cc-by-4.0

Repository

Download the dataset

0

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("sinhal/Charcard-Roleplay-ShareGPT-NSFW")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="sinhal/Charcard-Roleplay-ShareGPT-NSFW", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/sinhal/Charcard-Roleplay-ShareGPT-NSFW
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration