LocalAI/.github/workflows
Dream 10a1e6c74d
feat(whisperx): add whisperx backend for transcription with speaker diarization (#8299)
* feat(proto): add speaker field to TranscriptSegment for diarization

Add speaker field to the gRPC TranscriptSegment message and map it
through the Go schema, enabling backends to return speaker labels.

Signed-off-by: eureka928 <meobius123@gmail.com>

* feat(whisperx): add whisperx backend for transcription with diarization

Add Python gRPC backend using WhisperX for speech-to-text with
word-level timestamps, forced alignment, and speaker diarization
via pyannote-audio when HF_TOKEN is provided.

Signed-off-by: eureka928 <meobius123@gmail.com>

* feat(whisperx): register whisperx backend in Makefile

Signed-off-by: eureka928 <meobius123@gmail.com>

* feat(whisperx): add whisperx meta and image entries to index.yaml

Signed-off-by: eureka928 <meobius123@gmail.com>

* ci(whisperx): add build matrix entries for CPU, CUDA 12/13, and ROCm

Signed-off-by: eureka928 <meobius123@gmail.com>

* fix(whisperx): unpin torch versions and use CPU index for cpu requirements

Address review feedback:
- Use --extra-index-url for CPU torch wheels to reduce size
- Remove torch version pins, let uv resolve compatible versions

Signed-off-by: eureka928 <meobius123@gmail.com>

* fix(whisperx): pin torch ROCm variant to fix CI build failure

Signed-off-by: eureka928 <meobius123@gmail.com>

* fix(whisperx): pin torch CPU variant to fix uv resolution failure

Pin torch==2.8.0+cpu so uv resolves the CPU wheel from the extra
index instead of picking torch==2.8.0+cu128 from PyPI, which pulls
unresolvable CUDA dependencies.

Signed-off-by: eureka928 <meobius123@gmail.com>

* fix(whisperx): use unsafe-best-match index strategy to fix uv resolution failure

uv's default first-match strategy finds torch on PyPI before checking
the extra index, causing it to pick torch==2.8.0+cu128 instead of the
CPU variant. This makes whisperx's transitive torch dependency
unresolvable. Using unsafe-best-match lets uv consider all indexes.

Signed-off-by: eureka928 <meobius123@gmail.com>

* fix(whisperx): drop +cpu local version suffix to fix uv resolution failure

PEP 440 ==2.8.0 matches 2.8.0+cpu from the extra index, avoiding the
issue where uv cannot locate an explicit +cpu local version specifier.
This aligns with the pattern used by all other CPU backends.

Signed-off-by: eureka928 <meobius123@gmail.com>

* fix(backends): drop +rocm local version suffixes from hipblas requirements to fix uv resolution

uv cannot resolve PEP 440 local version specifiers (e.g. +rocm6.4,
+rocm6.3) in pinned requirements. The --extra-index-url already points
to the correct ROCm wheel index and --index-strategy unsafe-best-match
(set in libbackend.sh) ensures the ROCm variant is preferred.

Applies the same fix as 7f5d72e8 (which resolved this for +cpu) across
all 14 hipblas requirements files.

Signed-off-by: eureka928 <meobius123@gmail.com>

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: eureka928 <meobius123@gmail.com>

* revert: scope hipblas suffix fix to whisperx only

Reverts changes to non-whisperx hipblas requirements files per
maintainer review — other backends are building fine with the +rocm
local version suffix.

Signed-off-by: eureka928 <meobius123@gmail.com>

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: eureka928 <meobius123@gmail.com>

---------

Signed-off-by: eureka928 <meobius123@gmail.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 16:33:12 +01:00
..
disabled ci: disable comment-pr until it's fixed 2024-07-19 19:00:36 +02:00
backend.yml feat(whisperx): add whisperx backend for transcription with speaker diarization (#8299) 2026-02-02 16:33:12 +01:00
backend_build.yml fix: use ubuntu 24.04 for cuda13 l4t images (#7418) 2025-12-03 09:47:03 +01:00
backend_build_darwin.yml chore(deps): bump actions/download-artifact from 6 to 7 (#7587) 2025-12-16 00:14:02 +01:00
backend_pr.yml Change runner from macOS-14 to macos-latest 2025-12-13 10:11:27 +01:00
build-test.yaml chore(deps): bump actions/upload-artifact from 5 to 6 (#7585) 2025-12-15 19:33:48 +00:00
bump_deps.yaml chore(deps): bump peter-evans/create-pull-request from 7 to 8 (#7586) 2025-12-16 00:13:42 +01:00
bump_docs.yaml chore(deps): bump peter-evans/create-pull-request from 7 to 8 (#7586) 2025-12-16 00:13:42 +01:00
checksum_checker.yaml chore(deps): bump peter-evans/create-pull-request from 7 to 8 (#7586) 2025-12-16 00:13:42 +01:00
dependabot_auto.yml chore(deps): bump dependabot/fetch-metadata from 2.4.0 to 2.5.0 (#7876) 2026-01-05 20:10:07 +00:00
deploy-explorer.yaml chore(deps): bump appleboy/ssh-action from 1.2.3 to 1.2.4 (#7410) 2025-12-02 08:00:16 +01:00
gallery-agent.yaml fix(gallery agent): change model 2025-12-30 22:34:25 +00:00
generate_grpc_cache.yaml chore: Update to Ubuntu24.04 (cont #7423) (#7769) 2026-01-06 15:26:42 +01:00
generate_intel_image.yaml chore: Update to Ubuntu24.04 (cont #7423) (#7769) 2026-01-06 15:26:42 +01:00
image-pr.yml chore(cuda): target 12.8 for 12 to increase compatibility (#8297) 2026-01-30 12:58:44 +01:00
image.yml chore(cuda): target 12.8 for 12 to increase compatibility (#8297) 2026-01-30 12:58:44 +01:00
image_build.yml chore: Update to Ubuntu24.04 (cont #7423) (#7769) 2026-01-06 15:26:42 +01:00
labeler.yml chore(deps): bump actions/labeler from 5 to 6 (#6229) 2025-09-09 08:57:13 +02:00
localaibot_automerge.yml chore(deps): bump actions/checkout from 5 to 6 (#7339) 2025-11-24 21:18:15 +01:00
notify-models.yaml chore(deps): bump actions/checkout from 5 to 6 (#7339) 2025-11-24 21:18:15 +01:00
notify-releases.yaml Revert "Reapply "chore(ci): change notifications settings"" 2025-10-17 09:15:12 +02:00
prlint.yaml ci: drop description linting 2024-07-12 18:23:13 +02:00
release.yaml chore(deps): bump actions/checkout from 5 to 6 (#7339) 2025-11-24 21:18:15 +01:00
secscan.yaml Revert "chore(deps): bump securego/gosec from 2.22.9 to 2.22.11" (#7789) 2025-12-30 09:58:13 +01:00
stalebot.yml chore(deps): bump actions/stale from 10.1.0 to 10.1.1 (#7473) 2025-12-08 21:15:37 +01:00
test-extra.yml feat(qwen-asr): add support to qwen-asr (#8281) 2026-01-29 21:50:35 +01:00
test.yml fix(ci): remove specific version for grpcio packages (#7627) 2025-12-17 19:18:07 +01:00
tests-e2e.yml chore: re-enable e2e tests, fixups anthropic API tools support (#8296) 2026-01-30 12:41:50 +01:00
update_swagger.yaml chore(deps): bump peter-evans/create-pull-request from 7 to 8 (#7586) 2025-12-16 00:13:42 +01:00
yaml-check.yml chore(backend gallery): add description for remaining backends (#5679) 2025-06-17 22:21:44 +02:00