suvradeepp's picture
Publish Tiny Hinglish Turn Detector development preview
35d483e verified
Raw
History Blame Contribute Delete
2.79 kB
from __future__ import annotations
import tempfile
import unittest
from pathlib import Path
from types import SimpleNamespace
from unittest.mock import patch
import numpy as np
import app
from turn_detection.runtime import Prediction
class _DevelopmentPredictor:
metadata = SimpleNamespace(
development_only=True,
training_status="preview-only",
data_scope="one audited shard",
threshold=0.73,
)
def predict(self, audio: object, sample_rate: int) -> Prediction:
del audio, sample_rate
return Prediction(
endpoint_probability=0.8,
inference_ms=1.25,
model_name="partial-preview",
)
class DemoEvidenceStatusTest(unittest.TestCase):
def test_default_model_supports_space_and_model_repository_layouts(self) -> None:
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
space_model = root / "artifacts" / "model.onnx"
repository_model = root / "model.onnx"
repository_model.write_bytes(b"onnx")
with patch.object(
app,
"DEFAULT_MODEL_CANDIDATES",
(space_model, repository_model),
):
self.assertEqual(app._default_model_path(), repository_model)
space_model.parent.mkdir(parents=True)
space_model.write_bytes(b"onnx")
with patch.object(
app,
"DEFAULT_MODEL_CANDIDATES",
(space_model, repository_model),
):
self.assertEqual(app._default_model_path(), space_model)
space_model.unlink()
repository_model.unlink()
with patch.object(
app,
"DEFAULT_MODEL_CANDIDATES",
(space_model, repository_model),
):
self.assertEqual(app._default_model_path(), space_model)
def test_development_model_is_conspicuously_labelled(self) -> None:
with patch.object(app, "get_predictor", return_value=_DevelopmentPredictor()):
status, labels, diagnostics, timeline = app.analyze_turn(
(16_000, np.zeros(1_600, dtype=np.float32)),
threshold=0.73,
silence_ms=300,
max_silence_ms=1_800,
)
self.assertIn("Development model", status)
self.assertIn("one audited shard", status)
self.assertTrue(diagnostics["development_only"])
self.assertTrue(diagnostics["emit_response"])
self.assertEqual(diagnostics["training_status"], "preview-only")
self.assertEqual(labels["END"], 0.8)
self.assertIn("threshold 0.73", timeline)
if __name__ == "__main__":
unittest.main()