Commit Graph
2152 Commits
Author SHA1 Message Date
Ettore Di Giacinto 6cb92b4908 feat(vllm-cpp): add SystemOne and Score gRPC methods
Wire the kev/laya SystemOne decision pipeline and the cua-s1-forms
Score primitive through the vllm-cpp backend:

- Add SystemOneRequest/SystemOneResponse messages and rpc SystemOne to
  backend.proto
- Add SystemOneModel and ScoreModel optional interfaces in pkg/grpc
  (follows the ClassifyModel pattern — does not break existing backends)
- Add delegating SystemOne and Score methods on the gRPC server struct
  (previously fell through to UnimplementedBackendServer)
- Implement SystemOne (JSON pass-through to vllm_systemone C ABI) and
  Score (vllm_score C ABI, probabilities to log-probs) in the vllm-cpp
  backend
- Add purego bindings for vllm_systemone/vllm_score (ABI v28) in
  govllmcpp.go
- Add MethodSystemOne to backend capabilities; update vllm-cpp to
  declare MethodScore, MethodSystemOne, UsecaseScore
- Route /v1/systemone to gRPC SystemOne for vllm-cpp models, falling
  through to the NER-based path for other backends
- Add core/backend/systemone.go (ModelSystemOne loader closure)
- Fix validModelPath to accept cua-s1-forms.json and rl_agent_config.json
  alongside config.json
- Use -999.0 sentinel instead of -Inf for log(0) in Score (JSON cannot
  encode Inf)

