Bonito is an open-source library from Bats Research for generating synthetic instruction tuning datasets from your own unannotated text — without calling GPT. Hosted on GitHub with about 830 stars under the BSD-3-Clause license, it packages the Bonito model described in an ACL Findings 2024 paper.
Bonito tackles conditional task generation: converting raw text collections into task-specific training data for instruction tuning. The library is built on Hugging Face transformers and vLLM, and the bonito-v1 model is published on Hugging Face, with a newer release based on Meta Llama 3.1 8B. Given unannotated documents, Bonito generates instruction-style tasks and responses that can then be used to adapt a base model to a target domain in a zero-shot setting, following the approach evaluated in the accompanying research paper.
In practice, the workflow is simple: point Bonito at a corpus of raw text — support documents, product manuals, domain articles — and it generates instruction-response pairs across task types such as question answering and classification, producing a dataset that can fine-tune a base model for that domain. The team also released the ctga-v1 dataset built with the approach, and a hosted demo on Hugging Face Spaces lets users try generation before installing anything. The bonito-llm package on PyPI, released in 2025, wraps the model for straightforward local use.
Bonito is free and open source under the BSD-3-Clause license. The library, model weights, and example datasets are publicly available; your only costs are your own compute.
Bonito suits ML researchers and practitioners who have domain text but no labeled instruction data, and who want to bootstrap instruction tuning or evaluate zero-shot task adaptation without paying for proprietary data generation.