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,
|
online_status,
|
||||||
main_api,
|
main_api,
|
||||||
api_server,
|
api_server,
|
||||||
api_key_novel,
|
nai_settings,
|
||||||
is_send_press,
|
is_send_press,
|
||||||
|
|
||||||
} from "../script.js";
|
} from "../script.js";
|
||||||
@ -204,7 +204,7 @@ function RA_checkOnlineStatus() {
|
|||||||
|
|
||||||
function RA_autoconnect() {
|
function RA_autoconnect() {
|
||||||
console.log(main_api);
|
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 (online_status === "no_connection" && LoadLocalBool('AutoConnectEnabled')) {
|
||||||
if (isUrlOrAPIKey(api_server) && main_api === "kobold") {
|
if (isUrlOrAPIKey(api_server) && main_api === "kobold") {
|
||||||
$("#api_button").click();
|
$("#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