mirror of
https://github.com/KoboldAI/KoboldAI-Client.git
synced 2025-06-05 21:59:24 +02:00
Merge pull request #397 from ebolam/Model_Plugins
Fixes for model backend UI
This commit is contained in:
@@ -6293,9 +6293,9 @@ def UI_2_select_model(data):
|
||||
@logger.catch
|
||||
def UI_2_resubmit_model_info(data):
|
||||
valid_loaders = {}
|
||||
for model_backend in set([item.model_backend for sublist in model_menu for item in model_menu[sublist] if item.name == data['id']]):
|
||||
for model_backend in data['valid_backends']:
|
||||
valid_loaders[model_backend] = model_backends[model_backend].get_requested_parameters(data["name"], data["path"] if 'path' in data else None, data["menu"], parameters=data)
|
||||
emit("selected_model_info", {"model_backends": valid_loaders})
|
||||
emit("selected_model_info", {"model_backends": valid_loaders, 'selected_model_backend': data['plugin']})
|
||||
|
||||
#==================================================================#
|
||||
# Event triggered when user loads a model
|
||||
|
@@ -171,10 +171,10 @@ class InferenceModel:
|
||||
self.capabilties = ModelCapabilities()
|
||||
self.model_name = "Not Defined"
|
||||
|
||||
def is_valid(self, model_name, model_path, menu_path, vram):
|
||||
def is_valid(self, model_name, model_path, menu_path):
|
||||
return True
|
||||
|
||||
def requested_parameters(self, model_name, model_path, menu_path, vram):
|
||||
def requested_parameters(self, model_name, model_path, menu_path):
|
||||
return {}
|
||||
|
||||
def set_input_parameters(self, parameters):
|
||||
|
@@ -3977,6 +3977,12 @@ function show_model_menu(data) {
|
||||
|
||||
}
|
||||
|
||||
function getOptions(id){
|
||||
let selectElement = document.getElementById(id);
|
||||
let optionNames = [...selectElement.options].map(o => o.text);
|
||||
return optionNames;
|
||||
}
|
||||
|
||||
function model_settings_checker() {
|
||||
//get check value:
|
||||
missing_element = false;
|
||||
@@ -4028,6 +4034,8 @@ function model_settings_checker() {
|
||||
data = {...data, ...selected_model_data};
|
||||
|
||||
data['plugin'] = document.getElementById("modelplugin").value;
|
||||
data['valid_backends'] = getOptions("modelplugin");
|
||||
|
||||
|
||||
socket.emit("resubmit_model_info", data);
|
||||
}
|
||||
@@ -4101,6 +4109,10 @@ function model_settings_checker() {
|
||||
}
|
||||
}
|
||||
|
||||
function set_toggle(id) {
|
||||
$('#'+id).bootstrapToggle({size: "mini", onstyle: "success", toggle: "toggle"});
|
||||
}
|
||||
|
||||
function selected_model_info(sent_data) {
|
||||
const data = sent_data['model_backends'];
|
||||
//clear out the loadmodelsettings
|
||||
@@ -4188,6 +4200,7 @@ function selected_model_info(sent_data) {
|
||||
toggle.checked = item['default'];
|
||||
toggle.onclick = onchange_event;
|
||||
toggle.setAttribute("data_type", item['unit']);
|
||||
|
||||
toggle.setAttribute("refresh_model_inputs", item['refresh_model_inputs']);
|
||||
if ('check' in item) {
|
||||
toggle.check_data = item['check'];
|
||||
@@ -4195,9 +4208,7 @@ function selected_model_info(sent_data) {
|
||||
toggle.check_data = null;
|
||||
}
|
||||
new_setting.querySelector('#blank_model_settings_toggle').append(toggle);
|
||||
setTimeout(function() {
|
||||
$('#'+loader + "\\|" + item['id'] + "_value").bootstrapToggle({size: "mini", onstyle: "success", toggle: "toggle"});
|
||||
}, 200);
|
||||
setTimeout(set_toggle, 200, loader + "\\|" + item['id'] + "_value");
|
||||
toggle.noresubmit = true;
|
||||
toggle.onclick();
|
||||
toggle.noresubmit = false;
|
||||
@@ -4283,6 +4294,10 @@ function selected_model_info(sent_data) {
|
||||
}
|
||||
}
|
||||
|
||||
if ('selected_model_backend' in sent_data) {
|
||||
document.getElementById("modelplugin").value = sent_data['selected_model_backend'];
|
||||
}
|
||||
|
||||
//unhide the first plugin settings
|
||||
if (document.getElementById(document.getElementById("modelplugin").value + "_settings_area")) {
|
||||
document.getElementById(document.getElementById("modelplugin").value + "_settings_area").classList.remove("hidden");
|
||||
|
@@ -1651,6 +1651,12 @@ function show_model_menu(data) {
|
||||
|
||||
}
|
||||
|
||||
function getOptions(id){
|
||||
let selectElement = document.getElementById(id);
|
||||
let optionNames = [...selectElement.options].map(o => o.text);
|
||||
return optionNames;
|
||||
}
|
||||
|
||||
function model_settings_checker() {
|
||||
//get check value:
|
||||
missing_element = false;
|
||||
@@ -1702,6 +1708,7 @@ function model_settings_checker() {
|
||||
data = {...data, ...selected_model_data};
|
||||
|
||||
data['plugin'] = document.getElementById("modelplugin").value;
|
||||
data['valid_backends'] = getOptions("modelplugin");
|
||||
|
||||
socket.emit("resubmit_model_info", data);
|
||||
}
|
||||
@@ -1775,7 +1782,13 @@ function model_settings_checker() {
|
||||
}
|
||||
}
|
||||
|
||||
function set_toggle(id) {
|
||||
$('#'+id).bootstrapToggle({size: "mini", onstyle: "success", toggle: "toggle"});
|
||||
}
|
||||
|
||||
var temp;
|
||||
function selected_model_info(sent_data) {
|
||||
temp = sent_data;
|
||||
const data = sent_data['model_backends'];
|
||||
//clear out the loadmodelsettings
|
||||
var loadmodelsettings = document.getElementById('loadmodelsettings')
|
||||
@@ -1869,9 +1882,7 @@ function selected_model_info(sent_data) {
|
||||
toggle.check_data = null;
|
||||
}
|
||||
new_setting.querySelector('#blank_model_settings_toggle').append(toggle);
|
||||
setTimeout(function() {
|
||||
$('#'+loader + "\\|" + item['id'] + "_value").bootstrapToggle({size: "mini", onstyle: "success", toggle: "toggle"});
|
||||
}, 200);
|
||||
setTimeout(set_toggle, 200, loader + "\\|" + item['id'] + "_value");
|
||||
toggle.noresubmit = true;
|
||||
toggle.onclick();
|
||||
toggle.noresubmit = false;
|
||||
@@ -1957,6 +1968,10 @@ function selected_model_info(sent_data) {
|
||||
}
|
||||
}
|
||||
|
||||
if ('selected_model_backend' in sent_data) {
|
||||
document.getElementById("modelplugin").value = sent_data['selected_model_backend'];
|
||||
}
|
||||
|
||||
//unhide the first plugin settings
|
||||
if (document.getElementById(document.getElementById("modelplugin").value + "_settings_area")) {
|
||||
document.getElementById(document.getElementById("modelplugin").value + "_settings_area").classList.remove("hidden");
|
||||
|
Reference in New Issue
Block a user