Skip to main content
Datasets provide the prompts and optional reference answers that drive evaluation runs and training runs. Each row becomes an example that your rollout and Grader process.

Dataset Format

Osmosis accepts datasets in JSONL, CSV, or Parquet format, up to 5 GB per file. Each dataset must contain at least 4 rows.

Required Columns

Optional Columns

Include ground_truth (or label) when your Grader needs a reference answer to score against. Datasets that drive reward functions based purely on model behavior can omit it. Rows with only metadata (no ground_truth) still run through the Grader.

Metadata Validation Rules

osmosis dataset upload and osmosis dataset validate enforce the following rules on the metadata column for CSV, JSONL, and Parquet:
  • Each cell must be a JSON object (a dictionary). The CLI parses CSV cells and JSONL strings as JSON, and Parquet accepts a struct column, a null column, or a JSON-object string column.
  • Nested empty objects ({} inside the top-level object) fail validation. A top-level {} is fine for individual rows, but every sampled row cannot be an empty object.
  • Value types for each key must stay consistent across rows. For example, metadata.tag cannot be a string in one row and a number in another.
  • Integer values must fit in a signed 64-bit range.
  • The CLI treats empty strings and missing values as absent and skips them during validation.

Example JSONL

Upload a Dataset

The uploaded dataset is named from the file stem (train in this example). After upload, the dataset enters a processing pipeline. You can check its status:

Validate Locally

Before uploading, validate your dataset locally to catch format issues early:
This checks required columns, file format, and basic JSONL/CSV/Parquet structure without uploading to the platform.

Preview a Dataset

Preview the first few rows of an uploaded dataset:

Manage Datasets

Next Steps

Training Runs

Use validated datasets in training configs.

Models

Choose base models and deploy trained LoRA models.