feat: add optional Laya engine mode for grouping and language detection (#12)

Add a languageDetectionMode setting (algo | laya | laya+algo) exposed
in Settings with three engine choices. When Laya is enabled, a laya
service (Dockerfile.laya, optional compose profile, models stored
outside the repo under ./data/models/laya) can be started, with model
download and deletion from the UI via /laya routes to manage disk
space. Add a channelLanguageFusion service combining Laya results
with the existing algorithm, and wire detection mode through
grouping, channel list and player. Cover engine selection, fusion
and laya service behavior with tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
blomios
2026-10-02 11:13:34 +02:00
parent 9e80655fd9
commit ce11ecc757
19 changed files with 780 additions and 13 deletions

View File

@ -13,5 +13,20 @@ services:
environment:
- NODE_ENV=production
- PORT=3000 # Internal container port
- LAYA_BASE_URL=http://laya:8000
devices:
- /dev/dri:/dev/dri # Required for VAAPI/QuickSync/AMF (Linux)
laya:
profiles: ["laya"]
build:
context: .
dockerfile: Dockerfile.laya
volumes:
- ./data/models/laya:/models
environment:
- HF_HOME=/models
- LAYA_PRELOAD=0
- LAYA_HOST=0.0.0.0
- LAYA_PORT=8000
restart: unless-stopped