Commit Graph
8046 Commits
Author SHA1 Message Date
Ettore Di Giacinto 7c13ad7cc2 ci(distributed): run the distributed e2e suite on PRs
The suite has never run in CI, so 239 specs across 32 files were verified only
by hand. Path-filtered to distributed code, advisory until it earns a track
record, and with flake retries at 1 rather than 5 so nondeterminism surfaces
instead of being retried away.

Assisted-by: Claude Opus 5 [claude-code]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-20 03:05:33 +00:00
Ettore Di Giacinto a0c7b2709b test(distributed): scope the log-subscriber wait and mark the race it works around
Three corrections from review of the previous commit.

The lock-order comment on SubscriberCount claimed no path takes s.mu and a
buffer lock together. Subscribe does exactly that, holding s.mu.RLock across
replica registrations that take buf.mu. State the rule that is actually true —
s.mu precedes any buffer lock, so counting after releasing it preserves the
order — and say what follows from it: the total is a sample, not a snapshot.

waitForLogSubscriber read as general-purpose but unblocks on the first
registered subscription. Subscribe attaches the exact-key buffer and each
replica buffer one at a time, so for a replicated model the count goes positive
while later replicas are still unattached and the race survives. Rename it
waitForSingleLogSubscriber, document that it holds only where Subscribe
resolves to one buffer, and assert on exactly 1: misuse then fails loudly on
the count rather than going quietly back to being flaky. Taking the expected
count as a parameter was the alternative, but that makes callers predict a
store-internal number and an under-count fails the same silent way as the
original bug.

The snapshot-then-subscribe race had no artifact outside a report, and review
found a second site carrying it. Mark both handlers identically, including the
point that swapping the two calls duplicates rather than drops and so is not
the fix. The race itself is left alone; this branch stays test infrastructure.

Assisted-by: Claude Opus 5 [claude-code]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-20 03:05:33 +00:00
Ettore Di Giacinto d8b32066e3 test(distributed): wait for the log subscriber instead of racing it
The WebSocket log handler writes its "initial" batch before it calls
Subscribe, so a line appended the instant that batch arrives lands in the
circular buffer with no subscriber to receive it. Three backend-logs specs
append exactly there and then wait out a 5s read deadline; once a gorilla
read hits its deadline the connection is unusable, so the spec cannot retry.
`--focus='Worker WebSocket log streaming' --repeat=25` failed on attempt 17
with nothing else running, which is far too often to wire into CI.

Add BackendLogStore.SubscriberCount, resolving a model ID by the same
exact-key and replica-prefix rules Subscribe uses, and have the specs poll it
until the handler has attached. Nothing in production calls it and no
assertion is weakened; the handler's own snapshot/subscribe window is left as
it is, being a production streaming question rather than a test one.

Verified with 60 repeats of the WebSocket specs and three consecutive
--randomize-all runs of the whole distributed suite, all at
--flake-attempts 1: 239 of 240 specs pass in about 80 seconds.

Assisted-by: Claude Opus 5 [claude-code]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-20 03:05:33 +00:00
Ettore Di Giacinto 406b2eca5d test(distributed): stop leaking admin pools when database setup fails
A failed CREATE DATABASE panics out of the assertion before closeDB runs,
leaking a pgx pool per attempt. With --flake-attempts 5 that exhausts
postgres:16-alpine's 100 connection slots, at which point the cleanup path's
own Expect fails the spec and one hiccup cascades across the suite. Scope the
admin handle so the panic unwinds through defer closeDB, and let cleanup use a
fallible tryAdminDB that reports rather than asserts.

Register DeferCleanup immediately after CREATE so a later failure cannot leave
the database behind, and warn on TestInfra that the container handles are now
suite-wide.

Assisted-by: Claude Opus 5 [claude-code]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-20 03:05:33 +00:00
Ettore Di Giacinto 75788423bb test(distributed): share suite containers, isolate specs by database
Starting a Postgres and a NATS container per spec cost roughly 48 minutes of
startup across the 213 specs behind SetupInfra, which is why this suite was
never wired into CI. Containers move to BeforeSuite and isolation comes from
CREATE DATABASE, which the dbName argument already described.

