Local File Operations
The CLI includes local JSONL tools that run without uploading or authenticating. These are useful for preparing, inspecting, and manipulating batch files before submission.
Validate
Check a JSONL file for format errors:
dw files validate batch.jsonl
Validates that each line is valid JSON with the required fields (custom_id, method, url, body).
Stats
Show statistics for a JSONL file:
dw files stats batch.jsonl
Output includes line count, models used, and estimated token counts.
Prepare
Transform a JSONL file in place (or to a new file):
# Set the model on every line
dw files prepare batch.jsonl --model Qwen/Qwen3-VL-30B-A3B-Instruct-FP8
# Set model and temperature
dw files prepare batch.jsonl --model Qwen/Qwen3-VL-30B-A3B-Instruct-FP8 --temperature 0
# Write to a new file instead of modifying in place
dw files prepare batch.jsonl --model Qwen/Qwen3-VL-30B-A3B-Instruct-FP8 -o batch-30b.jsonl
# Prepare all files in a directory
dw files prepare output/ --model Qwen/Qwen3-VL-30B-A3B-Instruct-FP8
Setting Arbitrary Fields
Use --set for any field in the request body:
dw files prepare batch.jsonl --set body.stream=false --set body.top_p=0.9
Encoding Images
Convert local image paths and URLs to base64 data URIs:
dw files prepare batch.jsonl --encode-images
Adding and Removing Lines
# Append a new request line
dw files prepare batch.jsonl --add-line '{"custom_id":"extra","method":"POST","url":"/v1/chat/completions","body":{"messages":[{"role":"user","content":"test"}]}}'
# Remove lines matching a pattern
dw files prepare batch.jsonl --remove-lines "test-*"
Sample
Extract a random sample from a JSONL file:
dw files sample batch.jsonl -n 10 -o sample.jsonl
Uses reservoir sampling for bounded memory on large files.
Merge
Combine multiple JSONL files into one:
dw files merge file1.jsonl file2.jsonl file3.jsonl -o merged.jsonl
Split
Split a JSONL file into chunks:
dw files split large.jsonl --chunk-size 1000
Creates large_001.jsonl, large_002.jsonl, etc. in the same directory. Use -o for a different output directory:
dw files split large.jsonl --chunk-size 1000 -o chunks/
Diff
Compare two JSONL result files by custom_id:
dw files diff results-30b.jsonl results-235b.jsonl
Shows which custom_ids are present in one file but not the other, and a content hash comparison for matching IDs.