mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2025-09-10 17:14:36 +00:00
add missing title, set max tts length to 1024, updated lite (+2 squashed commit)
Squashed commit: [0737a028
] add missing title [a42328b0
] add max tts length 1024
This commit is contained in:
parent
bcaf379509
commit
685129fb5a
4 changed files with 27 additions and 9 deletions
21
klite.embd
21
klite.embd
|
@ -6021,8 +6021,8 @@ Current version indicated by LITEVER below.
|
||||||
};
|
};
|
||||||
const replaceLatex = (input) =>{
|
const replaceLatex = (input) =>{
|
||||||
//all latex patterns except inline tex
|
//all latex patterns except inline tex
|
||||||
input = input.replace(/(^```math\n([\s\S]*?)\n```$|^ {0,6}\\\[\n([\s\S]*?)\n {0,6}\\\]$|^\$\$\n([\s\S]*?)\n\$\$$|\$\$([^\n]+?)\$\$|\\\(([^\n]+?)\\\)|\\\[([^\n]+?)\\\])/gm, (match, p1, p2, p3, p4, p5, p6, p7) => {
|
input = input.replace(/(^```math\n([\s\S]*?)\n```$|^ {0,6}\\\[\n([\s\S]*?)\n {0,6}\\\]$|^\$\$\n([\s\S]*?)\n\$\$$|^ {2}\$\$\n {2}([\s\S]*?)\n {2}\$\$$|\$\$([^\n]+?)\$\$|\\\(([^\n]+?)\\\)|\\\[([^\n]+?)\\\])/gm, (match, p1, p2, p3, p4, p5, p6, p7, p8) => {
|
||||||
let content = p2 || p3 || p4 || p5 || p6 || p7;
|
let content = p2 || p3 || p4 || p5 || p6 || p7 || p8;
|
||||||
const matchedlw = match.match(/^[ \t]*/);
|
const matchedlw = match.match(/^[ \t]*/);
|
||||||
const leadingWhitespace = matchedlw ? matchedlw[0] : '';
|
const leadingWhitespace = matchedlw ? matchedlw[0] : '';
|
||||||
content = unescape_html(content);
|
content = unescape_html(content);
|
||||||
|
@ -6032,23 +6032,32 @@ Current version indicated by LITEVER below.
|
||||||
}
|
}
|
||||||
return leadingWhitespace + temml.renderToString(content); // render LaTeX content
|
return leadingWhitespace + temml.renderToString(content); // render LaTeX content
|
||||||
});
|
});
|
||||||
input = input.replace(/(?:^|[^\\])\$(\S[^$\n]*?\S)\$(?!\d)/g, (match, p1) => {
|
input = input.replace(/(^|[^\\])\$(\S[^$\n]*?\S)\$(?!\d)/g, (match, prefix, p1) => {
|
||||||
let content = p1;
|
let content = p1;
|
||||||
content = unescape_html(content);
|
content = unescape_html(content);
|
||||||
if(content.replace(/\s+/g, '').match(/^\${1,}$/)) //only dollar signs, just return
|
if(content.replace(/\s+/g, '').match(/^\${1,}$/)) //only dollar signs, just return
|
||||||
{
|
{
|
||||||
return match;
|
return match;
|
||||||
}
|
}
|
||||||
return " "+temml.renderToString(content); // render LaTeX content
|
return prefix+temml.renderToString(content); // render LaTeX content
|
||||||
});
|
});
|
||||||
input = input.replace(/(?:^|[^\\])\$ (\S[^$\n$]*?\S) \$(?!\d)/g, (match, p1) => { //special version that handles a single space on both sides
|
input = input.replace(/(^|[^\\])\$([A-Za-z0-9])\$(?!\d)/g, (match, prefix, p1) => { //single letter or number
|
||||||
let content = p1;
|
let content = p1;
|
||||||
content = unescape_html(content);
|
content = unescape_html(content);
|
||||||
if(content.replace(/\s+/g, '').match(/^\${1,}$/)) //only dollar signs, just return
|
if(content.replace(/\s+/g, '').match(/^\${1,}$/)) //only dollar signs, just return
|
||||||
{
|
{
|
||||||
return match;
|
return match;
|
||||||
}
|
}
|
||||||
return " "+temml.renderToString(content); // render LaTeX content
|
return prefix+temml.renderToString(content); // render LaTeX content
|
||||||
|
});
|
||||||
|
input = input.replace(/(^|[^\\])\$ (\S[^$\n]*?) \$(?!\d)/g, (match, prefix, p1) => { //special version that handles a single space on both sides
|
||||||
|
let content = p1;
|
||||||
|
content = unescape_html(content);
|
||||||
|
if(content.replace(/\s+/g, '').match(/^\${1,}$/)) //only dollar signs, just return
|
||||||
|
{
|
||||||
|
return match;
|
||||||
|
}
|
||||||
|
return prefix+temml.renderToString(content); // render LaTeX content
|
||||||
});
|
});
|
||||||
input = input.replace(/(^\\begin\{math\}\n([\s\S]*?)\n\\end\{math\}$|^\\begin\{equation\}\n([\s\S]*?)\n\\end\{equation\}$)/gm, (match, p1, p2, p3) => { //match math eqns
|
input = input.replace(/(^\\begin\{math\}\n([\s\S]*?)\n\\end\{math\}$|^\\begin\{equation\}\n([\s\S]*?)\n\\end\{equation\}$)/gm, (match, p1, p2, p3) => { //match math eqns
|
||||||
let content = p2 || p3;
|
let content = p2 || p3;
|
||||||
|
|
|
@ -5835,7 +5835,7 @@ def show_gui():
|
||||||
export_vars()
|
export_vars()
|
||||||
savdict = json.loads(json.dumps(args.__dict__))
|
savdict = json.loads(json.dumps(args.__dict__))
|
||||||
file_type = [("KoboldCpp Settings", "*.kcpps")]
|
file_type = [("KoboldCpp Settings", "*.kcpps")]
|
||||||
filename = zentk_asksaveasfilename(filetypes=file_type, defaultextension=".kcpps")
|
filename = zentk_asksaveasfilename(filetypes=file_type, defaultextension=".kcpps",title="Save kcpps settings config file")
|
||||||
if not filename:
|
if not filename:
|
||||||
return
|
return
|
||||||
filenamestr = str(filename).strip()
|
filenamestr = str(filename).strip()
|
||||||
|
|
|
@ -557,7 +557,7 @@ bool ttstype_load_model(const tts_load_model_inputs inputs)
|
||||||
|
|
||||||
// tts init
|
// tts init
|
||||||
if (is_ttscpp_file) {
|
if (is_ttscpp_file) {
|
||||||
ttscpp_config = new generation_configuration("am_adam", 50, 1.0, 1.0, true, "", 0, 1.0);
|
ttscpp_config = new generation_configuration("am_adam", 50, 1.0, 1.0, true, "", 1024, 1.0);
|
||||||
ttscpp_runner = runner_from_file(modelfile_ttc, inputs.threads, ttscpp_config, true);
|
ttscpp_runner = runner_from_file(modelfile_ttc, inputs.threads, ttscpp_config, true);
|
||||||
if (ttscpp_runner == nullptr) {
|
if (ttscpp_runner == nullptr) {
|
||||||
printf("\nTTS Load Error: Failed to initialize TTSCPP!\n");
|
printf("\nTTS Load Error: Failed to initialize TTSCPP!\n");
|
||||||
|
@ -681,12 +681,16 @@ static tts_generation_outputs ttstype_generate_ttscpp(const tts_generation_input
|
||||||
}
|
}
|
||||||
ttscpp_config->voice = voiceused;
|
ttscpp_config->voice = voiceused;
|
||||||
|
|
||||||
|
if(!tts_is_quiet)
|
||||||
|
{
|
||||||
|
printf("\nTTS Generating...");
|
||||||
|
}
|
||||||
tts_response response_data;
|
tts_response response_data;
|
||||||
int errorres = generate(ttscpp_runner, prompt, &response_data, ttscpp_config);
|
int errorres = generate(ttscpp_runner, prompt, &response_data, ttscpp_config);
|
||||||
if(errorres==0)
|
if(errorres==0)
|
||||||
{
|
{
|
||||||
ttstime = timer_check();
|
ttstime = timer_check();
|
||||||
printf("\nTTS Generated %d audio in %.2fs.\n",ttstime);
|
printf("\nTTS Generated audio in %.2fs.\n",ttstime);
|
||||||
std::vector<float> wavdat = std::vector(response_data.data, response_data.data + response_data.n_outputs);
|
std::vector<float> wavdat = std::vector(response_data.data, response_data.data + response_data.n_outputs);
|
||||||
last_generated_audio = save_wav16_base64(wavdat, ttscpp_runner->sampling_rate);
|
last_generated_audio = save_wav16_base64(wavdat, ttscpp_runner->sampling_rate);
|
||||||
output.data = last_generated_audio.c_str();
|
output.data = last_generated_audio.c_str();
|
||||||
|
|
|
@ -2,6 +2,11 @@
|
||||||
|
|
||||||
void dia_model::assign_weight(std::string name, struct ggml_tensor * tensor) {
|
void dia_model::assign_weight(std::string name, struct ggml_tensor * tensor) {
|
||||||
std::vector<std::string> parts = split(name, ".");
|
std::vector<std::string> parts = split(name, ".");
|
||||||
|
// GGML_LOG("\nassign_weight %s\n",name.c_str());
|
||||||
|
if(name=="GGUF tensor data binary blob") //patch for gguf, idk why this tensor exists
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
TTS_ASSERT(parts.size() >= 3);
|
TTS_ASSERT(parts.size() >= 3);
|
||||||
|
|
||||||
if (parts[1] == "encoder") {
|
if (parts[1] == "encoder") {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue