harness-1 / README.md
pat-jj's picture
Update model card with corpus release
363a19f verified
|
Raw History Blame Contribute Delete
2.46 kB
---
library_name: transformers
base_model: openai/gpt-oss-20b
tags:
- text-generation
- search
- retrieval
- harness-1
---
# Harness-1
A 20B search agent that matches frontier AI's search capability.
## News
- **2026-06-15:** Released Harness-1 training data and retrieval corpora at [pat-jj/harness-1-train-data](https://huggingface.co/datasets/pat-jj/harness-1-train-data): 899 SFT trajectories, 3,453 RL SEC train-split examples, and corpus shards for BrowseComp+, web, patents, and SEC.
- **2026-06-15:** Released the full merged Harness-1 checkpoint as standard Hugging Face `safetensors` shards.
![Harness-1 average search performance](https://raw.githubusercontent.com/pat-jj/harness-1/main/assets/teaser_recall_barchart.png)
Code: https://github.com/pat-jj/harness-1
Paper: https://arxiv.org/abs/2606.02373
Training data and corpora: https://huggingface.co/datasets/pat-jj/harness-1-train-data
Tinker inference example: https://github.com/pat-jj/harness-1/blob/main/inference/tinker_inference.md
vLLM inference example: https://github.com/pat-jj/harness-1/blob/main/inference/vllm_h100_browsecompplus.md
This repository contains the full merged Harness-1 release checkpoint. The model
is merged into the `openai/gpt-oss-20b` base model and saved as standard Hugging
Face `safetensors` shards.
## Training Data And Corpora
The Harness-1 training data and retrieval corpora are published separately as
[pat-jj/harness-1-train-data](https://huggingface.co/datasets/pat-jj/harness-1-train-data).
It contains one `train` split with a `stage` column:
- `sft`: 899 raw GPT-5.4-generated v8d SFT trajectories produced by `generate_sft_ultra_0417.py`.
- `rl`: 3,453 SEC training-split query records used for RL (`TRAIN_DATASETS=sec`, `RL_QUERY_SPLIT=train`).
The same dataset repo also includes retrieval corpora under `corpora/`:
- `corpora/browsecompplus/test`: 1,144,886 chunks.
- `corpora/web/train`: 219,388 chunks.
- `corpora/web/test`: 54,735 chunks.
- `corpora/patents/train`: 104,842 chunks.
- `corpora/patents/test`: 35,551 chunks.
- `corpora/sec/train`: 2,115,106 chunks.
```python
from datasets import load_dataset
ds = load_dataset("pat-jj/harness-1-train-data", split="train")
sft = ds.filter(lambda row: row["stage"] == "sft")
rl = ds.filter(lambda row: row["stage"] == "rl")
sec_corpus = load_dataset(
"parquet",
data_files="hf://datasets/pat-jj/harness-1-train-data/corpora/sec/train/*.parquet",
split="train",
)
```