File size: 3,237 Bytes
a504140
 
d640642
 
 
a504140
 
d640642
a504140
 
d640642
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
---
title: Oolong Viewer
emoji: 🍡
colorFrom: yellow
colorTo: gray
sdk: static
pinned: false
license: mit
---

# Oolong Viewer

Static viewer for [**Oolong**](https://github.com/abertsch72/oolong)
([paper](https://arxiv.org/abs/2511.02817),
[HF datasets](https://huggingface.co/oolongbench)) β€” a benchmark for **long-context
reasoning and aggregation**, where a model must reason over a single very long
context window (up to ~132K tokens) to answer counting / timeline / comparison
style questions.

Two datasets, selectable at the top of the sidebar:

- **`synth`** β€” [oolong-synth](https://huggingface.co/datasets/oolongbench/oolong-synth):
  synthetic contexts built from labeled NLP datasets (agnews, imdb, metaphors, …).
  6,500 questions over 208 context windows.
- **`real`** β€” [oolong-real](https://huggingface.co/datasets/oolongbench/oolong-real)
  `toy_dnd` config: Critical Role Dungeons & Dragons transcripts (campaign1 = test,
  campaign2 = validation). 949 questions over 22 context windows.

Two tabs:

- **πŸ“š Corpus** β€” the context windows (the long documents). A dropdown selects a
  context **by title** (filter by title text, or prev/next). Each shows its
  metadata (source dataset / campaign / episodes, token length, how many
  questions use it, `context_window_id`) and its full text. Context windows are
  reused across many questions, so the corpus is far smaller than the question set.
- **❓ Eval** β€” the questions. A dropdown selects a **question** (search + one
  dropdown per dataset facet β€” task group / answer type / source, or question
  type / split / campaign). Each shows the question, the gold answer, its
  **supporting context window** (a clickable chip that jumps to it in the Corpus
  tab), and all remaining metadata.

## Long contexts are capped

Oolong is a long-context benchmark: some context windows are up to ~14 MB of
text. To keep the viewer responsive and every file under Hugging Face's 10 MB
non-LFS limit, each context-window shard is **capped at 2 MB** (with a
`truncated in viewer` note); the full contexts live on the HF datasets. The
`context_window_text_with_labels` variant (synth) is not included.

## Data layout

| File | Contents |
|---|---|
| `sets.json` | manifest: per-set question/context counts + filter `facets` |
| `corpus_<set>.json` | context-window **index**: `{cwid, title, size, truncated, n_questions, file, …}` |
| `corpus_<set>/*.txt` | one (capped) context-window **shard**, lazy-loaded |
| `eval_<set>.json` | questions: `{id, context_window_id, question, answer, meta{…}}` |

## Rebuilding the data

```bash
python scripts/build_data.py --data-dir /mnt/tmp/oolong
```

Reads the downloaded `oolong-synth/` (parquet) + `oolong-real/toy_dnd/` (jsonl),
dedupes context windows into shards, projects the questions, and rewrites
`corpus_<set>.json` + `corpus_<set>/` + `eval_<set>.json` + `sets.json`. The raw
datasets (12 GB / 1.4 GB) are **not** committed here. Use `--only synth|real` to
rebuild a single set.

## Local dev

```bash
python -m http.server 8000   # then open http://localhost:8000/
```

Serves statically β€” no build step. Push to the HF Space remote to deploy.

Dataset license: see the Oolong repo / dataset cards.