mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Fix horde for GUI preset mode
This commit is contained in:
@@ -751,7 +751,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</h4>
|
</h4>
|
||||||
<select id="horde_model">
|
<select id="horde_model">
|
||||||
<option>-- Not connected to Horde --</option>
|
<option>-- Horde models not loaded --</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div id="online_status2">
|
<div id="online_status2">
|
||||||
|
@@ -72,6 +72,7 @@ import {
|
|||||||
loadHordeSettings,
|
loadHordeSettings,
|
||||||
generateHorde,
|
generateHorde,
|
||||||
checkHordeStatus,
|
checkHordeStatus,
|
||||||
|
getHordeModels,
|
||||||
adjustHordeGenerationParams,
|
adjustHordeGenerationParams,
|
||||||
} from "./scripts/horde.js";
|
} from "./scripts/horde.js";
|
||||||
|
|
||||||
@@ -1115,6 +1116,11 @@ async function Generate(type, automatic_trigger, force_name2) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isHordeGenerationNotAllowed()) {
|
||||||
|
is_send_press = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (selected_group && !is_group_generating) {
|
if (selected_group && !is_group_generating) {
|
||||||
generateGroupWrapper(false, type = type);
|
generateGroupWrapper(false, type = type);
|
||||||
return;
|
return;
|
||||||
@@ -2194,6 +2200,7 @@ function changeMainAPI() {
|
|||||||
if (main_api == "kobold" && horde_settings.use_horde) {
|
if (main_api == "kobold" && horde_settings.use_horde) {
|
||||||
is_get_status = true;
|
is_get_status = true;
|
||||||
getStatus();
|
getStatus();
|
||||||
|
getHordeModels();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2278,27 +2285,6 @@ async function getSettings(type) {
|
|||||||
changeMainAPI();
|
changeMainAPI();
|
||||||
}
|
}
|
||||||
|
|
||||||
novelai_setting_names = data.novelai_setting_names;
|
|
||||||
novelai_settings = data.novelai_settings;
|
|
||||||
novelai_settings.forEach(function (item, i, arr) {
|
|
||||||
novelai_settings[i] = JSON.parse(item);
|
|
||||||
});
|
|
||||||
let arr_holder = {};
|
|
||||||
|
|
||||||
$("#settings_perset_novel").empty();
|
|
||||||
|
|
||||||
novelai_setting_names.forEach(function (item, i, arr) {
|
|
||||||
arr_holder[item] = i;
|
|
||||||
$("#settings_perset_novel").append(`<option value=${i}>${item}</option>`);
|
|
||||||
});
|
|
||||||
novelai_setting_names = {};
|
|
||||||
novelai_setting_names = arr_holder;
|
|
||||||
|
|
||||||
nai_settings.preset_settings_novel = settings.preset_settings_novel;
|
|
||||||
$(
|
|
||||||
`#settings_perset_novel option[value=${novelai_setting_names[nai_settings.preset_settings_novel]}]`
|
|
||||||
).attr("selected", "true");
|
|
||||||
|
|
||||||
//Load KoboldAI settings
|
//Load KoboldAI settings
|
||||||
koboldai_setting_names = data.koboldai_setting_names;
|
koboldai_setting_names = data.koboldai_setting_names;
|
||||||
koboldai_settings = data.koboldai_settings;
|
koboldai_settings = data.koboldai_settings;
|
||||||
@@ -2306,7 +2292,7 @@ async function getSettings(type) {
|
|||||||
koboldai_settings[i] = JSON.parse(item);
|
koboldai_settings[i] = JSON.parse(item);
|
||||||
});
|
});
|
||||||
|
|
||||||
arr_holder = {};
|
let arr_holder = {};
|
||||||
|
|
||||||
$("#settings_perset").empty(); //RossAscends: uncommented this to prevent settings selector from doubling preset list on refresh
|
$("#settings_perset").empty(); //RossAscends: uncommented this to prevent settings selector from doubling preset list on refresh
|
||||||
$("#settings_perset").append(
|
$("#settings_perset").append(
|
||||||
@@ -2322,6 +2308,39 @@ async function getSettings(type) {
|
|||||||
koboldai_setting_names = arr_holder;
|
koboldai_setting_names = arr_holder;
|
||||||
preset_settings = settings.preset_settings;
|
preset_settings = settings.preset_settings;
|
||||||
|
|
||||||
|
if (preset_settings == "gui") {
|
||||||
|
selectKoboldGuiPreset();
|
||||||
|
} else {
|
||||||
|
if (typeof koboldai_setting_names[preset_settings] !== "undefined") {
|
||||||
|
$(`#settings_perset option[value=${koboldai_setting_names[preset_settings]}]`)
|
||||||
|
.attr("selected", "true");
|
||||||
|
} else {
|
||||||
|
preset_settings = "gui";
|
||||||
|
selectKoboldGuiPreset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
novelai_setting_names = data.novelai_setting_names;
|
||||||
|
novelai_settings = data.novelai_settings;
|
||||||
|
novelai_settings.forEach(function (item, i, arr) {
|
||||||
|
novelai_settings[i] = JSON.parse(item);
|
||||||
|
});
|
||||||
|
arr_holder = {};
|
||||||
|
|
||||||
|
$("#settings_perset_novel").empty();
|
||||||
|
|
||||||
|
novelai_setting_names.forEach(function (item, i, arr) {
|
||||||
|
arr_holder[item] = i;
|
||||||
|
$("#settings_perset_novel").append(`<option value=${i}>${item}</option>`);
|
||||||
|
});
|
||||||
|
novelai_setting_names = {};
|
||||||
|
novelai_setting_names = arr_holder;
|
||||||
|
|
||||||
|
nai_settings.preset_settings_novel = settings.preset_settings_novel;
|
||||||
|
$(
|
||||||
|
`#settings_perset_novel option[value=${novelai_setting_names[nai_settings.preset_settings_novel]}]`
|
||||||
|
).attr("selected", "true");
|
||||||
|
|
||||||
//Load AI model config settings (temp, context length, anchors, and anchor order)
|
//Load AI model config settings (temp, context length, anchors, and anchor order)
|
||||||
|
|
||||||
amount_gen = settings.amount_gen;
|
amount_gen = settings.amount_gen;
|
||||||
@@ -2378,21 +2397,6 @@ async function getSettings(type) {
|
|||||||
|
|
||||||
//Enable GUI deference settings if GUI is selected for Kobold
|
//Enable GUI deference settings if GUI is selected for Kobold
|
||||||
if (main_api === "kobold") {
|
if (main_api === "kobold") {
|
||||||
if (preset_settings == "gui") {
|
|
||||||
$("#settings_perset option[value=gui]")
|
|
||||||
.attr("selected", "true")
|
|
||||||
.trigger("change");
|
|
||||||
} else {
|
|
||||||
if (typeof koboldai_setting_names[preset_settings] !== "undefined") {
|
|
||||||
$(`#settings_perset option[value=${koboldai_setting_names[preset_settings]}]`)
|
|
||||||
.attr("selected", "true");
|
|
||||||
} else {
|
|
||||||
preset_settings = "gui";
|
|
||||||
$("#settings_perset option[value=gui]")
|
|
||||||
.attr("selected", "true")
|
|
||||||
.trigger("change");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Load User's Name and Avatar
|
//Load User's Name and Avatar
|
||||||
@@ -2450,6 +2454,12 @@ async function getSettings(type) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function selectKoboldGuiPreset() {
|
||||||
|
$("#settings_perset option[value=gui]")
|
||||||
|
.attr("selected", "true")
|
||||||
|
.trigger("change");
|
||||||
|
}
|
||||||
|
|
||||||
async function saveSettings(type) {
|
async function saveSettings(type) {
|
||||||
//console.log('Entering settings with name1 = '+name1);
|
//console.log('Entering settings with name1 = '+name1);
|
||||||
jQuery.ajax({
|
jQuery.ajax({
|
||||||
@@ -3062,6 +3072,15 @@ function sortCharactersList(field, order) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isHordeGenerationNotAllowed() {
|
||||||
|
if (main_api == "kobold" && horde_settings.use_horde && preset_settings == "gui") {
|
||||||
|
callPopup('GUI Settings preset is not supported for Horde. Please select another preset.', 'text');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
window["TavernAI"].getContext = function () {
|
window["TavernAI"].getContext = function () {
|
||||||
return {
|
return {
|
||||||
chat: chat,
|
chat: chat,
|
||||||
@@ -3111,6 +3130,10 @@ $(document).ready(function () {
|
|||||||
closeMessageEditor();
|
closeMessageEditor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isHordeGenerationNotAllowed()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const swipe_duration = 120;
|
const swipe_duration = 120;
|
||||||
const swipe_range = 700;
|
const swipe_range = 700;
|
||||||
//console.log(swipe_range);
|
//console.log(swipe_range);
|
||||||
|
@@ -7,6 +7,7 @@ export {
|
|||||||
checkHordeStatus,
|
checkHordeStatus,
|
||||||
loadHordeSettings,
|
loadHordeSettings,
|
||||||
adjustHordeGenerationParams,
|
adjustHordeGenerationParams,
|
||||||
|
getHordeModels,
|
||||||
}
|
}
|
||||||
|
|
||||||
let models = [];
|
let models = [];
|
||||||
@@ -154,6 +155,16 @@ async function getHordeModels() {
|
|||||||
option.selected = horde_settings.model === model.name;
|
option.selected = horde_settings.model === model.name;
|
||||||
$('#horde_model').append(option);
|
$('#horde_model').append(option);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if previously selected is no longer available
|
||||||
|
if (horde_settings.model && !models.find(m => m.name == horde_settings.model)) {
|
||||||
|
horde_settings.model = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// if no models preselected - select a first one in dropdown
|
||||||
|
if (!horde_settings.model) {
|
||||||
|
horde_settings.model = $('#horde_model').find(":selected").val();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadHordeSettings(settings) {
|
function loadHordeSettings(settings) {
|
||||||
@@ -182,9 +193,6 @@ $(document).ready(function () {
|
|||||||
// Trigger status check
|
// Trigger status check
|
||||||
changeMainAPI();
|
changeMainAPI();
|
||||||
saveSettingsDebounced();
|
saveSettingsDebounced();
|
||||||
if (main_api === 'kobold' && horde_settings.use_horde) {
|
|
||||||
await getHordeModels();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#horde_model").on("change", function () {
|
$("#horde_model").on("change", function () {
|
||||||
|
Reference in New Issue
Block a user