Spaces:
Running on Zero
Running on Zero
| from __future__ import annotations | |
| import json | |
| from collections import Counter | |
| from pathlib import Path | |
| ROOT = Path(__file__).resolve().parents[1] | |
| def read_jsonl(path: Path): | |
| return [json.loads(line) for line in path.read_text(encoding='utf-8').splitlines() if line] | |
| def test_discovery_dataset_is_balanced_and_paired() -> None: | |
| rows = read_jsonl(ROOT / 'data' / 'prompts.jsonl') | |
| assert len(rows) == 224 | |
| concept_counts = Counter(row['concept'] for row in rows) | |
| assert set(concept_counts.values()) == {32} | |
| assert 'german_language' in concept_counts | |
| assert 'french_language' not in concept_counts | |
| german = [row for row in rows if row['concept'] == 'german_language'] | |
| assert len(german) == 32 | |
| assert any('Tisch' in row['text'] or 'Deutsch' in row['text'] or 'Hamburg' in row['text'] for row in german) | |
| pair_counts = Counter(row['pair_id'] for row in rows) | |
| assert set(pair_counts.values()) == {2} | |
| def test_causal_dataset_covers_every_discovery_concept() -> None: | |
| discovery = read_jsonl(ROOT / 'data' / 'prompts.jsonl') | |
| causal = read_jsonl(ROOT / 'data' / 'causal_tasks.jsonl') | |
| assert len(causal) == 28 | |
| assert {row['concept'] for row in causal} == {row['concept'] for row in discovery} | |
| german = [row for row in causal if row['concept'] == 'german_language'] | |
| assert len(german) == 4 | |
| assert all(row['target'].strip() in {'hallo', 'danke', 'ja', 'guten Abend'} for row in german) | |