Compare commits

..
Author SHA1 Message Date
localai-org-maint-bot 47a94ffbe1 fix(gallery): remove unsupported Instella-MoE models
Both GGUF entries select llama-cpp, whose pinned revision does not
recognize instella-moe. Remove the broken install options and document
why they are unavailable until LocalAI ships a compatible backend.

Refs #11681

Assisted-by: Codex:GPT-6
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2026-09-12 18:05:09 +00:00
5 changed files with 11 additions and 132 deletions

No files matched your search

@@ -135,13 +135,6 @@ build_tts_request(const backend::TTSRequest &request,
task.options["language"] = request.language();
}
// Saved voice profiles send ref_text; Fish Audio reads reference_text.
// Derive the alias before copying params so an explicit canonical key wins.
const auto reference_text = request.params().find("ref_text");
if (reference_text != request.params().end()) {
task.options["reference_text"] = reference_text->second;
}
// LAST, so an explicit params entry wins over anything derived above. That
// matters for "caption": a caller who sets params[caption] has named the
// exact string they want, and it must not be overwritten by `instructions`.
@@ -375,40 +375,6 @@ static void test_tts_language_and_params() {
"tts params: an explicit param overrides the derived caption");
}
static void test_tts_reference_transcript() {
backend::TTSRequest request;
request.set_text("New speech to generate.");
request.set_voice("reference.wav");
(*request.mutable_params())["ref_text"] = "The saved voice transcript.";
const auto task = build_tts_request(request, clip(24000, 1));
check(option_or(task.options, "reference_text", "") ==
"The saved voice transcript.",
"tts reference: saved transcript reaches Fish Audio's option");
check(option_or(task.options, "ref_text", "") ==
"The saved voice transcript.",
"tts reference: original transcript parameter is preserved");
check(task.text_input->text == "New speech to generate.",
"tts reference: transcript does not replace synthesis text");
(*request.mutable_params())["reference_text"] = "Explicit transcript.";
const auto explicit_task = build_tts_request(request, clip(24000, 1));
check(option_or(explicit_task.options, "reference_text", "") ==
"Explicit transcript.",
"tts reference: explicit canonical parameter wins over alias");
(*request.mutable_params())["reference_text"] = "";
const auto empty_task = build_tts_request(request, clip(24000, 1));
check(has_key(empty_task.options, "reference_text") &&
empty_task.options.at("reference_text").empty(),
"tts reference: explicit empty canonical parameter is preserved");
request.mutable_params()->clear();
const auto missing_task = build_tts_request(request, clip(24000, 1));
check(!has_key(missing_task.options, "reference_text"),
"tts reference: no transcript is invented when none was supplied");
}
static void test_sound_generation_minimal() {
backend::SoundGenerationRequest request;
request.set_text("a distant thunderstorm");
@@ -596,7 +562,6 @@ int main() {
test_tts_empty_language_is_not_a_language();
test_tts_clip_and_instructions();
test_tts_language_and_params();
test_tts_reference_transcript();
test_sound_generation_minimal();
test_sound_generation_full();
test_transform_text_absent();
-6
View File
@@ -217,12 +217,6 @@ voice conversion from the same weights.
## Family notes
- **Fish Audio voice cloning**: save a reference clip with its transcript in the
Voice Library, then select **Use in Text to Speech**. The backend accepts
`params.ref_text` as an alias for `params.reference_text` in both ordinary and
streaming speech requests. If you supply both parameters, `reference_text`
takes precedence. For direct requests with a reference file in `voice`, supply
its transcript in one of these parameters.
- **Supertonic**: use the `orig` GGUF package, whose weights are f32. The f16 package was
observed to reach `ggml_concat` with mismatched operand types and take the backend
process down with `SIGABRT` on the first request, rather than returning an error.
+11
View File
@@ -23,6 +23,17 @@ GPT and text generation models might have a license which is not permissive for
![output](https://github.com/mudler/LocalAI/assets/2420543/7b16676e-d5b1-4c97-89bd-9fa5065c21ad)
## Instella-MoE availability
The gallery excludes `instella-moe-16b-a3b-think` and
`instella-moe-16b-a3b-think-q8` because the packaged llama.cpp backend does not
support their `instella-moe` architecture. Loading these GGUF files fails with
`unknown model architecture: 'instella-moe'`.
The entries can return after LocalAI ships a compatible backend. See
[the compatibility issue](https://github.com/mudler/LocalAI/issues/11681) and
[upstream llama.cpp support](https://github.com/ggml-org/llama.cpp/pull/26467).
## Useful Links and resources
- [Open LLM Leaderboard](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard) - here you can find a list of the most performing models on the Open LLM benchmark. Keep in mind models compatible with LocalAI must be quantized in the `gguf` format.
-84
View File
@@ -6133,90 +6133,6 @@
- filename: llama-cpp/models/DeepSeek-V4-Pro-0813-UD-Q4_K_XL/DeepSeek-V4-Pro-0813-UD-Q4_K_XL-00020-of-00020.gguf
uri: huggingface://unsloth/DeepSeek-V4-Pro-0813-GGUF/UD-Q4_K_XL/DeepSeek-V4-Pro-0813-UD-Q4_K_XL-00020-of-00020.gguf
sha256: 5978999836fd1fe7ad7da6232a70981bd7f98274ed71d3b06652ba42c7b46031
- name: instella-moe-16b-a3b-think
url: github:mudler/LocalAI/gallery/virtual.yaml@master
urls:
- https://huggingface.co/amd/Instella-MoE-16B-A3B-Think
- https://huggingface.co/DevQuasar/amd.Instella-MoE-16B-A3B-Think-GGUF
description: |
AMD Instella-MoE-16B-A3B-Think is a reasoning and instruction-following
mixture-of-experts model with 16 billion total parameters and 3 billion
active parameters. It supports long-form reasoning, chat, coding, and tool
use. This entry uses the Q4_K_M GGUF quantization.
license: other
tags:
- llm
- gguf
- deepseek-v3
- moe
- reasoning
- thinking
- coding
- tool-use
- cpu
- gpu
last_checked: "2026-08-03"
variants:
- model: instella-moe-16b-a3b-think-q8
overrides:
backend: llama-cpp
function:
automatic_tool_parsing_fallback: true
grammar:
disable: true
known_usecases:
- chat
options:
- use_jinja:true
parameters:
model: amd.Instella-MoE-16B-A3B-Think.f16.gguf.Q4_K_M.gguf
template:
use_tokenizer_template: true
files:
- filename: amd.Instella-MoE-16B-A3B-Think.f16.gguf.Q4_K_M.gguf
sha256: f776ddfee5dc6c808265c3f0a9c1b384c98058bfa551fe5df656fe712eb4c7f3
uri: huggingface://DevQuasar/amd.Instella-MoE-16B-A3B-Think-GGUF/Q4_K_M/amd.Instella-MoE-16B-A3B-Think.f16.gguf.Q4_K_M.gguf
- name: instella-moe-16b-a3b-think-q8
url: github:mudler/LocalAI/gallery/virtual.yaml@master
urls:
- https://huggingface.co/amd/Instella-MoE-16B-A3B-Think
- https://huggingface.co/DevQuasar/amd.Instella-MoE-16B-A3B-Think-GGUF
description: |
AMD Instella-MoE-16B-A3B-Think is a reasoning and instruction-following
mixture-of-experts model with 16 billion total parameters and 3 billion
active parameters. It supports long-form reasoning, chat, coding, and tool
use. This entry uses the near-lossless Q8_0 GGUF quantization.
license: other
tags:
- llm
- gguf
- deepseek-v3
- moe
- reasoning
- thinking
- coding
- tool-use
- cpu
- gpu
last_checked: "2026-08-03"
overrides:
backend: llama-cpp
function:
automatic_tool_parsing_fallback: true
grammar:
disable: true
known_usecases:
- chat
options:
- use_jinja:true
parameters:
model: amd.Instella-MoE-16B-A3B-Think.f16.gguf.Q8_0.gguf
template:
use_tokenizer_template: true
files:
- filename: amd.Instella-MoE-16B-A3B-Think.f16.gguf.Q8_0.gguf
sha256: 6bff0a99d06be8ecf7d9c7f65584bfc2b24526ab0bab32dbfe7dde4237cd7c33
uri: huggingface://DevQuasar/amd.Instella-MoE-16B-A3B-Think-GGUF/Q8_0/amd.Instella-MoE-16B-A3B-Think.f16.gguf.Q8_0.gguf
- name: "parable-granite-4.1-3b-claude-fable-5"
url: "github:mudler/LocalAI/gallery/virtual.yaml@master"
urls: