Skip to content

feat: support Whisper large-v3-turbo - #325

Merged
wulien merged 21 commits into
krillinai:developfrom
Mijaelx:feat/issue-283-large-v3-turbo
Sep 23, 2026
Merged

wulien merged 21 commits into
krillinai:developfrom
Mijaelx:feat/issue-283-large-v3-turbo

Conversation

@Mijaelx

@Mijaelx Mijaelx commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Closes #283

Summary

  • expose large-v3-turbo only for the supported Windows x64 Whisper.cpp runtime capability
  • pass the selected model name through Creator Service, KrillinAI config, and whisper.cpp without silently remapping it
  • reuse the existing dependency loader with the pinned official ggml artifact, SHA-256/size verification, staging, atomic promotion, and rollback that preserves an existing usable model
  • show local execution and estimated disk usage in the shared Web/Desktop settings UI
  • keep faster-whisper and WhisperKit catalogs unchanged because their current OpenCreator runtime packages/installers do not provide a verified controlled artifact for this model

Runtime support checked

  • Whisper.cpp: OpenCreator pins the v1.8.3 Windows x64 CLI; the official whisper.cpp model repository publishes ggml-large-v3-turbo.bin, which is pinned here by commit URL, size, and SHA-256
  • faster-whisper: not exposed by this change; OpenCreator currently has no controlled large-v3-turbo installer/model artifact for that backend
  • WhisperKit: not exposed by this change; the current managed WhisperKit package is fixed to large-v2

Validation

  • pnpm --filter @opencreator/daemon exec vitest run test/unit/creator-krillin-capabilities.test.ts test/unit/creator-krillin-dependency-loader.test.ts test/unit/creator-krillin-cli-protocol.test.ts test/integration/creator-krillin-cli-runner.test.ts --pool=forks --maxWorkers=1 --minWorkers=1 (25 passed, 3 platform-skipped)
  • pnpm --filter @opencreator/web exec vitest run src/features/settings/CreatorServicesSettingsView.test.tsx --pool=forks --maxWorkers=1 --minWorkers=1 (17 passed)
  • pnpm --filter @opencreator/daemon typecheck
  • pnpm --filter @opencreator/web typecheck
  • pnpm krillinai:test
  • pnpm templates:ci
  • git diff --check

Not run

  • a full real transcription with the 1.51 GiB model download
  • packaged Desktop E2E; this change does not modify Desktop packaging resources or maintain a separate Desktop UI

@Mijaelx

Mijaelx commented Sep 20, 2026

Copy link
Copy Markdown
Contributor Author

CI note: web-parity passes the Playwright parity and performance measurement steps but fails pnpm perf:check on the pre-existing SettingsPage asset budget (90,000 B / gzip 24,000 B). This PR measures 93,435 B / gzip 24,998 B. I built unchanged origin/develop@e716846 in a separate worktree with pnpm templates:ci and pnpm --filter @opencreator/web build; its SettingsPage already measures about 92,930 B / gzip 24,810 B, over both thresholds. This PR adds about 505 B / gzip 188 B. I have not changed unrelated page code or relaxed the global budget as part of Issue #283. compile and unit pass.

@Mijaelx

Mijaelx commented Sep 21, 2026

Copy link
Copy Markdown
Contributor Author

Real Windows x64 smoke test completed locally on the PR branch:

  • downloaded whisper.cpp v1.9.2 archive and verified SHA-256 49dcc16d...d674a
  • downloaded ggml-large-v3-turbo.bin (1,624,555,275 bytes) and verified SHA-256 1fc70f...2bc69
  • ran the PR dependency loader with the real archive/model; it installed the executable and model marker successfully
  • ran the installed whisper-cli.exe against an 8-second repository fixture; model loaded as 1,623.92 MB (ftype=1, qntvr=0, no GPU available) and completed transcription, producing *Gunshot*
  • temporary downloads and test files were removed; PR worktree is clean

Leggett and others added 6 commits September 21, 2026 10:21
Load AI service settings only when selected, retaining navigation and direct section entry. Add a separate budget for the lazy chunk without relaxing existing limits.

Validated with the web production build, 37 focused settings tests, template validation and compilation, and the local performance asset check.

@wulien wulien left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Windows x64 Whisper.cpp model is exposed through the capability catalog, installed with pinned integrity checks, and passed through to KrillinAI without remapping. Targeted daemon and settings tests, both package typechecks, Go config tests, and the current-head CI checks pass. Approved for integration into develop. The packaged Desktop E2E and an independent Windows transcription smoke test were not run in this review.

@wulien
wulien merged commit 3fba291 into krillinai:develop Sep 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants