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.tagcannot 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
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: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.