Transcription: dwindle model choice to Whisper Base + Whisper Large v3

Registry now lists exactly two models instead of five:
- 'Whisper Base' — names the actual bundled model (was 'Base (default)').
- 'Whisper Large v3' — kept; honest copy on size/speed/RAM.
tiny/small/medium removed from the registry (validate_model_name now
rejects them; existing rows keep their saved model — all current data
is 'base', still valid).
Detail screen shows the model that WILL run by real display name
('Whisper Base (default)') instead of 'Use default (base)'; the picker
lists the two models with the default marked inline.
Backend 78 passed/1 skipped; app 34/34; engine hot-reloaded clean.
This commit is contained in:
avi 2026-09-15 07:24:57 -05:00
commit 087e8386f5
4 changed files with 43 additions and 64 deletions

View file

@ -116,7 +116,7 @@ async def test_reprocess_reruns_in_place_with_model(client, monkeypatch):
calls_before = stt.calls
r = await client.post(
f"/api/v1/recordings/{rec['id']}/reprocess?job=transcribe&model=small",
f"/api/v1/recordings/{rec['id']}/reprocess?job=transcribe&model=large-v3",
headers=h,
)
assert r.status_code == 200, r.text
@ -127,7 +127,7 @@ async def test_reprocess_reruns_in_place_with_model(client, monkeypatch):
# Same recording id, model override persisted on the row.
r = await client.get(f"/api/v1/recordings/{rec['id']}", headers=h)
assert r.json()["id"] == rec["id"]
assert r.json()["transcription_model"] == "small"
assert r.json()["transcription_model"] == "large-v3"
finally:
await inline_queue.stop()