Overview
Augmentoolkit is an open-source tool that takes your raw documents and generates synthetic instruction and conversation datasets you can use to fine-tune a language model. The goal is to teach a model the information inside your text so it becomes an expert in a chosen area, rather than relying only on retrieval at query time.
It is built for people who want a custom LLM trained on their own sources: researchers feeding in papers, hobbyists encoding the lore of a fictional universe, or teams building an internal expert. You upload documents, run a pipeline, and get a dataset (and optionally a trained model). It can also produce a RAG-ready dataset if you want traditional grounding alongside fine-tuning.
As a synthetic-data and labeling tool, Augmentoolkit can run offline on your own hardware with no external API key for data generation, or use an open-source LLM API to generate data faster. Pipelines are Python functions, so the workflow is meant to be forked and customized.
What it does
- Converts uploaded documents into synthetic instruction and conversation datasets for fine-tuning
- Optionally runs offline on your own machine with no external API key for data generation
- Works with open-source models such as Deepseek and Llama, and ships its own dataset generation model
- Can produce a RAG-ready dataset and start an inference server for traditional grounding
- Offers both a guided interface and a CLI, with platform setup scripts for macOS and Linux
- Pipelines are plain Python functions, so you can fork and build custom dataset generators
Getting started
Augmentoolkit is installed by cloning the repo and running the setup script for your platform with Python 3.11. The interface then guides you through generating your first dataset.
Install on macOS
Clone the repo and run the macOS setup script. It will attempt to install Valkey via brew if it isn't found. Use local_macos.sh instead if you plan to generate datasets locally.
git clone https://github.com/e-p-armstrong/augmentoolkit.git
cd augmentoolkit # Python == 3.11
bash macos.shInstall on Linux
Clone the repo and run the Linux setup script. It builds Valkey from source if no Redis/Valkey server is already running.
git clone https://github.com/e-p-armstrong/augmentoolkit.git
cd augmentoolkit # Python == 3.11
bash linux.shRun local inference on Linux
To generate datasets locally, use the local script. Pass "small" or a custom model name to serve a quantized model for consumer hardware, and add --tensor-parallelism N if you have multiple GPUs.
bash local_linux.sh normalWindows
On Windows the recommended path is to run Augmentoolkit under WSL, or to use the CLI, which the project notes is easier to get running on Windows.
Commands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Fine-tune a model on the latest research papers so it answers as an expert in your field
- Build an internal LLM that has learned your team's documents and reference material
- Create a lore expert trained on the sources of a niche or fictional universe
- Generate a RAG-ready dataset and spin up an inference server for grounded answers
How Augmentoolkit compares
Augmentoolkit alongside other open-source synthetic data tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| Easy Dataset | ★ 15k | An application that parses your documents and converts them into structured question-answer datasets for fine-tuning, RAG, and model evaluation. |
| SDV (Synthetic Data Vault) | ★ 3.6k | A Python library that learns patterns from real tabular data and generates realistic synthetic tables. |
| distilabel | ★ 3.4k | A framework for building synthetic-data and AI-feedback pipelines that call any LLM to generate and judge datasets. |
| NeMo Data Designer | ★ 2.4k | An NVIDIA library for orchestrating LLM-based synthetic-data pipelines with validation and quality scoring. |
| Augmentoolkit | ★ 1.9k | Turn raw documents into synthetic datasets that train domain-expert LLMs |
| NeMo Curator | ★ 1.8k | An NVIDIA toolkit for cleaning, deduplicating, and curating large text datasets used to train LLMs. |
| Curator | ★ 1.8k | A Python library for generating and curating large synthetic datasets to train and post-train language models. |
| ydata-synthetic | ★ 1.7k | A collection of generators for creating synthetic tabular and time-series data from real datasets. |

