| from korbyte.benchmark import _flatten_strings | |
| from korbyte.report import _aggregate | |
| def test_aggregate_uses_weighted_counts() -> None: | |
| metrics = { | |
| "one": { | |
| "tokens": 10, | |
| "characters": 30, | |
| "utf8_bytes": 50, | |
| "whitespace_units": 5, | |
| "elapsed_s_median": 1.0, | |
| }, | |
| "two": { | |
| "tokens": 20, | |
| "characters": 60, | |
| "utf8_bytes": 100, | |
| "whitespace_units": 10, | |
| "elapsed_s_median": 2.0, | |
| }, | |
| } | |
| aggregate = _aggregate(metrics) | |
| assert aggregate["tokens"] == 30 | |
| assert aggregate["characters_per_token"] == 3.0 | |
| assert aggregate["bytes_per_token"] == 5.0 | |
| assert aggregate["fertility"] == 2.0 | |
| def test_dialogue_extraction_uses_turn_text_only() -> None: | |
| dialogue = [ | |
| {"role": "user", "text": "μλ νμΈμ.", "state": ["μν"]}, | |
| {"role": "sys", "text": "무μμ λμλ릴κΉμ?", "state": []}, | |
| ] | |
| assert list(_flatten_strings(dialogue)) == ["μλ νμΈμ.", "무μμ λμλ릴κΉμ?"] | |