mirror of
https://github.com/mudler/LocalAI.git
synced 2026-09-12 14:22:11 -04:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47a94ffbe1 |
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();
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -23,6 +23,17 @@ GPT and text generation models might have a license which is not permissive for
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in new issue
Block a user