Download source/tests/test_standalone_runtime.py from FluidInference/kev-0.6b-coreml: direct link, hf CLI and curl.
- Browser
- Download file 2.69 kB
-
https://huggingface.co/FluidInference/kev-0.6b-coreml/resolve/main/source/tests/test_standalone_runtime.py
- Command line
-
hf download hf://FluidInference/kev-0.6b-coreml/source/tests/test_standalone_runtime.py
-
curl -L -o test_standalone_runtime.py https://huggingface.co/FluidInference/kev-0.6b-coreml/resolve/main/source/tests/test_standalone_runtime.py
2.69 kB
| """Exercise the published, weight-free Kev request path with the pinned tokenizer.""" | |
| from __future__ import annotations | |
| import copy | |
| import json | |
| import numpy as np | |
| import pytest | |
| from huggingface_hub import snapshot_download | |
| from kev.api import SystemOneRequest, to_record | |
| from kev.model import encode | |
| from transformers import AutoTokenizer | |
| from assets import LOCK_PATH | |
| from preprocessing import Shape, prepare_runtime_inputs | |
| from verify import fixtures | |
| def tokenizer(): | |
| lock = json.loads(LOCK_PATH.read_text()) | |
| source = snapshot_download( | |
| lock["checkpoint"]["repo"], | |
| revision=lock["checkpoint"]["revision"], | |
| allow_patterns=["tokenizer.json", "tokenizer_config.json", "special_tokens_map.json", "added_tokens.json"], | |
| ) | |
| return AutoTokenizer.from_pretrained(source, local_files_only=True) | |
| def unlabelled(request: dict) -> dict: | |
| request = copy.deepcopy(request) | |
| for question in request["questions"].values(): | |
| question.pop("label", None) | |
| question.pop("src", None) | |
| return request | |
| def test_unlabelled_runtime_uses_upstream_serving_encoding(tokenizer, sample): | |
| sample = unlabelled(sample) | |
| arrays, encoded, metadata, parsed = prepare_runtime_inputs(tokenizer, sample, Shape()) | |
| record, expected_metadata = to_record(SystemOneRequest.model_validate(sample)) | |
| direct = encode(tokenizer, record, max_state=8192, max_branch=16384, option_isolation=False) | |
| assert encoded["ids"] == direct["ids"] | |
| assert metadata == expected_metadata | |
| assert parsed.questions | |
| assert arrays["input_ids"].shape == (1, 128) | |
| assert arrays["option_map"].shape == (1, 32, 128) | |
| np.testing.assert_array_equal(arrays["input_ids"][0, : len(encoded["ids"])], encoded["ids"]) | |
| assert arrays["decide_map"][0, 0, encoded["decide_idx"][0]] == 1 | |
| for option, position in enumerate(encoded["opt_idx"][0]): | |
| assert arrays["option_map"][0, option, position] == 1 | |
| def test_runtime_rejects_multiple_questions(tokenizer): | |
| request = unlabelled(fixtures()[0]) | |
| request["questions"]["second"] = copy.deepcopy(request["questions"]["q"]) | |
| with pytest.raises(ValueError, match="exactly one question"): | |
| prepare_runtime_inputs(tokenizer, request, Shape()) | |
| def test_runtime_rejects_overlong_question_branch(tokenizer): | |
| request = unlabelled(fixtures()[0]) | |
| request["questions"]["q"]["instructions"] = "Which placement? " * 200 | |
| with pytest.raises(ValueError, match="branch"): | |
| prepare_runtime_inputs(tokenizer, request, Shape()) | |