From 94b54e009ac17f8faf53615316e92df18b3bb14a Mon Sep 17 00:00:00 2001 From: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com> Date: Thu, 22 Oct 2026 16:07:06 +0000 Subject: [PATCH 1/2] feat(gallery): add LFM Turbo Brilliance variants Add IQ4_XS and Q8_0 MAX builds with pinned downloads and linked variants. Use the embedded chat template and document installation. Assisted-by: Codex:gpt-6 --- docs/content/features/model-gallery.md | 24 ++++++ gallery/index.yaml | 84 +++++++++++++++++++++ gallery/models/index.yaml | 100 +++++++++++++++++++++++++ 3 files changed, 208 insertions(+) diff --git a/docs/content/features/model-gallery.md b/docs/content/features/model-gallery.md index 56dde2118220..438d0d463475 100644 --- a/docs/content/features/model-gallery.md +++ b/docs/content/features/model-gallery.md @@ -1112,3 +1112,27 @@ is still running is reported as queued until the installer picks it up: A job ID is queryable from the moment `/models/apply` returns it, so a `404`/`500` from this endpoint means the ID is genuinely unknown rather than merely waiting its turn. + +## LFM2.5 Turbo Brilliance + +The gallery includes DavidAU's LFM2.5-24B-A2B Turbo Brilliance build for +text chat and reasoning through llama.cpp. The IQ4_XS entry links to a +Q8_0 MAX variant. Both use the embedded Turbo Brilliance chat template. + +Install with automatic variant selection: + +```bash +local-ai models install lfm2.5-24b-a2b-turbo-brilliance-iq4-xs +``` + +Select Q8_0 MAX explicitly: + +```bash +local-ai models install lfm2.5-24b-a2b-turbo-brilliance-iq4-xs --variant lfm2.5-24b-a2b-turbo-brilliance-q8 +``` + +Both entries default to a 32,768-token context, temperature 0.1, top-k 50, +and repetition penalty 1.05. The weights support up to 131,072 tokens; +increase `context_size` in the installed configuration if needed. +See the [publisher's model card](https://huggingface.co/DavidAU/LFM2.5-24B-A2B-Turbo-Brilliance-50X-NEO-MAX-Imatrix-GGUF) +for the template's prompt controls and Liquid's LFM license. diff --git a/gallery/index.yaml b/gallery/index.yaml index 981cc3563d0d..e60558865be4 100644 --- a/gallery/index.yaml +++ b/gallery/index.yaml @@ -3,6 +3,90 @@ # written by scripts/models/cmd/modelcatalog and stays only so releases before # the cutover keep working. CI fails when it differs from the generated copy: # go run ./scripts/models/cmd/modelcatalog --library gallery/models/index.yaml --out gallery/index.yaml +- url: github:mudler/LocalAI/gallery/virtual.yaml@master + name: lfm2.5-24b-a2b-turbo-brilliance-iq4-xs + description: | + DavidAU's Turbo Brilliance build of LFM2.5-24B-A2B, a text-only reasoning + model with 24B total parameters and 2.45B active parameters. This entry + uses the IQ4_XS GGUF quantization and the embedded Turbo Brilliance + chat template for multilingual chat and tool use. + license: other + urls: + - https://huggingface.co/LiquidAI/LFM2.5-24B-A2B + - https://huggingface.co/DavidAU/LFM2.5-24B-A2B-Turbo-Brilliance-50X-NEO-MAX-Imatrix-GGUF + icon: https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/2b08LKpev0DNEk6DlnWkY.png + tags: + - llm + - gguf + - reasoning + - cpu + - gpu + files: + - filename: llama-cpp/models/lfm2.5-24b-a2b-turbo-brilliance/LFM2.5-24B-A2B-TBrill-NEO-IQ4_XS.gguf + sha256: a1562db04b263e5406ac8412e07be6ea92941ea653653e9f678ab13f430e59b1 + uri: https://huggingface.co/DavidAU/LFM2.5-24B-A2B-Turbo-Brilliance-50X-NEO-MAX-Imatrix-GGUF/resolve/69107daec71f075c94d7d84929b4a0222d1b8446/LFM2.5-24B-A2B-TBrill-NEO-IQ4_XS.gguf + overrides: + backend: llama-cpp + context_size: 32768 + function: + automatic_tool_parsing_fallback: true + grammar: + disable: true + known_usecases: + - chat + - completion + options: + - use_jinja:true + parameters: + model: llama-cpp/models/lfm2.5-24b-a2b-turbo-brilliance/LFM2.5-24B-A2B-TBrill-NEO-IQ4_XS.gguf + repeat_penalty: 1.05 + temperature: 0.1 + top_k: 50 + template: + use_tokenizer_template: true + variants: + - model: lfm2.5-24b-a2b-turbo-brilliance-q8 +- url: github:mudler/LocalAI/gallery/virtual.yaml@master + name: lfm2.5-24b-a2b-turbo-brilliance-q8 + description: | + DavidAU's Turbo Brilliance build of LFM2.5-24B-A2B, a text-only reasoning + model with 24B total parameters and 2.45B active parameters. This entry + uses the Q8_0 MAX GGUF quantization and the embedded Turbo Brilliance + chat template for multilingual chat and tool use. + license: other + urls: + - https://huggingface.co/LiquidAI/LFM2.5-24B-A2B + - https://huggingface.co/DavidAU/LFM2.5-24B-A2B-Turbo-Brilliance-50X-NEO-MAX-Imatrix-GGUF + icon: https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/2b08LKpev0DNEk6DlnWkY.png + tags: + - llm + - gguf + - reasoning + - cpu + - gpu + files: + - filename: llama-cpp/models/lfm2.5-24b-a2b-turbo-brilliance/LFM2.5-24B-A2B-TBrill-MAX-NEO-Q8_0.gguf + sha256: 17de10d567a0678dc6050445ecef3007ee1bf50df8d94a73d558d4133ad8aa4e + uri: https://huggingface.co/DavidAU/LFM2.5-24B-A2B-Turbo-Brilliance-50X-NEO-MAX-Imatrix-GGUF/resolve/69107daec71f075c94d7d84929b4a0222d1b8446/LFM2.5-24B-A2B-TBrill-MAX-NEO-Q8_0.gguf + overrides: + backend: llama-cpp + context_size: 32768 + function: + automatic_tool_parsing_fallback: true + grammar: + disable: true + known_usecases: + - chat + - completion + options: + - use_jinja:true + parameters: + model: llama-cpp/models/lfm2.5-24b-a2b-turbo-brilliance/LFM2.5-24B-A2B-TBrill-MAX-NEO-Q8_0.gguf + repeat_penalty: 1.05 + temperature: 0.1 + top_k: 50 + template: + use_tokenizer_template: true - url: github:mudler/LocalAI/gallery/virtual.yaml@master name: adavar-3b-q4 description: | diff --git a/gallery/models/index.yaml b/gallery/models/index.yaml index da124ab3a6ca..28cf84acc2c3 100644 --- a/gallery/models/index.yaml +++ b/gallery/models/index.yaml @@ -4,6 +4,106 @@ # changes and never edit it by hand. CI fails when it is stale. A build from # master reads it as the default model source; a tagged build reads the gallery # until the release cutover. +- kind: model + id: lfm2.5-24b-a2b-turbo-brilliance-iq4-xs + name: lfm2.5-24b-a2b-turbo-brilliance-iq4-xs + version: 0.0.0-gallery.285918856e35 + description: | + DavidAU's Turbo Brilliance build of LFM2.5-24B-A2B, a text-only reasoning + model with 24B total parameters and 2.45B active parameters. This entry + uses the IQ4_XS GGUF quantization and the embedded Turbo Brilliance + chat template for multilingual chat and tool use. + license: other + urls: + - https://huggingface.co/LiquidAI/LFM2.5-24B-A2B + - https://huggingface.co/DavidAU/LFM2.5-24B-A2B-Turbo-Brilliance-50X-NEO-MAX-Imatrix-GGUF + tags: + - llm + - gguf + - reasoning + - cpu + - gpu + icon: https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/2b08LKpev0DNEk6DlnWkY.png + channel: gallery + policy: + requireSignature: false + schemaVersion: 1 + model: + url: github:mudler/LocalAI/gallery/virtual.yaml@master + files: + - filename: llama-cpp/models/lfm2.5-24b-a2b-turbo-brilliance/LFM2.5-24B-A2B-TBrill-NEO-IQ4_XS.gguf + sha256: a1562db04b263e5406ac8412e07be6ea92941ea653653e9f678ab13f430e59b1 + uri: https://huggingface.co/DavidAU/LFM2.5-24B-A2B-Turbo-Brilliance-50X-NEO-MAX-Imatrix-GGUF/resolve/69107daec71f075c94d7d84929b4a0222d1b8446/LFM2.5-24B-A2B-TBrill-NEO-IQ4_XS.gguf + overrides: + backend: llama-cpp + context_size: 32768 + function: + automatic_tool_parsing_fallback: true + grammar: + disable: true + known_usecases: + - chat + - completion + options: + - use_jinja:true + parameters: + model: llama-cpp/models/lfm2.5-24b-a2b-turbo-brilliance/LFM2.5-24B-A2B-TBrill-NEO-IQ4_XS.gguf + repeat_penalty: 1.05 + temperature: 0.1 + top_k: 50 + template: + use_tokenizer_template: true + variants: + - model: lfm2.5-24b-a2b-turbo-brilliance-q8 +- kind: model + id: lfm2.5-24b-a2b-turbo-brilliance-q8 + name: lfm2.5-24b-a2b-turbo-brilliance-q8 + version: 0.0.0-gallery.401e9a9ccabf + description: | + DavidAU's Turbo Brilliance build of LFM2.5-24B-A2B, a text-only reasoning + model with 24B total parameters and 2.45B active parameters. This entry + uses the Q8_0 MAX GGUF quantization and the embedded Turbo Brilliance + chat template for multilingual chat and tool use. + license: other + urls: + - https://huggingface.co/LiquidAI/LFM2.5-24B-A2B + - https://huggingface.co/DavidAU/LFM2.5-24B-A2B-Turbo-Brilliance-50X-NEO-MAX-Imatrix-GGUF + tags: + - llm + - gguf + - reasoning + - cpu + - gpu + icon: https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/2b08LKpev0DNEk6DlnWkY.png + channel: gallery + policy: + requireSignature: false + schemaVersion: 1 + model: + url: github:mudler/LocalAI/gallery/virtual.yaml@master + files: + - filename: llama-cpp/models/lfm2.5-24b-a2b-turbo-brilliance/LFM2.5-24B-A2B-TBrill-MAX-NEO-Q8_0.gguf + sha256: 17de10d567a0678dc6050445ecef3007ee1bf50df8d94a73d558d4133ad8aa4e + uri: https://huggingface.co/DavidAU/LFM2.5-24B-A2B-Turbo-Brilliance-50X-NEO-MAX-Imatrix-GGUF/resolve/69107daec71f075c94d7d84929b4a0222d1b8446/LFM2.5-24B-A2B-TBrill-MAX-NEO-Q8_0.gguf + overrides: + backend: llama-cpp + context_size: 32768 + function: + automatic_tool_parsing_fallback: true + grammar: + disable: true + known_usecases: + - chat + - completion + options: + - use_jinja:true + parameters: + model: llama-cpp/models/lfm2.5-24b-a2b-turbo-brilliance/LFM2.5-24B-A2B-TBrill-MAX-NEO-Q8_0.gguf + repeat_penalty: 1.05 + temperature: 0.1 + top_k: 50 + template: + use_tokenizer_template: true - kind: model id: adavar-3b-q4 name: adavar-3b-q4 From a320f69ddc84fcf6a66a749ed133dbfd9acbb4f6 Mon Sep 17 00:00:00 2001 From: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com> Date: Fri, 23 Oct 2026 10:04:43 +0000 Subject: [PATCH 2/2] fix(mcp): update assistant test client stub Implement InstallLibraryBackend so the assistant tests satisfy the LocalAIClient interface after the library integration. Assisted-by: Codex:GPT-6 --- core/http/endpoints/mcp/localai_assistant_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/http/endpoints/mcp/localai_assistant_test.go b/core/http/endpoints/mcp/localai_assistant_test.go index 3e539ce7d4bd..5778f992d655 100644 --- a/core/http/endpoints/mcp/localai_assistant_test.go +++ b/core/http/endpoints/mcp/localai_assistant_test.go @@ -75,6 +75,10 @@ func (stubClient) InstallBackend(_ context.Context, _ localaitools.InstallBacken return "stub-backend-job", nil } +func (stubClient) InstallLibraryBackend(_ context.Context, _ localaitools.InstallLibraryBackendRequest) (*localaitools.InstallLibraryBackendResult, error) { + return &localaitools.InstallLibraryBackendResult{Status: "installed", Name: "stub-backend", SourceID: "stub-source"}, nil +} + func (stubClient) UpgradeBackend(_ context.Context, _ string) (string, error) { return "stub-upgrade-job", nil }