Commit Graph
5656 Commits
Author SHA1 Message Date
LauraGPT b8bd680578 test(release): track current llama.cpp runtime
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 16:48:59 +00:00
zhifu gao 925e6cbd28 Merge pull request #3559 from modelscope/codex/site-moss-automodel-20260830
docs(moss): expose AutoModel deployment contract
2026-08-30 00:15:59 +08:00
LauraGPT db2639d47c docs(moss): expose AutoModel deployment contract
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 16:10:20 +00:00
zhifu gao a3a2de0aed Merge pull request #3558 from modelscope/codex/moss-runtime-integration
feat(moss): add AutoModel runtime adapter
2026-08-29 23:59:48 +08:00
LauraGPT 754ddc2bac ci(moss): pin formatter version
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 15:58:04 +00:00
LauraGPT 9115b95882 ci(moss): validate adapter contracts
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 15:56:13 +00:00
LauraGPT 9fc7b30cab feat(moss): add AutoModel runtime adapter
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 15:53:24 +00:00
zhifu gao 7e3e249534 Merge pull request #3557 from modelscope/codex/site-runtime-v025-20260829
docs(runtime): publish verified v0.2.5 download matrix
2026-08-29 23:15:00 +08:00
LauraGPT 36f03086af docs(runtime): publish verified v0.2.5 download matrix
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 15:02:09 +00:00
zhifu gao 9f0d4834e5 Merge pull request #3556 from LauraGPT/codex/moss-transcribe-diarize-ecosystem
docs(ecosystem): add MOSS diarization deployment path
2026-08-29 22:22:47 +08:00
LauraGPT 73410e6866 docs(ecosystem): add MOSS diarization deployment path
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 14:10:07 +00:00
zhifu gao f371370d4c Merge pull request #3555 from modelscope/codex/fix-vulkan-weight-buffer-3479
fix(runtime): upload SenseVoice weights to selected backend
runtime-llamacpp-v0.2.5
2026-08-29 22:05:42 +08:00
LauraGPT 949ccf46f3 fix(runtime): upload SenseVoice weights to backend buffer
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 13:26:37 +00:00
zhifu gao fcf9a0d4a6 Merge pull request #3552 from modelscope/codex/runtime-v024-site
docs(site): publish llama.cpp v0.2.4 evidence
2026-08-29 15:53:14 +08:00
LauraGPT be79f1e074 docs(site): publish llama.cpp v0.2.4 evidence
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 07:49:00 +00:00
zhifu gao c8d43b10de Merge pull request #3551 from modelscope/codex/runtime-v024-prepare
docs(runtime): prepare llama.cpp v0.2.4 release
runtime-llamacpp-v0.2.4
2026-08-29 11:26:38 +08:00
LauraGPT d15175f361 docs(runtime): prepare llama.cpp v0.2.4 release
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 03:25:09 +00:00
zhifu gao f04b761f51 Merge pull request #3550 from modelscope/codex/fix-sensevoice-empty-output
fix(runtime): decode SenseVoice F16 query embeddings
2026-08-29 11:18:25 +08:00
LauraGPT 178a36718c fix(runtime): decode SenseVoice F16 query embeddings
Signed-off-by: LauraGPT <[email protected]>
2026-08-29 02:40:29 +00:00
zhifu gao 159f67b154 chore(release): prepare 1.4.6 (#3549)
Publish the realtime keepalive, empty timestamp segment, and readable subtitle fixes with the verified llama.cpp v0.2.3 nine-platform runtime matrix.

Signed-off-by: LauraGPT <[email protected]>
v1.4.6
2026-08-29 09:23:49 +08:00
zhifu gao baea5672cc Merge pull request #3548 from modelscope/codex/runtime-v023-site
docs(site): publish llama.cpp runtime v0.2.3 matrix
2026-08-29 02:42:15 +08:00
LauraGPT 872543e49b docs(site): publish llama.cpp runtime v0.2.3 matrix
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 18:38:00 +00:00
zhifu gao 820f1c64a3 Merge pull request #3547 from LauraGPT/codex/runtime-v023-docs
docs(runtime): publish v0.2.3 diagnostics
runtime-llamacpp-v0.2.3
2026-08-29 01:59:36 +08:00
LauraGPT cabecbf133 test(runtime): track v0.2.3 release contract
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 17:58:13 +00:00
LauraGPT 6ded40886c docs(runtime): publish v0.2.3 diagnostics
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 17:55:23 +00:00
zhifu gao 0786ccce16 Merge pull request #3546 from LauraGPT/codex/runtime-amd-boundaries-3479
fix(runtime): trace SenseVoice backend stages
2026-08-29 01:52:08 +08:00
LauraGPT 7429dbd787 fix(runtime): trace SenseVoice backend stages
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 17:14:09 +00:00
zhifu gao 588cabd79c Merge pull request #3545 from modelscope/codex/site-runtime-v022-product-20260829
Update product site for llama.cpp v0.2.2
2026-08-29 00:17:08 +08:00
LauraGPT 3575c03b11 Update product site for llama.cpp v0.2.2
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 16:08:52 +00:00
zhifu gao 05be4863fc Merge pull request #3543 from LauraGPT/codex/amd-vulkan-init-3479
fix(vulkan): guard backend initialization failures
runtime-llamacpp-v0.2.2
2026-08-28 22:51:15 +08:00
LauraGPT 0395c59eb7 fix(vulkan): guard backend initialization failures
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 14:49:31 +00:00
zhifu gao 45cb6743fc Merge pull request #3533 from LauraGPT/codex/realtime-ws-keepalive-3528
fix(realtime): avoid false keepalive timeouts under load
2026-08-28 22:34:50 +08:00
LauraGPT 606837e23d docs(realtime): clarify websocket receive buffering
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 14:27:56 +00:00
LauraGPT 88a553e709 fix(realtime): avoid false keepalive timeouts under load
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 14:26:58 +00:00
zhifu gao f48b7f9e8c Merge pull request #3542 from modelscope/codex/readable-subtitles-3539
feat(cli): group readable subtitle cues
2026-08-28 22:20:08 +08:00
LauraGPT d5e0eeefd1 feat(cli): group readable subtitle cues
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 14:17:41 +00:00
zhifu gao c5ac6495f7 Merge pull request #3540 from AmirF194/fix/timestamp-sentence-en-empty-segment-indexerror
fix: guard against IndexError on an empty segment in timestamp_sentence_en
2026-08-28 21:42:47 +08:00
LauraGPTandAmir Fathi 0a90cb5ca1 fix: guard empty English timestamp segments
Avoid indexing empty sentence buffers when punctuation and timestamp entries outnumber split words, and add regression coverage for whitespace-only input.

Co-authored-by: Amir Fathi <[email protected]>
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 13:41:27 +00:00
zhifu gao 67d6d88084 test(site): sync GPT-SoVITS public fixture (#3538)
Synchronize the bilingual current-public fixtures, evidence assertion, and valid English fixture with the GPT-SoVITS #2824 contract. Source commit was signed and carried a DCO trailer; focused and related contract tests passed.
2026-08-28 11:27:32 +08:00
zhifu gao 3f0ed67e91 docs(site): publish GPT-SoVITS Fun-ASR runtime contract (#3537)
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 08:54:05 +08:00
zhifu gaoandLauraGPT 803ae33eeb docs(site): publish FunASR 1.4.5 deployment release (#3535)
Signed-off-by: LauraGPT <[email protected]>
Co-authored-by: LauraGPT <[email protected]>
2026-08-28 01:46:02 +08:00
zhifu gao 4df59cc153 chore(release): prepare 1.4.5 (#3534)
Publish the optional-torchaudio inference path, pin the verified nine-platform llama.cpp runtime matrix, and document the protected exact-main publication gate.

Signed-off-by: LauraGPT <[email protected]>
v1.4.5
2026-08-28 00:59:31 +08:00
zhifu gaoandLauraGPT b454f9b7d6 docs: publish llama.cpp runtime v0.2.1 downloads (#3532)
Signed-off-by: LauraGPT <[email protected]>
Co-authored-by: LauraGPT <[email protected]>
2026-08-27 17:32:44 +08:00
zhifu gao c69e69a0b7 fix(runtime): allow integrated GPU backends (#3531)
Prefer matching discrete GPU devices while retaining a matching integrated GPU as fallback. Tested with the pinned llama.cpp revision in CPU and Vulkan builds; this addresses the iGPU selector bug without claiming to fix the separate RX 9070 XT backend crash.
runtime-llamacpp-v0.2.1
2026-08-27 00:55:09 +08:00
li-lizhe ae5c4ccdec Remove hard torchaudio dependency for inference; add kaldi-native-fbank fbank backend (#3526)
* Remove hard torchaudio dependency for inference; add kaldi-native-fbank fbank backend

Make torchaudio an optional dependency for the inference path so FunASR
can run on Ascend NPU (aarch64) servers, where no matching torchaudio
wheel exists (Huawei's Ascend torch is version-decoupled from the PyTorch
upstream release line).

- Add funasr/utils/fbank.py: an fbank shim that delegates to
  torchaudio.compliance.kaldi when torchaudio is installed, otherwise
  falls back to kaldi-native-fbank (a torch-free C++ library with aarch64
  wheels). Options and frame-shift API are mapped to torchaudio semantics
  so outputs are equivalent.
- Switch funasr/frontends/wav_frontend.py, funasr/utils/speaker_utils.py
  and funasr/models/campplus/utils.py to the shim.
- Make the torchaudio import optional in funasr/utils/load_utils.py
  (resampler falls back to librosa).

No device-specific branching is introduced — a pure backend fallback that
also benefits CPU-only and other accelerator platforms.

Verified end-to-end on Ascend 910B (npu:0) with torchaudio absent:
paraformer-large loads and infers correctly, RTF ~0.016 (~60x realtime).

* Make torchaudio import optional in paraformer_v2, fun_asr_nano and dataset preprocessors

Follow-up to the inference-path change: make the remaining top-level
torchaudio imports optional so these modules import cleanly when
torchaudio is not installed (e.g. on Ascend NPU servers).

- funasr/models/paraformer_v2_community/model.py
- funasr/models/fun_asr_nano/tools/utils.py
- funasr/datasets/audio_datasets/preprocessor.py
- funasr/datasets/llm_datasets/preprocessor.py

Functions that still require torchaudio (forced_align, Resample) degrade
to a clear error only when called, rather than a hard import failure.

* Address review: declare knf extra, harden fbank fallback and torchaudio guards

Respond to maintainer review feedback.

- Declare kaldi-native-fbank as an optional 'knf' extra in setup.py; the
  fbank module now raises an actionable ImportError only when fbank() is
  actually called with neither torchaudio nor kaldi-native-fbank installed
  (previously it failed at import time with a bare ModuleNotFoundError).
- Harden the fbank fallback contract: handle the channel argument explicitly
  and reject torchaudio-only options (subtract_mean, min_duration, VTLN
  warping, non-default blackman_coeff) with NotImplementedError instead of
  silently dropping them via **kwargs.
- Add a shared guard funasr/utils/torchaudio_compat.py and use it for
  resampling, forced alignment and speed perturbation so a missing torchaudio
  fails loudly instead of returning a silently wrong result (empty alignment).
- Add regression tests (tests/test_torchaudio_optional.py) that import the
  affected modules with torchaudio absent.
2026-08-27 00:23:11 +08:00
zhifu gao b2915020b2 chore(release): prepare 1.4.4 (#3530)
Prepare the FunASR 1.4.4 hotfix release with realtime WebSocket concurrency batching, PyTorch AMP compatibility, and correct runtime-binding exceptions.

Signed-off-by: LauraGPT <[email protected]>
v1.4.4
2026-08-26 23:36:15 +08:00
zhifu gao 55daa5a193 fix(realtime): batch concurrent websocket decoding (#3529)
Fix the realtime WebSocket concurrency regression by removing the process-wide session lock and batching compatible vLLM decode requests. Isolate per-session VAD runtime state while sharing encoder weights, keep batch failures contained, and document reproducible concurrency benchmarks.

Fixes #3528

Signed-off-by: LauraGPT <[email protected]>
2026-08-26 23:30:20 +08:00
谢翊凡 9413d7d768 fix: use torch.amp via compatibility shim (#3518)
Use the non-deprecated torch.amp APIs when available while preserving the torch.cuda.amp fallback and legacy autocast argument semantics on older PyTorch releases.
2026-08-26 20:10:53 +08:00
zhifu gao 8c60d27837 Raise real exceptions instead of strings in the runtime Python bindings (#3524)
Replace invalid string raises with real chained exceptions so runtime users keep the underlying import or download failure.

Local verification covered all seven changed files with `py_compile`, `git diff --check`, and an AST audit of all 30 changed exception paths.

Signed-off-by: LauraGPT <[email protected]>
2026-08-24 22:38:23 +08:00
Leonard Li 4999dc7632 Raise real exceptions instead of strings in the runtime Python bindings
`raise "some message"` is invalid in Python 3 — a str is not an exception — so
the interpreter discards the message and raises

    TypeError: exceptions must derive from BaseException

instead. Paired with a bare `except:`, the original cause is lost too, and the
user is told to install something they may already have.

Concretely: funasr was installed, but importing it failed on a missing
torchaudio. The message said 'please install funasr', the traceback said
TypeError, and the actual ModuleNotFoundError was nowhere to be seen.

This converts all 30 occurrences under runtime/python to real exceptions:

  - guarded imports        -> except ImportError as e: raise ImportError(...) from e
  - everything else        -> except Exception as e:  raise RuntimeError(...) from e

`from e` keeps the original traceback, so a missing transitive dependency stays
visible. Narrowing the bare `except:` also stops unrelated failures from being
reported as a missing package — the model_dir branch in particular fired for any
failure, so a mistyped path also surfaced as TypeError.

Messages are unchanged. No behaviour changes beyond the exception type.
2026-08-22 12:35:50 -04:00