ghost-typer / data /SOURCES.md
tmickleydoyle's picture
ghost-typer: float32 transformers model, compiler and docs
c160abb
|
Raw History Blame Contribute Delete
3.42 kB

Data sources

prompts.txt, replies.txt and wildchat.txt are produced by scripts/fetch_coding_prompts.py. Every line is English prose typed by people, taken from the datasets below. LLM-generated messages are excluded: the OASST synthetic flag, and WildChat's assistant turns, which are never used. The script keeps only prose: it removes code blocks, code-looking lines and markdown, keeps up to 2 sentences per prompt and 5 per reply, and keeps sentences of 3–24 words.

File Dataset What is used License Attribution
prompts.txt OpenAssistant/oasst2 English user messages (all turns, reviewed, not deleted, not synthetic) from conversations whose opening prompt is about code Apache-2.0 Köpf et al., OpenAssistant Conversations: Democratizing Large Language Model Alignment, 2023
prompts.txt google-research-datasets/mbpp task descriptions (text), all splits CC-BY-4.0 Austin et al., Program Synthesis with Large Language Models, 2021
prompts.txt neulab/conala curated intents (intent), paired train + test MIT Yin et al., Learning to Mine Aligned Code and Natural Language Pairs from Stack Overflow, MSR 2018
replies.txt OpenAssistant/oasst2 English assistant messages, written by human volunteers, from the same conversations Apache-2.0 as above
wildchat.txt allenai/WildChat-1M English user turns from conversations whose first user turn is about code. Conversations flagged toxic and turns with redacted PII are skipped. ODC-BY Zhao et al., WildChat: 1M ChatGPT Interaction Logs in the Wild, ICLR 2024

Counts from the last fetch:

Source Sentences
OASST user turns 4,169
MBPP 938
CoNaLa 2,820
OASST assistant turns 13,183
WildChat user turns 127,490

After removing duplicates and credential-like sentences: 7,132 lines in prompts.txt, 12,840 in replies.txt and 105,373 in wildchat.txt.

Credentials: some users paste API keys and tokens into prompts. Before filtering, the WildChat text contained 3 OpenAI keys, 4 Google API keys and 2 Telegram bot tokens. Every sentence matching a known key format, or containing a 32+ character token that mixes letters and digits, is dropped. That removed 239 lines, mostly tracebacks and file paths. test_model.py checks that no data line or vocabulary entry matches.

WildChat caveat: the user turns are what people typed into ChatGPT. Some users paste text (including earlier model output) into their messages, so "typed by people" is not perfectly clean. Only patterns that repeat across many prompts survive pruning, and a suggestion is shown only above a confidence threshold, which limits how much any single pasted message can influence what ghost-typer suggests.

The weights contain only n-gram statistics derived from these lines, plus the hand-written phrases in ../phrases/. No dataset was used to train anything. 10% of prompts.txt (chosen by content hash) is held out when measuring precision and keystrokes saved (scripts/sweep.py, scripts/benchmark.py).