Assisted-by: Claude Opus 5 [claude-code]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-20 03:05:33 +00:00
mudler-agentandEttore Di Giacinto 96ccb8e96c fix: correct stale symbol names in doc comments (#12139)
Fixes 7 doc comments whose names no longer match their function:
- ToggleStateModelEndpoint (was ToggleModelEndpoint)
- Messages.ToProto (was MessagesToProto)
- NewUserCancellableContext (was newUserCancellableContext)
- CalculateRMS16 (was calculateRMS16)
- NewLocalAIMetricsService + Shutdown TODO (was copied setupOTelSDK)

Supersedes #12084 and #12085 (DCO not signed by contributors).

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:44 +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 f909bea212 feat(swagger): update swagger (#12148)
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 22:56:45 +02:00
localai-org-maint-botandlocalai-org-maint-bot 956cf4b9b6 docs: explain mixed CPU/GPU inference (#12143)
Show partial layer offload and CPU expert placement for llama-cpp.
Correct the documented gpu_layers default to match the backend config.

Refs #10557

Assisted-by: Codex:gpt-6

Co-authored-by: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com>
2026-09-19 19:48:55 +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
mudler-agentandEttore Di Giacinto 4d5ea12c3b fix(gallery): strip oci:// before upgrade-check digest lookup (#12138)
GetImageDigest calls name.ParseReference, which cannot parse the oci://
scheme. Self-hosted registries must set the scheme to be recognised by
LooksLikeOCI, so without stripping it they silently lose upgrade detection.

Strips the prefix at the call site, matching what the other two call
sites already do (pkg/downloader/uri.go, gallery/importers/llama-cpp.go).

Supersedes #12120 (DCO not signed by contributor, branch had unrelated
history needing rebase).

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 13:50:43 +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 78989e4be5 chore(model-gallery): ⬆️ update checksum (#12128)
⬆️ Checksum updates in gallery/index.yaml

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:39 +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
Plamen K. Kosseff 65264635ef fix(ui): make text selection visibly contrast the background (#12123)
The global ::selection used --color-primary-light (14% primary), which
composites to about 1.1:1 against the dark page ground — selected text
was nearly indistinguishable from unselected. Give selection its own
token in both palettes and align the CodeMirror themes with the same
strengths.

Assisted-by: Claude:claude-fable-5

Signed-off-by: Plamen K. Kosseff <p.kosseff@gmail.com>
2026-09-18 22:19:55 +00:00
leilei3167 242d391de1 fix(xsysinfo): include AMD GTT in APU VRAM detection (#12094)
On shared-memory AMD APUs (e.g. Strix Halo), rocm-smi VRAM is only the
BIOS UMA carve-out while usable HIP memory lives in GTT. Query
--showmeminfo all and fold GTT when the VRAM/GTT ratio matches an APU,
preserving dedicated dGPU accounting.

Fixes #12058

Signed-off-by: lei_lei <imleilei123@gmail.com>
2026-09-18 21:48:44 +00:00
localai-org-maint-botandmudler c614413bcf feat(swagger): update swagger (#12000)
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-18 23:28:30 +02:00
lqp dbee3db07f feat(openai): add negative_prompt field to image generation request (#12031)
Expose a negative_prompt string parameter on the image endpoints,
matching Stable Diffusion WebUI / vLLM-Omni conventions. When both the
negative_prompt parameter and a '|'-suffixed negative prompt in the
main prompt are present, they are joined with a comma so callers can
keep a global negative prompt in negative_prompt and add per-image
negative tags after '|'.


Assisted-by: Pi: DeepSeek V4 Pro

Signed-off-by: Fedor Zuev <Fedor.Zuev@gmail.com>
2026-09-18 23:28:14 +02:00
mudler-agentandEttore Di Giacinto d1ceeaa99a feat(gallery): consolidate 25 pending gallery PRs (#12124)
Consolidates all 25 pending gallery bot PRs into a single merge to resolve
the conflict cascade — every PR branched from a different point in master
and they all touch gallery/index.yaml, so merging them individually was
blocked by constant conflicts.

Changes:
- gallery/index.yaml: +739 lines (new model entries and fixes)
- docs/content/features/model-gallery.md: +116 lines (new model docs)
- docs/content/features/audio-cpp.md: +12 lines (Sortformer checksum fix)

Entry count: 1597 -> 1890 (293 new entries, no duplicates, YAML validated).

Supersedes: #11986 #11992 #11994 #11996 #11999 #12002 #12017 #12019
#12021 #12025 #12027 #12029 #12032 #12036 #12037 #12038 #12041 #12042
#12043 #12047 #12050 #12064 #12065 #12066 #12118

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-18 23:24:36 +02:00
dependabot[bot] eaf04c8b6b chore(deps): bump grpcio from 1.83.1 to 1.84.0 in /backend/python/rerankers (#12104)
chore(deps): bump grpcio in /backend/python/rerankers

Bumps [grpcio](https://github.com/grpc/grpc) from 1.83.1 to 1.84.0.
- [Release notes](https://github.com/grpc/grpc/releases)
- [Commits](https://github.com/grpc/grpc/compare/v1.83.1...v1.84.0)

---
updated-dependencies:
- dependency-name: grpcio
  dependency-version: 1.84.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-18 22:04:06 +02:00
dependabot[bot] 727360f3da chore(deps): bump grpcio from 1.83.1 to 1.84.0 in /backend/python/common/template (#12101)
chore(deps): bump grpcio in /backend/python/common/template

Bumps [grpcio](https://github.com/grpc/grpc) from 1.83.1 to 1.84.0.
- [Release notes](https://github.com/grpc/grpc/releases)
- [Commits](https://github.com/grpc/grpc/compare/v1.83.1...v1.84.0)

---
updated-dependencies:
- dependency-name: grpcio
  dependency-version: 1.84.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-18 22:03:24 +02:00
dependabot[bot] 012bc796f2 chore(deps): bump grpcio from 1.83.1 to 1.84.0 in /backend/python/vllm (#12099)
Bumps [grpcio](https://github.com/grpc/grpc) from 1.83.1 to 1.84.0.
- [Release notes](https://github.com/grpc/grpc/releases)
- [Commits](https://github.com/grpc/grpc/compare/v1.83.1...v1.84.0)

---
updated-dependencies:
- dependency-name: grpcio
  dependency-version: 1.84.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-18 22:03:07 +02:00
dependabot[bot] 7821dfcd5e chore(deps): bump protobuf from 7.35.0 to 7.36.1 in /backend/python/transformers (#12098)
chore(deps): bump protobuf in /backend/python/transformers

Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 7.35.0 to 7.36.1.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

---
updated-dependencies:
- dependency-name: protobuf
  dependency-version: 7.36.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-18 22:02:54 +02:00
localai-org-maint-botandEttore Di Giacinto 6438810164 fix(models): hide .tar.bz2 and .sha256 files from the model list (#12122)
Gallery entries that ship archives (for example Piper voices) leave the
downloaded .tar.bz2 and its .sha256 checksum in the models directory.
ListFilesInModelPath reported them as loose models, so they showed up in
/v1/models and in the UI as models that cannot be loaded.

Add both suffixes to the skip list, next to the existing .tar.gz entry.

Assisted-by: Claude:claude-opus-5 [Claude Code]

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-18 19:06:33 +02:00
localai-org-maint-botandmudler a633409361 chore(model gallery): 🤖 add 1 new models via gallery agent (#12080)
chore(model gallery): 🤖 add new models via gallery agent

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-18 19:02:31 +02:00
localai-org-maint-botandEttore Di Giacinto b1b5a7e1a5 feat(gallery): add four Italian community Piper voices (#12121)
chore(model gallery): add four Italian community Piper voices

Add the Ugo voice from Einrich99/PiperTTS-UGO-Italian and the Aurora,
Giorgio and Leonardo voices from kirys79/piper_italiano. All four use
the piper backend and are CC BY 4.0.

The kirys79 Giorgio and Leonardo files carry checkpoint names and a
bare .json config. The entries save them as it_IT-<voice>-high.onnx
and .onnx.json, because the piper backend looks for the config at
<model>.onnx.json.

Assisted-by: Claude:claude-opus-5 [Claude Code]

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-18 19:02:15 +02:00
dependabot[bot] b027d19c39 chore(deps): bump actions/checkout from 6 to 7 (#12108)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-18 18:32:48 +02:00
dependabot[bot] 247e51ac88 chore(deps): bump docs/themes/hugo-theme-relearn from 8bb66fa to aa16cb1 (#12096)
chore(deps): bump docs/themes/hugo-theme-relearn

Bumps [docs/themes/hugo-theme-relearn](https://github.com/McShelby/hugo-theme-relearn) from `8bb66fa` to `aa16cb1`.
- [Release notes](https://github.com/McShelby/hugo-theme-relearn/releases)
- [Commits](https://github.com/McShelby/hugo-theme-relearn/compare/8bb66fa674351f3a0b0917a7552caac686eca920...aa16cb1ffeba3d0a07a6b29111eeb8a5d3a62d69)

---
updated-dependencies:
- dependency-name: docs/themes/hugo-theme-relearn
  dependency-version: aa16cb1ffeba3d0a07a6b29111eeb8a5d3a62d69
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-18 18:32:35 +02:00
localai-org-maint-botandEttore Di Giacinto 3d63736c56 feat(vllm-cpp): add video_lora_dir option for runtime prompt-activated LoRA (#12119)
Add a video_lora_dir model option that passes lora_dir as a model-load
extra to the vllm.cpp engine. The engine uses it to resolve
<lora:name:strength> prompt tags at request time, loading the safetensors
LoRA factors and applying per-request deltas without touching base weights
(row ROAD-V1-LORA-RUNTIME).

This is distinct from the existing load-time lora_path/lora_strength fusion
(ROAD-V1-DIT-LORA), which bakes deltas into the DiT weights at load. Both
mechanisms coexist: load-time adapters are always active, while prompt-tag
adapters are selected per request.

The prompt passes through verbatim — the engine strips the tags internally.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:regolo/glm5.2 [maki]

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-18 10:36:36 +02:00
localai-org-maint-botandmudler 552d9a7f94 chore(model-gallery): ⬆️ update checksum (#12015)
⬆️ Checksum updates in gallery/index.yaml

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-18 09:01:25 +02:00
localai-org-maint-botandmudler e73c67f592 chore: ⬆️ Update 0xShug0/audio.cpp to f2b4937306daa25f5c78520f3c626ed31495a37a (#12086)
⬆️ 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-18 09:00:08 +02:00
localai-org-maint-botandmudler 81e15c3602 docs: ⬆️ update docs version mudler/LocalAI (#12111)
⬆️ Update docs version mudler/LocalAI

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-18 08:58:30 +02:00
localai-org-maint-botandmudler a5565badf1 chore: ⬆️ Update ikawrakow/ik_llama.cpp to dc31024448b8f18eac0cd5c2e200b6c7e015ef7a (#12088)
⬆️ 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-18 08:57:43 +02:00
localai-org-maint-botandmudler c97502cbb6 chore: ⬆️ Update leejet/stable-diffusion.cpp to cc515a01f9d0e3f6b975234cc934b807f55bcd35 (#12087)
⬆️ 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-18 08:56:07 +02:00
localai-org-maint-botandmudler b8723447a3 chore: ⬆️ Update mudler/vllm.cpp to e27e6d1c8f9ccd2803d37030f8a677507fe6e314 (#12089)
⬆️ 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-18 08:55:50 +02:00
localai-org-maint-botandmudler 4ca04b0dc0 chore: ⬆️ Update PABannier/sam3.cpp to 416186c501d060df7ca02989d49b38080f5f81f3 (#12091)
⬆️ Update PABannier/sam3.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-18 08:53:32 +02:00
localai-org-maint-botandmudler 11e0b70c3c chore: ⬆️ Update ggml-org/llama.cpp to 972d2313bc0bf0a45f634f77d95c9fb03aeab12c (#12090)
⬆️ 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-18 08:52:34 +02:00
localai-org-maint-botandmudler a5995333e2 chore: ⬆️ Update NVIDIA/NeMo-Speech.cpp to 07003daa7eefea542076310722ccaa89709ee3c3 (#12115)
⬆️ 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-18 08:52:13 +02:00
localai-org-maint-botandmudler bbcf4559ce chore: ⬆️ Update ServeurpersoCom/omnivoice.cpp to c2257c833333f222d64dc9d437afdcece33ceb0b (#12116)
⬆️ 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-18 08:52:00 +02:00
Richard Palethorpe 2facfc0d88 feat: Add kimodo.cpp and 3D animation API/UI (#12095)
* fix(vulkan): preserve host ICD discovery for packaged backends

Add bundled Mesa manifests through VK_ADD_DRIVER_FILES instead of replacing the system driver list. Merge inherited and model-specific additive paths while preserving explicit operator overrides, with regression coverage.

Assisted-by: Codex:gpt-5 golangci-lint

Assisted-by: Codex:gpt-5.6-sol
Signed-off-by: Richard Palethorpe <io@richiejp.com>

* feat(3d): add Kimodo CPU and Vulkan animation backend

Introduce a distinct animation capability and model-described 3D operations, with a typed /3d/animate API, RPC transport, distributed media staging, permissions, and tracing.

Add a persistent kimodo.cpp adapter, skeleton GLB export, CPU/Vulkan packages, model and backend galleries, importer support, CI builds, and documentation. Adapt Studio inputs to each model and provide real-time skeleton playback, seeking, and history.

Cover backend validation, packaging, API behavior, importer inventories, distributed staging, and Studio workflows. Validate real-model CPU/Vulkan generation and deploy the integration to the local QA instance.

Assisted-by: Codex:gpt-5 golangci-lint

Assisted-by: Codex:gpt-5.6-sol
Signed-off-by: Richard Palethorpe <io@richiejp.com>

* feat(kimodocpp): adopt monolithic encoders and resident inference

Update upstream for resident weights, packed execution paths, and cached motion graphs. Default to all 32 text layers while retaining configurable streaming and legacy bundle support.

Use monolithic Q8_0 encoders by default and offer all six published quantizations through the gallery and importer. Refresh pinned hashes, tests, and documentation; remove the obsolete thread patch and ensure cached source checkouts follow the upstream pin.

Validated CPU and Vulkan generation, lower-bit streaming, gallery/importer suites, packaging, lint, and cold/warm Studio generation on localai-dev.

Assisted-by: Codex:gpt-5 golangci-lint

Assisted-by: Codex:gpt-5.6-sol
Signed-off-by: Richard Palethorpe <io@richiejp.com>

---------

Signed-off-by: Richard Palethorpe <io@richiejp.com>
2026-09-18 06:12:03 +01:00
localai-org-maint-botandmudler 7ad0cbf259 chore: ⬆️ Update CrispStrobe/CrispASR to ba3499e7c7f6013a73738cad530b252d59675f49 (#12092)
⬆️ 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>
v4.10.0
2026-09-17 08:10:52 +02:00
localai-org-maint-botandmudler 1be130880c chore: ⬆️ Update antirez/ds4 to 8db1d1d155cb0400a86a86b9c62d0defb3a6148b (#12093)
⬆️ 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-17 08:10:41 +02:00
localai-org-maint-botandmudler 43e89ae552 chore: ⬆️ Update PrismML-Eng/llama.cpp to 7dffb158de30ebb8ef9d64f33c6b0b2d7c1e6313 (#12072)
⬆️ 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-16 19:39:48 +02:00
localai-org-maint-botandmudler 456a77e155 chore: ⬆️ Update ggml-org/llama.cpp to 38a5b42d9a3e82e0a586bcd1caed121f36c87a73 (#12075)
⬆️ 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-16 19:39:32 +02:00
localai-org-maint-botandEttore Di Giacinto 60679e5de6 [vllm-cpp] wire lora_adapters/lora_scales into DiT load-time fusion (#12082)
feat(vllm-cpp): wire lora_adapters/lora_scales into DiT load-time fusion

The vllm-cpp video backend now converts the standard LocalAI
lora_adapters/lora_scales config fields into indexed lora_path/
lora_strength extras pairs that vllm.cpp's ResolveDitLoraSpecs
consumes (row ROAD-V1-DIT-LORA).

The singular lora_adapter/lora_scale fields are folded in as the
first adapter. Relative paths resolve against the model directory.
Strength defaults to 1.0 when no scale is given. Adapters are fused
into DiT weights at load, so they are always loaded — no per-request
activation in this path.

Six unit tests cover the buildLoraExtras helper.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:regolo/glm5.2 [TOOL]

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-16 19:39:16 +02:00