Skip to main content
You can import datasets previously uploaded to Adaptive directly within your recipes. Datasets stored on Adaptive can be loaded by specifying a parameter of type AdaptiveDataset in your recipe’s InputConfig class. When a recipe is launched as a run and an AdaptiveDataset is found in your input config, a file is written to disk containing all the samples in that dataset. You can then load it in your recipe as a list of StringThread objects by referring to dataset.file.

Load a Dataset

First, define your dataset in your recipe’s input config:
To load a dataset from Adaptive, you can use the load_dataset method on the dataset itself:
This utility can also load local files structured in the Adaptive-supported format, which you can leverage if you are testing a recipe locally.

StringThread object

The atomic element of any dataset in the adaptive_harmony codebase is a StringThread, which is a Rust backed object exposed in Python. A StringThread simply contains all the messages in a thread of conversation, along with any metadata associated with that thread (such as metric feedback, ground truth labels or any other metadata). StringThread exposes a few helpful methods:

Loading from Hugging Face

You can also load datasets directly from Hugging Face in your recipe. adaptive_harmony exposes helper methods to convert arbitrary datasets into a list of StringThread objects by allowing you to specify the column in the original dataset that contains chat messages.