CoolFace
Datasetpublic

tokendr/soliloquy

GPT-5.6 Luna Diverse SFT 900 Diverse synthetic SFT traces distilled from openai/gpt-5.6-luna through an OpenAI-compatible endpoint. Each row is already formatted as a complete system / user / assistant conversation and can be passed directly to a tokenizer's chat template. The prompt mix is intentionally task-diverse rather than benchmark- or multiple-choice-shaped. The assistant response uses a consistent reasoning format: <think> deliberate reasoning trace </think> final… See the full description on the dataset page: https://huggingface.co/datasets/tokendr/soliloquy.

sourceHugging Faceupdated 8d agoView on Hugging Face
0likes41downloads
Dataset Card

GPT-5.6 Luna Diverse SFT 900

Diverse synthetic SFT traces distilled from openai/gpt-5.6-luna through an OpenAI-compatible endpoint. Each row is already formatted as a complete system / user / assistant conversation and can be passed directly to a tokenizer's chat template.

The prompt mix is intentionally task-diverse rather than benchmark- or multiple-choice-shaped. The assistant response uses a consistent reasoning format:

text
<think>
deliberate reasoning trace
</think>

final response

Dataset summary

  • —Rows: 890
  • —Task families: 10
  • —Language: English
  • —Teacher model: openai/gpt-5.6-luna
  • —Format: chat-template-ready JSONL
  • —Generated: 2026-07-16
  • —Generator: OpenStill
  • —Source file: sft.jsonl

OpenStill is Empero's internal distillation toolkit and is not publicly available yet.

This release contains the 890 traces from a larger 3,500-prompt generation corpus.

Using it for SFT

The messages field is ready for apply_chat_template; no DPO conversion or prompt reconstruction is required.

python
from datasets import load_dataset
from transformers import AutoTokenizer

dataset = load_dataset("json", data_files="sft.jsonl", split="train")
tokenizer = AutoTokenizer.from_pretrained("YOUR_BASE_MODEL")

def render(example):
    return {
        "text": tokenizer.apply_chat_template(
            example["messages"],
            tokenize=False,
            add_generation_prompt=False,
        )
    }

dataset = dataset.map(render)

For trainers that accept conversational datasets directly, use messages without mapping it to a text field.

Fields

fielddescription
idStable trace identifier from the source prompt corpus
topicTask family and generated domain, separated by /
modelTeacher model used to generate the trace (openai/gpt-5.6-luna)
messagesOrdered chat turns with system, user, and assistant roles
messages[0].contentSystem instruction used for the training conversation
messages[1].contentDiverse end-user request
messages[2].contentFull <think>...</think> reasoning trace followed by the final response

Task distribution

task familyrowswhat it contains
coding_and_debugging135Implementation, debugging, refactoring, and code review
quantitative_problem_solving133Applied mathematics, statistics, estimation, and numerical reasoning
planning_and_decision_making106Practical plans with constraints, resources, and tradeoffs
scientific_and_technical_reasoning106Science and engineering explanations, calculations, and predictions
analysis_and_argument90Evidence-based analysis of claims, scenarios, and competing explanations
extraction_and_structured_output90JSON, tables, classification, extraction, and data transformation
writing_and_transformation72Rewriting, editing, summarization, and audience-aware drafting
troubleshooting_and_diagnosis71Diagnosis from symptoms, logs, or operational context
logic_and_constraints45Scheduling, ordering, logic, and constraint-satisfaction tasks
creative_generation_with_constraints42Creative artifacts with testable structural or stylistic requirements

Statistics

measurementminimummedianmeanmaximum
Reasoning length (words)74164167.1274
User prompt length (characters)258541554.51,127
Final response length (characters)879991,377.19,130

All 890 rows have the same role sequence:

text
system → user → assistant

Validation & limitations

  • —Every retained row passed structural validation: valid JSONL, the expected three-message role sequence, a non-empty reasoning trace, a non-empty final response, canonical <think> boundaries, and no hidden teacher/model metadata in the reasoning.
  • —Structural validation is not deterministic correctness verification. Code was not executed, calculations were not checked against reference answers, and open-ended outputs were not judged by a separate model.
  • —The data is synthetic and may contain factual mistakes, imperfect code, unsupported assumptions, or stylistic artifacts from the teacher model. Review or filter it for high-stakes use cases.
  • —The dataset contains explicit reasoning traces. Confirm that the target model, tokenizer, and training recipe handle <think> tags as intended.
  • —This is a partial snapshot: 890 traces from 3,500-prompt corpus.

Support / Donate

If this dataset or tooling helped you, consider supporting the EmperoAI project:

  • —BTC: bc1qx6zepu6sfkvshgdmc4ewu6pk6rpadvpgffpp7v
  • —LTC: ltc1qv2mefzps2vtjcpwfx8xxdrpplrcvltswm68r7x
  • —XMR: 42Dbm5xg5Nq26fdyzfEU7KBnAJfhi7Cvz5J2ex5CzHXkfKuNEJzYCcmJ1GTbgjFZ5MBx72sdG1G9239Cd6rsZfv4QeDkYJY

Links

  • —Project: https://empero.org
  • —Teacher route: openai/gpt-5.6-luna
  • —Generated with OpenStill, Empero's internal distillation toolkit (not publicly available yet), using an OpenAI-compatible chat-completions API