LocalAI/docs/content/features
LocalAI [bot] a8d7d37a3c
fix: unbreak master CI (docs, kokoros, vibevoice-cpp ABI) (#9682)
* fix(docs): correct broken Hugo relrefs

The Hugo build has been failing on master since the relevant pages
landed:

- text-generation.md:720 referenced `/docs/features/distributed-mode`,
  but Hugo `relref` paths are relative to the content root, not the
  rendered URL. Drop the `/docs/` prefix so the lookup matches the
  existing `features/...` form used elsewhere in the file.
- audio-transform.md:144 referenced `tts.md`; the actual page is
  `text-to-audio.md`.

Assisted-by: Claude:claude-opus-4-7[1m]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fix(kokoros): stub Diarize and AudioTransform Backend trait methods

The recent backend.proto additions (Diarize, AudioTransform,
AudioTransformStream) extended the gRPC Backend trait, breaking
kokoros-grpc compilation with E0046 because the Rust implementation
hadn't picked up the new methods. Add Unimplemented stubs matching the
existing pattern for non-applicable RPCs in this TTS-only backend.

Assisted-by: Claude:claude-opus-4-7[1m]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fix(vibevoice-cpp): track upstream ABI + wire 1.5B voice cloning

Two recent commits in mudler/vibevoice.cpp reshaped the vv_capi_tts
signature without a corresponding bump on the LocalAI side:

  3bd759c "1.5b: unify into a single tts entry point" inserted a
          ref_audio_path parameter between voice_path and dst_wav_path.
  ad856bd "1.5b: multi-speaker dialog support" promoted that to a
          (const char* const* ref_audio_paths, int n_ref_audio_paths)
          pair for per-speaker conditioning.

Because purego resolves symbols by name and not by signature, the
build kept linking; at runtime the misaligned arguments turned the
TTS->ASR closed-loop test into a SIGSEGV inside cgo. Track HEAD
explicitly and bring the bridge in line with it:

  * Update the CppTTS purego binding to the 9-arg form. purego
    marshals []*byte as a **char by handing the C side the underlying
    array address; nil/empty maps to NULL, which matches the C
    contract for "no reference audio" on the realtime-0.5B path.
  * Add a `ref_audio` gallery option (comma-separated, repeatable)
    that the 1.5B path consumes for runtime voice cloning. Multiple
    entries are interpreted as one WAV per speaker (Speaker 0..n-1).
  * TTSRequest.Voice now routes by extension/shape: `.wav` or a
    comma-separated list goes to ref_audio_paths; anything else stays
    on voice_path (realtime-0.5B's pre-baked voice gguf).
  * Pin VIBEVOICE_CPP_VERSION to ad856bd and wire the Makefile into
    the existing bump_deps matrix so future upstream rolls land as
    reviewable PRs instead of a silent CI break.

Assisted-by: Claude:claude-opus-4-7[1m]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactor(vibevoice-cpp): use ModelOptions.AudioPath for 1.5B ref audio

Use the existing audio_path field from ModelOptions (already plumbed
through config_file's `audio_path:` YAML and consumed by other audio
backends like kokoros) instead of inventing a custom `ref_audio:`
Options[] string. Multi-speaker setups stay on a single comma-
separated value.

No behavior change beyond the gallery key name; per-call routing via
TTSRequest.Voice is unchanged.

Assisted-by: Claude:claude-opus-4-7[1m]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

---------

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-05-06 10:36:59 +02:00
..
_index.en.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
agents.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
api-discovery.md feat(api): Allow coding agents to interactively discover how to control and configure LocalAI (#9084) 2026-04-04 15:14:35 +02:00
audio-diarization.md feat(api): add /v1/audio/diarization endpoint with sherpa-onnx + vibevoice.cpp (#9654) 2026-05-05 15:10:13 +02:00
audio-to-text.md feat(api): add /v1/audio/diarization endpoint with sherpa-onnx + vibevoice.cpp (#9654) 2026-05-05 15:10:13 +02:00
audio-transform.md fix: unbreak master CI (docs, kokoros, vibevoice-cpp ABI) (#9682) 2026-05-06 10:36:59 +02:00
authentication.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
backend-monitor.md fix(backend-monitor): accept model as a query parameter (#9411) 2026-04-21 22:06:35 +02:00
backends.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
constrained_grammars.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
distributed-mode.md feat(vllm, distributed): tensor parallel distributed workers (#9612) 2026-05-06 00:22:50 +02:00
distributed_inferencing.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
distribution.md fix(docs): commit distribution.md 2026-04-03 10:14:13 +02:00
embeddings.md feat(face-recognition): add insightface/onnx backend for 1:1 verify, 1:N identify, embedding, detection, analysis (#9480) 2026-04-22 21:55:41 +02:00
face-recognition.md fix(docs): replace Docsy alert shortcode with Relearn notice 2026-04-25 21:04:31 +00:00
fine-tuning.md fix(docs): Use notice instead of alert (#9134) 2026-03-25 13:55:48 +01:00
gpt-vision.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
GPU-acceleration.md feat(rocm): bump to 7.x (#9323) 2026-04-12 08:51:30 +02:00
image-generation.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
localai-assistant.md feat: localai assistant chat modality (#9602) 2026-04-28 19:29:27 +02:00
mcp.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
mlx-distributed.md feat(mlx-distributed): add new MLX-distributed backend (#8801) 2026-03-09 17:29:32 +01:00
model-gallery.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
object-detection.md feat(face-recognition): add insightface/onnx backend for 1:1 verify, 1:N identify, embedding, detection, analysis (#9480) 2026-04-22 21:55:41 +02:00
openai-functions.md docs: document tool calling on vLLM and MLX backends 2026-04-13 16:58:55 +00:00
openai-realtime.md Remove header from OpenAI Realtime API documentation 2026-04-09 09:00:28 +02:00
p2p.md feat: Add documentation for undocumented API endpoints (#8852) 2026-03-08 17:59:33 +01:00
quantization.md fix(docs): Use notice instead of alert (#9134) 2026-03-25 13:55:48 +01:00
reranker.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
runtime-settings.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
sound-generation.md feat: Add documentation for undocumented API endpoints (#8852) 2026-03-08 17:59:33 +01:00
stores.md fix(docs): replace Docsy alert shortcode with Relearn notice 2026-04-25 21:04:31 +00:00
text-generation.md fix: unbreak master CI (docs, kokoros, vibevoice-cpp ABI) (#9682) 2026-05-06 10:36:59 +02:00
text-to-audio.md fix(docs): fix broken references to distributed mode 2026-04-03 09:46:06 +02:00
video-generation.md feat: Add documentation for undocumented API endpoints (#8852) 2026-03-08 17:59:33 +01:00
voice-activity-detection.md feat: Add documentation for undocumented API endpoints (#8852) 2026-03-08 17:59:33 +01:00
voice-recognition.md fix(docs): replace Docsy alert shortcode with Relearn notice 2026-04-25 21:04:31 +00:00