mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Move novel settings to separate file
This commit is contained in:
@ -8,7 +8,7 @@ import {
|
||||
online_status,
|
||||
main_api,
|
||||
api_server,
|
||||
api_key_novel,
|
||||
nai_settings,
|
||||
is_send_press,
|
||||
|
||||
} from "../script.js";
|
||||
@ -204,7 +204,7 @@ function RA_checkOnlineStatus() {
|
||||
|
||||
function RA_autoconnect() {
|
||||
console.log(main_api);
|
||||
if (typeof online_status !== 'undefined' && (api_server !== '' || api_key_novel !== '')) {
|
||||
if (typeof online_status !== 'undefined' && (api_server !== '' || nai_settings.api_key_novel !== '')) {
|
||||
if (online_status === "no_connection" && LoadLocalBool('AutoConnectEnabled')) {
|
||||
if (isUrlOrAPIKey(api_server) && main_api === "kobold") {
|
||||
$("#api_button").click();
|
||||
|
108
public/scripts/nai-settings.js
Normal file
108
public/scripts/nai-settings.js
Normal file
@ -0,0 +1,108 @@
|
||||
import {
|
||||
saveSettingsDebounced,
|
||||
} from "../script.js";
|
||||
|
||||
export {
|
||||
nai_settings,
|
||||
loadNovelPreset,
|
||||
loadNovelSettings,
|
||||
getNovelTier,
|
||||
};
|
||||
|
||||
const nai_settings = {
|
||||
temp_novel: 0.5,
|
||||
rep_pen_novel: 1,
|
||||
rep_pen_size_novel: 100,
|
||||
model_novel: "euterpe-v2",
|
||||
api_key_novel: "",
|
||||
preset_settings_novel: "Classic-Euterpe",
|
||||
};
|
||||
|
||||
const nai_tiers = {
|
||||
0: 'Paper',
|
||||
1: 'Tablet',
|
||||
2: 'Scroll',
|
||||
3: 'Opus',
|
||||
};
|
||||
|
||||
function getNovelTier(tier) {
|
||||
return nai_tiers[tier] ?? 'no_connection';
|
||||
}
|
||||
|
||||
function loadNovelPreset(preset) {
|
||||
nai_settings.temp_novel = preset.temperature;
|
||||
nai_settings.rep_pen_novel = preset.repetition_penalty;
|
||||
nai_settings.rep_pen_size_novel = preset.repetition_penalty_range;
|
||||
$("#temp_novel").val(nai_settings.temp_novel);
|
||||
$("#temp_counter_novel").html(nai_settings.temp_novel);
|
||||
|
||||
$("#rep_pen_novel").val(nai_settings.rep_pen_novel);
|
||||
$("#rep_pen_counter_novel").html(nai_settings.rep_pen_novel);
|
||||
|
||||
$("#rep_pen_size_novel").val(nai_settings.rep_pen_size_novel);
|
||||
$("#rep_pen_size_counter_novel").html(`${nai_settings.rep_pen_size_novel} Tokens`);
|
||||
}
|
||||
|
||||
function loadNovelSettings(settings){
|
||||
//load Novel API KEY is exists
|
||||
if (settings.api_key_novel != undefined) {
|
||||
nai_settings.api_key_novel = settings.api_key_novel;
|
||||
$("#api_key_novel").val(nai_settings.api_key_novel);
|
||||
}
|
||||
|
||||
//load the rest of the Novel settings without any checks
|
||||
nai_settings.model_novel = settings.model_novel;
|
||||
$(`#model_novel_select option[value=${nai_settings.model_novel}]`).attr("selected", true);
|
||||
|
||||
nai_settings.temp_novel = settings.temp_novel;
|
||||
nai_settings.rep_pen_novel = settings.rep_pen_novel;
|
||||
nai_settings.rep_pen_size_novel = settings.rep_pen_size_novel;
|
||||
|
||||
$("#temp_novel").val(nai_settings.temp_novel);
|
||||
$("#temp_counter_novel").text(Number(nai_settings.temp_novel).toFixed(2));
|
||||
|
||||
$("#rep_pen_novel").val(nai_settings.rep_pen_novel);
|
||||
$("#rep_pen_counter_novel").text(Number(nai_settings.rep_pen_novel).toFixed(2));
|
||||
|
||||
$("#rep_pen_size_novel").val(nai_settings.rep_pen_size_novel);
|
||||
$("#rep_pen_size_counter_novel").text(`${nai_settings.rep_pen_size_novel} Tokens`);
|
||||
}
|
||||
|
||||
const sliders = [
|
||||
{
|
||||
sliderId: "#temp_novel",
|
||||
counterId: "#temp_counter_novel",
|
||||
format: (val) => Number(val).toFixed(2),
|
||||
setValue: (val) => { nai_settings.temp_novel = Number(val); },
|
||||
},
|
||||
{
|
||||
sliderId: "#rep_pen_novel",
|
||||
counterId: "#rep_pen_counter_novel",
|
||||
format: (val) => Number(val).toFixed(2),
|
||||
setValue: (val) => { nai_settings.rep_pen_novel = Number(val); },
|
||||
},
|
||||
{
|
||||
sliderId: "#rep_pen_size_novel",
|
||||
counterId: "#rep_pen_size_counter_novel",
|
||||
format: (val) => `${val} Tokens`,
|
||||
setValue: (val) => { nai_settings.rep_pen_size_novel = Number(val); },
|
||||
},
|
||||
];
|
||||
|
||||
$(document).ready(function () {
|
||||
sliders.forEach(slider => {
|
||||
$(document).on("input", slider.sliderId, function () {
|
||||
const value = $(this).val();
|
||||
const formattedValue = slider.format(value);
|
||||
slider.setValue(value);
|
||||
$(slider.counterId).html(formattedValue);
|
||||
console.log('saving');
|
||||
saveSettingsDebounced();
|
||||
});
|
||||
});
|
||||
|
||||
$("#model_novel_select").change(function () {
|
||||
nai_settings.model_novel = $("#model_novel_select").find(":selected").val();
|
||||
saveSettingsDebounced();
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user