Thanks to visit codestin.com
Credit goes to trysoup.dev

Data Forge & Quality Moat (v0.47.0)

soup data forge — synthetic data pipeline

Chunk → judge → active-prune → JSONL with provenance.

bash
soup data forge --docs ./docs --output ./synth.jsonl \
  --task sft \
  --target-rows 5000 \
  --teacher <model> \
  --provenance ./provenance.jsonl

--task picks the shape of what comes out: sft, preference or tool. --provenance writes a separate manifest of {source_doc, judge_id, chunk_id, filter_score} so a generated row can be traced back to the document it came from. The rest tune the pipeline: --uncertainty-threshold for the active-prune step, --max-chunk-chars for chunking, --judge-provider / --judge-model / --judge-base-url for the judge, and --hub hf|modelscope|modelers for where the teacher is pulled from.

Each row carries provenance (source doc, chunk offset, judge score).

soup data score — composite quality scorecard

PII + toxicity + langdetect + educational + decontamination.

bash
soup data score --input ./train.jsonl --benchmarks gsm8k

Each filter is also addressable individually:

  • soup data decontaminate — drop rows overlapping public benchmarks (n-gram heuristic)
  • soup data toxicity — keyword baseline today; a Llama-Guard backend is named in the source but is still unshipped as of v0.74.0
  • soup data langdetect — 2-letter language code per row
  • soup data pii — flag email / phone / SSN / credit-card patterns
  • soup data educational — educational-value score per row [0, 1]

Soup is free and Apache-2.0. If it saved you a training run, starring the repo costs nothing and helps most. You can also fund the GPU time behind the work a 4 GB laptop cannot reach.