Skip to main content

DataDreamer
https://datadreamer.dev

Prompt. Generate Synthetic Data. Train & Align Models.

Tests & Release Ruff

DataDreamer is a powerful open-source Python library for prompting, synthetic data generation, and training workflows. It is designed to be simple, extremely efficient, and research-grade.

Installation

pip3 install datadreamer.dev
demo.py Result of demo.py
                                                                                                   
demo.py

See the full demo script


                                                                                     
Demo

See the synthetic dataset and the trained model

🚀 For more demonstrations and recipes see the Quick Tour page.

With DataDreamer you can:

  • 💬 Create Prompting Workflows: Create and run multi-step, complex, prompting workflows easily with major open source or API-based LLMs.
  • 📊 Generate Synthetic Datasets: Generate synthetic datasets for novel tasks or augment existing datasets with LLMs.
  • ⚙️ Train Models: Align models. Fine-tune models. Instruction-tune models. Distill models. Train on existing data or synthetic data.
  • ... learn more about what's possible in the Overview Guide

DataDreamer is:

  • 🧩 Simple: Simple and approachable to use with sensible defaults, yet powerful with support for bleeding edge techniques.
  • 🔬 Research-Grade: Built for researchers, by researchers, but accessible to all. A focus on correctness, best practices, and reproducibility.
  • 🏎️ Efficient: Aggressive caching and resumability built-in. Support for techniques like quantization, parameter-efficient training (LoRA), and more.
  • 🔄 Reproducible: Workflows built with DataDreamer are easily shareable, reproducible, and extendable.
  • 🤝 Makes Sharing Easy: Publishing datasets and models is simple. Automatically generate data cards and model cards with metadata. Generate a list of any citations required.
  • ... learn more about the motivation and design principles behind DataDreamer.

Citation

Please cite the DataDreamer paper:

@misc{patel2024datadreamer,
      title={DataDreamer: A Tool for Synthetic Data Generation and Reproducible LLM Workflows}, 
      author={Ajay Patel and Colin Raffel and Chris Callison-Burch},
      year={2024},
      eprint={2402.10379},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

Contact

Please reach out to us via email (ajayp@upenn.edu) or on Discord if you have any questions, comments, or feedback.



Copyright © 2024, Ajay Patel. Released under the MIT License.

Thank you to the maintainers at Hugging Face and LiteLLM for accepting contributions necessary for DataDreamer and providing upstream support.


Funding Acknowledgements

ODNI, IARPA: This research is supported in part by the Office of the Director of National Intelligence (ODNI), Intelligence Advanced Research Projects Activity (IARPA), via the HIATUS Program contract #2022-22072200005. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies, either expressed or implied, of ODNI, IARPA, or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for governmental purposes notwithstanding any copyright annotation therein.

Metadata

Release files for datadreamer.dev 0.46.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datadreamer.dev 0.46.0
File Size Uploaded
datadreamer_dev-0.46.0.tar.gz 285.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for datadreamer.dev 0.46.0
File Interpreter ABI Platform
datadreamer_dev-0.46.0-py3-none-any.whl Python 3 none any Details

Total release size: 667.8 kB

Release files / datadreamer_dev-0.46.0.tar.gz

Download URL datadreamer_dev-0.46.0.tar.gz
Size 285.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4b3f6a324abda3ee9a6092e08c8672f26160280f1fef71ee20a8a33ccff439bc
BLAKE2b-256 checksum
How to use checksums
f59041ef17c61c50cadceb9f1620c4c645a84d81fbe79ff993d2fadc1cc1cf9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.10.9 Linux/6.2.0-1017-aws

Release files / datadreamer_dev-0.46.0-py3-none-any.whl

Download URL datadreamer_dev-0.46.0-py3-none-any.whl
Size 382.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac46a848fbdebd708ad23a79142c251d62a88c1595576c9a06eaa488c3c4fe0d
BLAKE2b-256 checksum
How to use checksums
b578a65dae238f310cc7a4aaaadaf7015ca50bd0880c2e10856a127be3cb2534
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.10.9 Linux/6.2.0-1017-aws

Release history Release notifications | RSS feed

This release

0.46.0 This release

2 release files

0.45.0

2 release files

0.44.0

2 release files

0.43.0

2 release files

0.42.0

2 release files

0.41.0

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.36.0

2 release files

0.34.0

2 release files

0.33.0

2 release files

0.32.0

2 release files

0.31.0

2 release files

0.30.0

2 release files

0.29.0

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page