BlogGuides

Fine-Tuning on 55,000 Real-World AI Prompts

Wikiprompt's public dataset offers over 55,000 real, human-written prompts paired with outputs and quality signal, a different kind of training data than synthetic corpora.

Fine-Tuning on 55,000 Real-World AI Prompts

Fine-Tuning on 55,000 Real-World AI Prompts

Most prompt datasets used for fine-tuning and evaluation are synthetic: generated by another model, filtered by a third model, and scored by a fourth. That pipeline is cheap and it scales, but it also means the data has never touched a human intent. Nobody actually needed the output. Nobody was trying to get a real job done.

The dataset behind Wikiprompt is the opposite kind of artifact. It is over 55,000 prompts that real people wrote, posted publicly, and used to produce a result they cared about enough to share: a portrait, a marketing headline, a piece of code, a lesson plan. That gap between "written to train a model" and "written to get something done" is the whole reason this data is worth a second look if you are building or evaluating LLMs.

Why real prompts carry different signal than synthetic ones

Synthetic prompt corpora cluster around whatever the generating model considers a plausible instruction: grammatically clean, evenly distributed across topics, because someone designed a taxonomy and asked a model to fill it in. Real prompts are messier, and that messiness is information. People under-specify, over-specify, chain constraints in odd orders, and reference a style by a proper noun instead of a description. If you are training a model to be genuinely useful rather than merely well-behaved on a benchmark, the distribution of real requests is closer to what your model will actually face in production.

There is also a selection effect that works in your favor here. Every record in this dataset is a prompt someone bothered to publish because it worked well enough to be worth showing off. That is not the same as a random sample of "prompts people type," but for fine-tuning or few-shot retrieval it is arguably a better sample: a prompt paired with evidence that it produced something good.

What's actually in the dump

Pull /dataset/prompts and each record gives you:

  • content: the actual prompt text, the thing you'd put in a training example.
  • model: which AI model the prompt targets or was run against (GPT Image, Midjourney, Claude, Nano Banana, Kling, and others), so you can slice by target model instead of assuming one.
  • category and tags: coarse and fine labels for topic-conditioned sampling or stratified splits.
  • metadata: structured fields including media_type, aspect_ratio, style, and, where a human editor scored the output, a quality assessment covering things like creativity, usefulness, and technical execution.
  • media: the actual output (image or video URLs) tied to the prompt that generated it, which is the closest thing to ground truth you'll get outside a lab.
  • author and original_source: provenance back to the original post.
  • That last group, media plus metadata plus quality assessment, is what synthetic datasets structurally cannot have. A generated prompt corpus can tell you what a prompt says. It cannot tell you, from an independent human judgment, whether the thing it produced was actually good. Wikiprompt's editorial layer means a meaningful slice of records come with exactly that judgment attached, which makes them usable as weak labels for a reward model or an LLM-as-judge calibration set, not just as instruction-tuning inputs.

    Take a prompt like this monumental brick architecture shot: the value isn't just the text, it's the text next to the image it actually produced, which lets you check whether a candidate model would plausibly generate something similar from the same instruction. Same story with a stylized piece like this wuxia sword-maiden thangka composition or this Tang dynasty portrait prompt: each one pairs a specific, opinionated instruction with a concrete visual result, which is exactly the kind of (instruction, output) pair that's hard to source at scale any other way.

    Filtering and structuring it for actual use

    The raw dump is unfiltered by design (beyond Wikiprompt's own moderation: only active, clean prompts are exported), so before you point a fine-tune at it, decide what you're optimizing for and filter accordingly:

  • By target model, using the model field, if you're building a model-specific adapter and don't want to leak, say, Midjourney-style syntax into a Claude prompt set.
  • By category, if you want a domain-specific slice (creative, coding, marketing, research, and five more) rather than the whole catalog. Browsing creative prompts in the UI is a fast way to eyeball what a category actually contains before you commit to filtering on it.
  • By quality assessment, dropping or downweighting records where the metadata score is low, if your goal is a reward signal rather than raw coverage.
  • By recency (`created_at`/`updated_at`), if you care about prompts that reflect current model capabilities rather than patterns from an older generation of tools.
  • Mechanically, pagination is keyset-based: each response includes a next URL, and you follow it until next comes back null. Up to 500 records per page:

    curl "https://www.wikiprompt.org/dataset/prompts?limit=500"

    A minimal pull-everything loop looks like this in Python:

    import requests

    url = "https://www.wikiprompt.org/dataset/prompts?limit=500"

    records = []

    while url:

    resp = requests.get(url).json()

    records.extend(resp["records"])

    url = resp.get("next")

    print(len(records), "records")

    No API key, CORS enabled, and it's edge-cached, so a full crawl of the catalog is fast and doesn't hammer anyone's origin server. If you want interactive access instead of a bulk pull, the same catalog is queryable through the search API, and there's an MCP server if you're wiring this into an agent rather than a training pipeline.

    Attribution isn't optional, and it isn't a license

    Be precise about what this data is. Wikiprompt aggregates public posts; it does not hold or grant a formal license over the underlying content, and neither does this dump. Every prompt has an original_source pointing back to the post it came from and an author field naming the person who wrote it. If you fine-tune on this data, ship a model card that credits Wikiprompt as the aggregator and preserves attribution to original authors for anything you redistribute or quote directly. That's a low bar, and it's the right one: this dataset exists because thousands of people chose to share their work publicly, and treating that as free-floating training exhaust is how the ecosystem that produces this kind of data stops existing.

    If you're deciding whether real-but-messy beats synthetic-but-clean for your use case, the honest answer is it depends what you're training for. If your model needs to handle the actual distribution of things people ask for, alongside independent judgments of whether the results were any good, this is one of the few public corpora where you get both in the same record.

    Tags
    open-data·dataset·fine-tuning·machine-learning·ai-prompts·training-data·api