Assisted-by: Maki:regolo/glm5.2 [maki]
2026-09-24 12:07:44 +00:00
localai-org-maint-botandmudler 8588020d77 chore: ⬆️ Update mudler/vllm.cpp to b24f8094cba9b4f02df71bcff8d41ddc7e88b4ef (#12229)
⬆️ Update mudler/vllm.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-24 09:32:52 +02:00
localai-org-maint-botandmudler 694e1ea3cc chore: ⬆️ Update CrispStrobe/CrispASR to 97a35a6e519fda1835f3c8353516384aa8710b8c (#12230)
⬆️ Update CrispStrobe/CrispASR

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-24 09:32:33 +02:00
localai-org-maint-botandmudler 91b462db24 chore: ⬆️ Update ikawrakow/ik_llama.cpp to f3d6e6e3020ddfebad60113845bf521620766da5 (#12233)
⬆️ Update ikawrakow/ik_llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-24 09:05:08 +02:00
mudler-agentandEttore Di Giacinto 81eaca8768 fix(turboquant): extend D512 flash-attn patch to all turbo V types (#12234)
The previous patch only removed DECL_FATTN_VEC_CASE_D512 for turbo2_0
and turbo3_0 V cache types. turbo4_0 also overflows shared memory
(0x10100 bytes > 0xc000 max), causing ptxas errors on CUDA 12/13.

Additionally, the previous patch was incomplete: it only removed the
template instantiations but not the dispatch calls in fattn.cu or the
extern declarations in fattn-vec.cuh. This caused linker errors
(undefined reference to ggml_cuda_flash_attn_ext_vec_case_d512).

This patch removes all three layers for all turbo V types:
- Template instance .cu files (DECL_FATTN_VEC_CASE_D512)
- Dispatch calls in fattn.cu (FATTN_VEC_CASE_D512)
- Extern declarations in fattn-vec.cuh (extern DECL_FATTN_VEC_CASE_D512)

Signed-off-by: mudler <mudler@localai.io>
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-24 08:01:28 +02:00
2ccda5ba92 chore: ⬆️ Update TheTom/llama-cpp-turboquant to 4deec5587b2963af00bdf80884f3337e02eb7d64 (#12154)
* ⬆️ Update TheTom/llama-cpp-turboquant

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix(turboquant): patch D512 flash-attn shared memory overflow

turboquant 4deec55 added DECL_FATTN_VEC_CASE_D512 for TURBO2_0 and
TURBO3_0 V cache types. The D=512 kernel template with these types
allocates 65 KB of shared memory, exceeding the 48 KB GPU limit:

  ptxas error: Entry function uses too much shared data
  (0x10100 bytes, 0xc000 max)

Carry the fix as a patch under backend/cpp/turboquant/patches/ until
TheTom/llama-cpp-turboquant#386 is merged upstream.

TURBO4_0 (4-bit) does not overflow and is left unchanged.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

---------

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-23 21:12:38 +00:00
9ad18c8c67 chore: ⬆️ Update ServeurpersoCom/omnivoice.cpp to 3ac485d0688fc684f5dcf2c95283b745220f9dcc (#12191)
* ⬆️ Update ServeurpersoCom/omnivoice.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix(omnivoice-cpp): workaround GGML_SOURCE_DIR for nested builds

omnivoice.cpp 3ac485d changed from a relative add_subdirectory(ggml)
to CMAKE_SOURCE_DIR-based path resolution. CMAKE_SOURCE_DIR points to
the top-level project, not the current subdirectory, so when
omnivoice is consumed via add_subdirectory() the build fails:

  add_subdirectory given source ".../omnivoice-cpp/ggml"
  which is not an existing directory.

Set GGML_SOURCE_DIR to the correct path before add_subdirectory so
the upstream code picks it up from the cache. This is a workaround
until ServeurpersoCom/omnivoice.cpp#20 is merged upstream.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

---------

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-23 22:13:58 +02:00
localai-org-maint-botandEttore Di Giacinto d71a22f1ae chore: ⬆️ Update mudler/vllm.cpp to d4738d241271b4d10134a6499f97337f20fcf8ce (#12175)
vllm.cpp d4738d2 bumped VLLM_ABI_VERSION from 26 to 27. The
abi-check target caught the mismatch: the Go struct mirrors in
govllmcpp.go still declared v26.

Update abiVersion, the header comment, and the test expectation
to v27. The struct layout did not change between the two versions,
so no offset adjustments are needed.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-23 21:21:53 +02:00
21c5495a99 feat(vllm-cpp): add GLiNER2.5 NER via TokenClassify (#12140)
* feat(vllm-cpp): add GLiNER2.5 NER via TokenClassify

Wire the vllm-cpp backend to the C ABI NER surface (vllm_gliner_ner,
ABI v27) so LocalAI can serve zero-shot named entity recognition through
the existing TokenClassify gRPC method.

backend.go: TokenClassify method on *VllmCpp calls vllm_gliner_ner with
the text and labels, copies the C-owned entity array into protobuf
TokenClassifyEntity messages, and frees the result.

govllmcpp.go: cNerEntity and cNerResult Go POD mirrors matching the C
structs; vllmGlinerNer and vllmNerResultFree purego bindings; abiVersion
bumped 26 -> 27.

options.go: ner_labels, ner_threshold, ner_max_width parsed from
engine_args.

pkg/grpc: ClassifyModel interface and TokenClassify server handler
(follows the Embedding locking pattern).

core/config: vllm-cpp backend declares MethodTokenClassify and
UsecaseTokenClassify.

docs/content/features/vllm-cpp.md: NER section documenting the
engine_args keys and the host-forward contract.

Assisted-by: MAKI:regolo/glm5.2 [maki]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fix(vllm-cpp): correct NER pointer lint directive

Use the govet directive for the C-owned NER array, matching the other
purego pointer conversions. The array remains valid until its deferred
free; the misspelled directive caused CI to flag this conversion.

Assisted-by: Codex:gpt-6 golangci-lint
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* feat(vllm-cpp): add kev-compatible SystemOne API endpoints

Add POST /v1/systemone, /v1/systemone/permute, and
/v1/systemone/separate to LocalAI, mirroring the kev project's
structured-extraction API. Each endpoint runs zero-shot NER over the
rendered state text and builds kev-compatible answers for three question
types: noul (binary entity presence), choice (pick one option), and
score (pick one level).

The TokenClassifyRequest proto gains a `repeated string labels` field so
each question can supply its own labels at inference time, and
TokenClassifier gains TokenClassifyWithLabels for per-call label
selection. The vllm-cpp backend uses request labels when non-empty,
falling back to configured ner_labels then the built-in defaults.

Helpers (renderState, softmax, choiceConfidence, scoreConfidence, r2)
are ported from kev/api.py and mirrored in vllm.cpp's api_server.cpp so
both servers produce the same answer shape.

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:regolo/glm5.2 [maki]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fix(vllm-cpp): suppress gosec G404 on seeded permutation RNG

The SystemOne permute endpoint uses math/rand with a caller-supplied
seed for reproducible option permutations, matching kev's random.seed.
gosec flags this as G404 (weak RNG). Add #nosec with a comment naming
the intent: this is reproducibility, not cryptography.

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:regolo/glm5.2 [maki]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* chore(vllm-cpp): bump vllm.cpp pin to GLiNER2.5 merge commit

Advance VLLM_CPP_VERSION from f3cd97e to 5058268d, the commit that
landed GLiNER2.5 zero-shot NER support (PR #3224) in vllm.cpp. This
brings the DeBERTa v2 encoder, GLiNER2 boundary head, C ABI NER
functions, and server endpoints into the LocalAI vllm-cpp backend.
The ABI version (27) and Go struct mirrors already match.

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:regolo/glm5.2 [maki]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fix(vllm-cpp): use instruction text as NER label in SystemOne handler

The SystemOne handler was passing question IDs as NER labels for noul
questions and bare key names for choice questions, so the model never
matched any entities. Port the label mapping from vllm.cpp's
ParseSystemOneBody:

- noul: use the rendered instructions field (with instr alias) as the
  NER label, not the question ID
- choice: use optionText(name, desc) — "name: description" or "name"
  when the description is null/empty — not the bare key
- score: already correct (rendered criteria text)
- permute: shuffle indices and build parallel key/label arrays so the
  NER call uses the optionText labels while the response is keyed by
  the original option names

Also add the instructions field to the SystemOneQuestion schema struct
(accepted alongside the instr backward-compat alias).

Verified end-to-end against the real GLiNER2.5 model: noul questions
now find "Apple Inc. is" (organization, 0.999) and "Tim Cook is"
(person, 0.852) where they previously returned zero entities.

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:regolo/glm5.2 [maki]
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>
Co-authored-by: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com>
2026-09-23 12:31:28 +02:00
X c5216b36af fix(vllm-omni): remove invalid syntax in test.py (#12135)
Signed-off-by: hendrixx-cnc <tjhendrx@icloud.com>
2026-09-23 12:24:21 +02:00
pos-ei-don 0b09cff673 fix(sglang): support msgspec-based ServerArgs (sglang >= 0.5.20) (#12155)
sglang 0.5.20 moved its config tier from dataclasses to msgspec.Struct
(sgl-project/sglang#38753). _apply_engine_args validates engine_args keys
via dataclasses.fields(ServerArgs), which raises TypeError there. That
call runs on every LoadModel, so no model loads at all on the sglang
backend once sglang >= 0.5.20 is installed, and the error surfaces as a
generic "Unexpected <class 'TypeError'>" that does not name the cause.

Introspect both shapes: msgspec structs carry their field names in
__struct_fields__, so key validation and the close-match suggestion keep
working, and older dataclass-based sglang stays supported.

Adds a test that pins the msgspec path with a stand-in, so it is covered
regardless of which sglang version is installed.

Signed-off-by: pos-ei-don <1822533+pos-ei-don@users.noreply.github.com>
2026-09-23 12:23:35 +02:00
Plamen K. Kosseff e7306a087a feat(audio-cpp): AUDIOCPP_DEFAULT_BACKEND fallback for models without a backend option (#12133)
Models whose options carry no explicit backend: open their session on the
CPU backend even in accelerator images. The gallery entries carry
backend:best since #11892; this covers hand-written model configurations
the same way, per deployment: the environment variable supplies the
fallback, an explicit backend: option always wins (merged beside the
existing threads and maingpu fallbacks), and validation reuses the
option parser.

Assisted-by: Claude:claude-fable-5

Signed-off-by: Plamen K. Kosseff <p.kosseff@gmail.com>
2026-09-23 12:16:31 +02:00
localai-org-maint-botandmudler 2e279920b0 chore: ⬆️ Update CrispStrobe/CrispASR to 18d74132d22fa7c967181720310d4ba1df9b7bf0 (#12213)
⬆️ Update CrispStrobe/CrispASR

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-23 11:04:36 +02:00
localai-org-maint-botandmudler c93bd4da85 chore: ⬆️ Update leejet/stable-diffusion.cpp to c92d73c408515c94beef32161bb5960764fde7a0 (#12212)
⬆️ Update leejet/stable-diffusion.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-23 11:04:23 +02:00
localai-org-maint-botandmudler 01c60b22e6 chore: ⬆️ Update 0xShug0/audio.cpp to 1ee4ce8275997a7dcf0e2a5dc3410e509b898d6d (#12211)
⬆️ Update 0xShug0/audio.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-23 11:04:08 +02:00
localai-org-maint-botandmudler d8bc8445c9 chore: ⬆️ Update ggml-org/whisper.cpp to a44e07845931421bb6f3447ce0010ed9dc76a118 (#12209)
⬆️ Update ggml-org/whisper.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-23 09:31:33 +02:00
localai-org-maint-botandmudler 90e6cae60e chore: ⬆️ Update PrismML-Eng/llama.cpp to bdc23b56b4458b9f1655aec5287f3ab56ee8daaa (#12207)
⬆️ Update PrismML-Eng/llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-23 09:28:12 +02:00
localai-org-maint-botandmudler 82f7b25766 chore: ⬆️ Update ikawrakow/ik_llama.cpp to c5b5773bed338c5f3b985d277764a4d780b83d42 (#12210)
⬆️ Update ikawrakow/ik_llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-23 09:26:14 +02:00
localai-org-maint-botandmudler 74b5cf1311 chore: ⬆️ Update ggml-org/llama.cpp to 709fe755dfa810d77e2ac386292b29648b536864 (#12208)
⬆️ Update ggml-org/llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-23 09:26:01 +02:00
localai-org-maint-botandmudler f197c35a0f chore: ⬆️ Update ggml-org/whisper.cpp to 307869af285d7f6f689ba100b3515e2d1b3feb05 (#12200)
⬆️ Update ggml-org/whisper.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-22 12:57:12 +02:00
localai-org-maint-botandmudler 2d55aafb86 chore: ⬆️ Update ggml-org/llama.cpp to 58367713a6935c0810103378144008df32e3d5db (#12197)
⬆️ Update ggml-org/llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-22 12:57:00 +02:00
localai-org-maint-botandmudler 937d19545d chore: ⬆️ Update ikawrakow/ik_llama.cpp to baac291dc9d531927760b48451d8dfcb63b6adec (#12192)
⬆️ Update ikawrakow/ik_llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-22 09:08:03 +02:00
localai-org-maint-botandmudler c7820cd4df chore: ⬆️ Update PrismML-Eng/llama.cpp to 01ae597e3f7d4742909e1e831abb12fe3d24b2cf (#12195)
⬆️ Update PrismML-Eng/llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-22 09:07:50 +02:00
localai-org-maint-botandmudler e6b0389dbf chore: ⬆️ Update NVIDIA/NeMo-Speech.cpp to 302ebc93f096d03395e5d86c643897b8bf0fd9a8 (#12196)
⬆️ Update NVIDIA/NeMo-Speech.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-22 09:07:36 +02:00
localai-org-maint-botandmudler 649118497c chore: ⬆️ Update CrispStrobe/CrispASR to 5cfdc754c04d7bb3f0ab637f0e09502eda22d1ae (#12198)
⬆️ Update CrispStrobe/CrispASR

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-22 09:07:24 +02:00
localai-org-maint-botandmudler 1a04ca3fbf chore: ⬆️ Update 0xShug0/audio.cpp to 17cc8980e9c8f8073796aead8a91c809511cbab1 (#12199)
⬆️ Update 0xShug0/audio.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-22 09:07:05 +02:00
localai-org-maint-botandEttore Di Giacinto 32457137a3 feat(stablediffusion-ggml): Qwen-Image 2.1 support + gallery GGUF (#12190)
* fix(stablediffusion-ggml): bump sd.cpp for Qwen-Image 2.1, fix RPC build

Bump stable-diffusion.cpp to c678dfe70, which adds Qwen-Image 2.1
support (leejet/stable-diffusion.cpp#1994).

The same range pulls a ggml update that adds GGML_OP_SAGE_ATTN but
does not update the GGML_OP_COUNT static_assert in ggml-rpc.h. We build
with SD_RPC=ON and upstream CI does not, so every backend image failed
to compile (see #12170).

Add a sync-rpc-op-count step after checkout. It sets the ggml-rpc.h
assert to the count that ggml.c asserts. The new op is appended before
GGML_OP_COUNT, so existing op ids on the wire do not change, and the
RPC handshake compares only major and minor versions. When upstream
fixes the header, the step does nothing, so future automated bumps
stay green.

Assisted-by: Claude:claude-opus-5 [Claude Code]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* feat(gallery): add Qwen-Image 2.1 GGUF for stablediffusion-ggml

Add qwen-image-2.1-q4_k-ggml, with qwen-image-2.1-q8_0-ggml as a
variant, from leejet/Qwen-Image-2.1-GGUF. The config follows the
upstream stable-diffusion.cpp recipe: Qwen3-VL-8B-Instruct text
encoder, the Qwen-Image 2.1 VAE, cfg scale 6, euler sampler.

The bundle also pulls the Qwen3-VL mmproj as llm_vision_path, so that
image editing with reference images works. The text encoder and mmproj
use the same filenames and checksums as the qwen3-vl-8b-instruct
entry, so both entries share the files on disk.

Assisted-by: Claude:claude-opus-5 [Claude Code]
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-09-22 08:20:59 +02:00
localai-org-maint-botandmudler 728e08c6c2 chore: ⬆️ Update ggml-org/llama.cpp to ce8caa6e60a03093351d6016a818720e0d46f0fb (#12177)
⬆️ Update ggml-org/llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-21 15:46:22 +02:00
localai-org-maint-botandmudler 08158a5c4d chore: ⬆️ Update 0xShug0/audio.cpp to e3de8e3f3cbfac55ffa58df71426c41550a8598b (#12176)
⬆️ Update 0xShug0/audio.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-21 10:11:15 +02:00
localai-org-maint-botandmudler f0879068bf chore: ⬆️ Update ServeurpersoCom/omnivoice.cpp to ae9dd24b6a5ff72bf50519490092ad14c64627a8 (#12169)
⬆️ Update ServeurpersoCom/omnivoice.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-21 09:32:47 +02:00
localai-org-maint-botandmudler 4dd171af31 chore: ⬆️ Update CrispStrobe/CrispASR to 46612927d8ed7a98e88fb9f411768a2ccbbe1170 (#12171)
⬆️ Update CrispStrobe/CrispASR

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-21 09:32:36 +02:00
localai-org-maint-botandmudler 276d376575 chore: ⬆️ Update ikawrakow/ik_llama.cpp to 9cba2e3874df6f598fd339c4c6c7d5fc2b44645b (#12174)
⬆️ Update ikawrakow/ik_llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-21 09:05:25 +02:00
localai-org-maint-botandmudler 515590998a chore: ⬆️ Update antirez/ds4 to 0aaea5a238fb41a35106a551e73c8409dfb751ac (#12168)
⬆️ Update antirez/ds4

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-21 08:26:08 +02:00
localai-org-maint-botandmudler 19a66fd898 chore: ⬆️ Update ggml-org/llama.cpp to e613ef2c81bae98d59850d061ac29e6e3e88cb00 (#12157)
⬆️ Update ggml-org/llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-20 22:00:45 +02:00
Richard Palethorpe 495165266f feat(kimodocpp): track usage through generic backend metadata (#12162)
Report input tokens and frame-step output units in response metadata and
record them through the existing usage accounting pipeline. Preserve the
accounting rule and model-specific dimensions as JSON without extending
the gRPC schema for each modality.

Expose animation usage only under metadata.usage, validate counts before
recording, and document the response contract and loaded-model location.
Add coverage for transport, defaults, failures, persistence, and recording
requests once with statistics enabled or disabled.

Assisted-by: Codex:GPT-6

Signed-off-by: Richard Palethorpe <io@richiejp.com>
2026-09-20 19:39:06 +01:00
localai-org-maint-botandmudler 416847e20d chore: ⬆️ Update PrismML-Eng/llama.cpp to 9a9394a895b96003ca842a6041cb28ac49a108f7 (#12114)
⬆️ Update PrismML-Eng/llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-20 12:35:49 +02:00
localai-org-maint-botandmudler 1678129e91 chore: ⬆️ Update 0xShug0/audio.cpp to a7b58a6d3d6ae4143c485266b1c6c09898ad8c72 (#12150)
⬆️ Update 0xShug0/audio.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-20 12:32:09 +02:00
localai-org-maint-botandmudler 1678699c49 chore: ⬆️ Update mudler/vllm.cpp to ea8c83d75f461a520e41328c44bde6c949453fa6 (#12149)
⬆️ Update mudler/vllm.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-20 12:31:54 +02:00
localai-org-maint-botandmudler 8ef96e692e chore: ⬆️ Update ikawrakow/ik_llama.cpp to 401a09d2f534d2eeabb0a37919ebc5a2cbc56ac6 (#12151)
⬆️ Update ikawrakow/ik_llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-20 12:31:35 +02:00
localai-org-maint-botandmudler fbfac13ff4 chore: ⬆️ Update leejet/stable-diffusion.cpp to 1330cebae8f2ba99249df846cc0c9444fcbd4308 (#12152)
⬆️ Update leejet/stable-diffusion.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-20 12:31:15 +02:00
localai-org-maint-botandmudler cdd0ad2004 chore: ⬆️ Update CrispStrobe/CrispASR to 7bd1d6062eb3d96dfb68fb240f8736399ba490c3 (#12153)
⬆️ Update CrispStrobe/CrispASR

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-20 12:30:53 +02:00
mudler-agentandEttore Di Giacinto 6184a258b3 fix: preserve vllm-omni imports after backend relocation (#12137)
Use a regular (non-editable) pip/uv install so the package lands in the
venv site-packages. An editable finder records the builder source path,
which breaks after the backend is copied out of the image (#9162).

Adds a regression test (scripts/build/vllm-omni-install_test.sh) that
verifies imports survive relocation with a regular install and fail with
an editable install.

Supersedes #12040 (DCO not signed by contributor).

Assisted-by: MAKI:regolo/glm5.2

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-19 23:39:27 +02:00
localai-org-maint-botandmudler a4b847d6b7 chore: ⬆️ Update CrispStrobe/CrispASR to 647db2c7abed1fc82a69767f6e8b3993b94b8417 (#12112)
⬆️ Update CrispStrobe/CrispASR

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-19 19:48:26 +02:00
localai-org-maint-botandmudler 8b01583e70 chore: ⬆️ Update 0xShug0/audio.cpp to a074d6b8cdb16b89cd028876e83629a538d49b9a (#12125)
⬆️ Update 0xShug0/audio.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-19 09:29:01 +02:00
localai-org-maint-botandmudler 908182d690 chore: ⬆️ Update leejet/stable-diffusion.cpp to 2ea8aff7ef603977dc2ece7856bf9736dba96652 (#12127)
⬆️ Update leejet/stable-diffusion.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-19 09:28:49 +02:00
localai-org-maint-botandmudler e7d295e5f1 chore: ⬆️ Update ggml-org/llama.cpp to 50631b3d2c569ad8e5c112090cd28570b1268ee0 (#12129)
⬆️ Update ggml-org/llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-19 09:28:28 +02:00
localai-org-maint-botandmudler 365fb57bf2 chore: ⬆️ Update ggml-org/whisper.cpp to 5670d5c0bbcb148feabef84400a07cfca9aa3b30 (#12130)
⬆️ Update ggml-org/whisper.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-19 09:28:16 +02:00
localai-org-maint-botandmudler 99682b768e chore: ⬆️ Update ikawrakow/ik_llama.cpp to 2ae132fa601ea06818ed3584f50f7eb4f72d4967 (#12131)
⬆️ Update ikawrakow/ik_llama.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-19 09:28:06 +02:00
localai-org-maint-botandmudler 2681232d5e chore: ⬆️ Update mudler/vllm.cpp to f3cd97e379fbeca4e50415edbdd52d2517b98ef8 (#12132)
⬆️ Update mudler/vllm.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-19 09:27:51 +02:00
localai-org-maint-botandmudler 215a654f21 chore: ⬆️ Update ServeurpersoCom/omnivoice.cpp to cd6922ac3cb465f1c0a22465e77db21d367204fe (#12126)
⬆️ Update ServeurpersoCom/omnivoice.cpp

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com>
2026-09-19 09:27:30 +02:00