LocalAI/.github
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
..
ci fix: roll out bluemonday Sanitize more widely (#3794) 2024-10-12 09:45:47 +02:00
gallery-agent fix(gallery agent): fixups 2025-12-30 22:18:02 +00:00
ISSUE_TEMPLATE docs/examples: enhancements (#1572) 2024-01-18 19:41:08 +01:00
workflows feat(whisperx): add whisperx backend for transcription with speaker diarization (#8299) 2026-02-02 16:33:12 +01:00
bump_deps.sh feat: do not bundle llama-cpp anymore (#5790) 2025-07-18 13:24:12 +02:00
bump_docs.sh fix: github bump_docs.sh regex to drop emoji and other text (#2180) 2024-04-29 03:55:29 +00:00
check_and_update.py fix(ci): fixup checksum scanning pipeline (#3631) 2024-09-23 10:56:10 +02:00
checksum_checker.sh fix(ci): fixup correct path for check_and_update.py (#2777) 2024-07-11 23:05:43 +02:00
dependabot.yml feat: Add backend gallery (#5607) 2025-06-15 14:56:52 +02:00
FUNDING.yml Create FUNDING.yml (#725) 2023-07-09 13:39:00 +02:00
labeler.yml chore(ci): update labels 2025-02-13 09:58:19 +01:00
PULL_REQUEST_TEMPLATE.md feat(vllm): Allow to set quantization (#1094) 2023-09-22 15:52:38 +02:00
release.yml feat(p2p): Federation and AI swarms (#2723) 2024-07-08 22:04:06 +02:00
stale.yml feat: add PR template and stale configuration (#316) 2023-05-20 09:10:20 +02:00