mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-04-19 05:07:26 +02:00
Make textgen settings type checks more concise
This commit is contained in:
parent
047c897ead
commit
9c33ddbafc
@ -11,7 +11,7 @@ import {
|
|||||||
} from './scripts/kai-settings.js';
|
} from './scripts/kai-settings.js';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
textgenerationwebui_settings,
|
textgenerationwebui_settings as textgen_settings,
|
||||||
loadTextGenSettings,
|
loadTextGenSettings,
|
||||||
generateTextGenWithStreaming,
|
generateTextGenWithStreaming,
|
||||||
getTextGenGenerationData,
|
getTextGenGenerationData,
|
||||||
@ -22,6 +22,8 @@ import {
|
|||||||
MANCER_SERVER,
|
MANCER_SERVER,
|
||||||
} from './scripts/textgen-settings.js';
|
} from './scripts/textgen-settings.js';
|
||||||
|
|
||||||
|
const { MANCER } = textgen_types;
|
||||||
|
|
||||||
import {
|
import {
|
||||||
world_info,
|
world_info,
|
||||||
getWorldInfoPrompt,
|
getWorldInfoPrompt,
|
||||||
@ -882,10 +884,10 @@ async function getStatus() {
|
|||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
main_api,
|
main_api,
|
||||||
api_server: endpoint,
|
api_server: endpoint,
|
||||||
api_type: textgenerationwebui_settings.type,
|
api_type: textgen_settings.type,
|
||||||
legacy_api: main_api == 'textgenerationwebui' ?
|
legacy_api: main_api == 'textgenerationwebui' ?
|
||||||
textgenerationwebui_settings.legacy_api &&
|
textgen_settings.legacy_api &&
|
||||||
textgenerationwebui_settings.type !== textgen_types.MANCER :
|
textgen_settings.type !== MANCER :
|
||||||
false,
|
false,
|
||||||
}),
|
}),
|
||||||
signal: abortStatusCheck.signal,
|
signal: abortStatusCheck.signal,
|
||||||
@ -893,8 +895,8 @@ async function getStatus() {
|
|||||||
|
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
|
|
||||||
if (main_api == 'textgenerationwebui' && textgenerationwebui_settings.type === textgen_types.MANCER) {
|
if (main_api == 'textgenerationwebui' && textgen_settings.type === MANCER) {
|
||||||
online_status = textgenerationwebui_settings.mancer_model;
|
online_status = textgen_settings.mancer_model;
|
||||||
loadMancerModels(data?.data);
|
loadMancerModels(data?.data);
|
||||||
} else {
|
} else {
|
||||||
online_status = data?.result;
|
online_status = data?.result;
|
||||||
@ -941,7 +943,7 @@ export function resultCheckStatus() {
|
|||||||
|
|
||||||
export function getAPIServerUrl() {
|
export function getAPIServerUrl() {
|
||||||
if (main_api == 'textgenerationwebui') {
|
if (main_api == 'textgenerationwebui') {
|
||||||
if (textgenerationwebui_settings.type === textgen_types.MANCER) {
|
if (textgen_settings.type === MANCER) {
|
||||||
return MANCER_SERVER;
|
return MANCER_SERVER;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2465,7 +2467,7 @@ function isStreamingEnabled() {
|
|||||||
return ((main_api == 'openai' && oai_settings.stream_openai && !noStreamSources.includes(oai_settings.chat_completion_source))
|
return ((main_api == 'openai' && oai_settings.stream_openai && !noStreamSources.includes(oai_settings.chat_completion_source))
|
||||||
|| (main_api == 'kobold' && kai_settings.streaming_kobold && kai_flags.can_use_streaming)
|
|| (main_api == 'kobold' && kai_settings.streaming_kobold && kai_flags.can_use_streaming)
|
||||||
|| (main_api == 'novel' && nai_settings.streaming_novel)
|
|| (main_api == 'novel' && nai_settings.streaming_novel)
|
||||||
|| (main_api == 'textgenerationwebui' && textgenerationwebui_settings.streaming));
|
|| (main_api == 'textgenerationwebui' && textgen_settings.streaming));
|
||||||
}
|
}
|
||||||
|
|
||||||
function showStopButton() {
|
function showStopButton() {
|
||||||
@ -2846,9 +2848,9 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (main_api === 'textgenerationwebui' &&
|
if (main_api === 'textgenerationwebui' &&
|
||||||
textgenerationwebui_settings.streaming &&
|
textgen_settings.streaming &&
|
||||||
textgenerationwebui_settings.legacy_api &&
|
textgen_settings.legacy_api &&
|
||||||
textgenerationwebui_settings.type !== textgen_types.MANCER) {
|
textgen_settings.type !== MANCER) {
|
||||||
toastr.error('Streaming is not supported for the Legacy API. Update Ooba and use --extensions openai to enable streaming.', undefined, { timeOut: 10000, preventDuplicates: true });
|
toastr.error('Streaming is not supported for the Legacy API. Update Ooba and use --extensions openai to enable streaming.', undefined, { timeOut: 10000, preventDuplicates: true });
|
||||||
unblockGeneration();
|
unblockGeneration();
|
||||||
return;
|
return;
|
||||||
@ -4691,7 +4693,7 @@ function getGeneratingApi() {
|
|||||||
case 'openai':
|
case 'openai':
|
||||||
return oai_settings.chat_completion_source || 'openai';
|
return oai_settings.chat_completion_source || 'openai';
|
||||||
case 'textgenerationwebui':
|
case 'textgenerationwebui':
|
||||||
return textgenerationwebui_settings.type === textgen_types.OOBA ? 'textgenerationwebui' : textgenerationwebui_settings.type;
|
return textgen_settings.type === textgen_types.OOBA ? 'textgenerationwebui' : textgen_settings.type;
|
||||||
default:
|
default:
|
||||||
return main_api;
|
return main_api;
|
||||||
}
|
}
|
||||||
@ -5658,7 +5660,7 @@ async function saveSettings(type) {
|
|||||||
max_context: max_context,
|
max_context: max_context,
|
||||||
main_api: main_api,
|
main_api: main_api,
|
||||||
world_info_settings: getWorldInfoSettings(),
|
world_info_settings: getWorldInfoSettings(),
|
||||||
textgenerationwebui_settings: textgenerationwebui_settings,
|
textgenerationwebui_settings: textgen_settings,
|
||||||
swipes: swipes,
|
swipes: swipes,
|
||||||
horde_settings: horde_settings,
|
horde_settings: horde_settings,
|
||||||
power_user: power_user,
|
power_user: power_user,
|
||||||
|
@ -34,7 +34,7 @@ import {
|
|||||||
import { debounce, delay, getStringHash, isValidUrl } from './utils.js';
|
import { debounce, delay, getStringHash, isValidUrl } from './utils.js';
|
||||||
import { chat_completion_sources, oai_settings } from './openai.js';
|
import { chat_completion_sources, oai_settings } from './openai.js';
|
||||||
import { getTokenCount } from './tokenizers.js';
|
import { getTokenCount } from './tokenizers.js';
|
||||||
import { textgen_types, textgenerationwebui_settings } from './textgen-settings.js';
|
import { textgen_types, textgenerationwebui_settings as textgen_settings } from './textgen-settings.js';
|
||||||
|
|
||||||
|
|
||||||
var RPanelPin = document.getElementById('rm_button_panel_pin');
|
var RPanelPin = document.getElementById('rm_button_panel_pin');
|
||||||
@ -401,7 +401,7 @@ function RA_autoconnect(PrevApi) {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'textgenerationwebui':
|
case 'textgenerationwebui':
|
||||||
if (textgenerationwebui_settings.type === textgen_types.MANCER && secret_state[SECRET_KEYS.MANCER]) {
|
if (textgen_settings.type === textgen_types.MANCER && secret_state[SECRET_KEYS.MANCER]) {
|
||||||
$('#api_button_textgenerationwebui').trigger('click');
|
$('#api_button_textgenerationwebui').trigger('click');
|
||||||
}
|
}
|
||||||
else if (api_server_textgenerationwebui && isValidUrl(api_server_textgenerationwebui)) {
|
else if (api_server_textgenerationwebui && isValidUrl(api_server_textgenerationwebui)) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { setGenerationParamsFromPreset } from '../script.js';
|
import { setGenerationParamsFromPreset } from '../script.js';
|
||||||
import { getDeviceInfo } from './RossAscends-mods.js';
|
import { getDeviceInfo } from './RossAscends-mods.js';
|
||||||
import { textgenerationwebui_settings } from './textgen-settings.js';
|
import { textgenerationwebui_settings as textgen_settings } from './textgen-settings.js';
|
||||||
|
|
||||||
let models = [];
|
let models = [];
|
||||||
|
|
||||||
@ -17,14 +17,14 @@ export async function loadMancerModels(data) {
|
|||||||
const option = document.createElement('option');
|
const option = document.createElement('option');
|
||||||
option.value = model.id;
|
option.value = model.id;
|
||||||
option.text = model.name;
|
option.text = model.name;
|
||||||
option.selected = model.id === textgenerationwebui_settings.mancer_model;
|
option.selected = model.id === textgen_settings.mancer_model;
|
||||||
$('#mancer_model').append(option);
|
$('#mancer_model').append(option);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onMancerModelSelect() {
|
function onMancerModelSelect() {
|
||||||
const modelId = String($('#mancer_model').val());
|
const modelId = String($('#mancer_model').val());
|
||||||
textgenerationwebui_settings.mancer_model = modelId;
|
textgen_settings.mancer_model = modelId;
|
||||||
$('#api_button_textgenerationwebui').trigger('click');
|
$('#api_button_textgenerationwebui').trigger('click');
|
||||||
|
|
||||||
const limits = models.find(x => x.id === modelId)?.limits;
|
const limits = models.find(x => x.id === modelId)?.limits;
|
||||||
|
@ -22,7 +22,7 @@ import { context_presets, getContextSettings, power_user } from './power-user.js
|
|||||||
import {
|
import {
|
||||||
textgenerationwebui_preset_names,
|
textgenerationwebui_preset_names,
|
||||||
textgenerationwebui_presets,
|
textgenerationwebui_presets,
|
||||||
textgenerationwebui_settings,
|
textgenerationwebui_settings as textgen_settings,
|
||||||
} from './textgen-settings.js';
|
} from './textgen-settings.js';
|
||||||
import { download, parseJsonFile, waitUntilCondition } from './utils.js';
|
import { download, parseJsonFile, waitUntilCondition } from './utils.js';
|
||||||
|
|
||||||
@ -236,7 +236,7 @@ class PresetManager {
|
|||||||
case 'novel':
|
case 'novel':
|
||||||
return nai_settings;
|
return nai_settings;
|
||||||
case 'textgenerationwebui':
|
case 'textgenerationwebui':
|
||||||
return textgenerationwebui_settings;
|
return textgen_settings;
|
||||||
case 'context': {
|
case 'context': {
|
||||||
const context_preset = getContextSettings();
|
const context_preset = getContextSettings();
|
||||||
context_preset['name'] = name || power_user.context.preset;
|
context_preset['name'] = name || power_user.context.preset;
|
||||||
|
@ -18,7 +18,7 @@ import { SENTENCEPIECE_TOKENIZERS, getTextTokens, tokenizers } from './tokenizer
|
|||||||
import { getSortableDelay, onlyUnique } from './utils.js';
|
import { getSortableDelay, onlyUnique } from './utils.js';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
textgenerationwebui_settings,
|
settings as textgenerationwebui_settings,
|
||||||
loadTextGenSettings,
|
loadTextGenSettings,
|
||||||
generateTextGenWithStreaming,
|
generateTextGenWithStreaming,
|
||||||
formatTextGenURL,
|
formatTextGenURL,
|
||||||
@ -32,6 +32,8 @@ export const textgen_types = {
|
|||||||
KOBOLDCPP: 'koboldcpp',
|
KOBOLDCPP: 'koboldcpp',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const { MANCER, APHRODITE } = textgen_types;
|
||||||
|
|
||||||
// Maybe let it be configurable in the future?
|
// Maybe let it be configurable in the future?
|
||||||
// (7 days later) The future has come.
|
// (7 days later) The future has come.
|
||||||
const MANCER_SERVER_KEY = 'mancer_server';
|
const MANCER_SERVER_KEY = 'mancer_server';
|
||||||
@ -39,7 +41,7 @@ const MANCER_SERVER_DEFAULT = 'https://neuro.mancer.tech';
|
|||||||
export let MANCER_SERVER = localStorage.getItem(MANCER_SERVER_KEY) ?? MANCER_SERVER_DEFAULT;
|
export let MANCER_SERVER = localStorage.getItem(MANCER_SERVER_KEY) ?? MANCER_SERVER_DEFAULT;
|
||||||
|
|
||||||
const KOBOLDCPP_ORDER = [6, 0, 1, 3, 4, 2, 5];
|
const KOBOLDCPP_ORDER = [6, 0, 1, 3, 4, 2, 5];
|
||||||
const textgenerationwebui_settings = {
|
const settings = {
|
||||||
temp: 0.7,
|
temp: 0.7,
|
||||||
temperature_last: true,
|
temperature_last: true,
|
||||||
top_p: 0.5,
|
top_p: 0.5,
|
||||||
@ -150,7 +152,7 @@ async function selectPreset(name) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
textgenerationwebui_settings.preset = name;
|
settings.preset = name;
|
||||||
for (const name of setting_names) {
|
for (const name of setting_names) {
|
||||||
const value = preset[name];
|
const value = preset[name];
|
||||||
setSettingByName(name, value, true);
|
setSettingByName(name, value, true);
|
||||||
@ -162,17 +164,17 @@ async function selectPreset(name) {
|
|||||||
function formatTextGenURL(value) {
|
function formatTextGenURL(value) {
|
||||||
try {
|
try {
|
||||||
// Mancer doesn't need any formatting (it's hardcoded)
|
// Mancer doesn't need any formatting (it's hardcoded)
|
||||||
if (textgenerationwebui_settings.type === textgen_types.MANCER) {
|
if (settings.type === MANCER) {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
const url = new URL(value);
|
const url = new URL(value);
|
||||||
if (url.pathname === '/api' && !textgenerationwebui_settings.legacy_api) {
|
if (url.pathname === '/api' && !settings.legacy_api) {
|
||||||
toastr.info('Enable Legacy API or start Ooba with the OpenAI extension enabled.', 'Legacy API URL detected. Generation may fail.', { preventDuplicates: true, timeOut: 10000, extendedTimeOut: 20000 });
|
toastr.info('Enable Legacy API or start Ooba with the OpenAI extension enabled.', 'Legacy API URL detected. Generation may fail.', { preventDuplicates: true, timeOut: 10000, extendedTimeOut: 20000 });
|
||||||
url.pathname = '';
|
url.pathname = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!power_user.relaxed_api_urls && textgenerationwebui_settings.legacy_api) {
|
if (!power_user.relaxed_api_urls && settings.legacy_api) {
|
||||||
url.pathname = '/api';
|
url.pathname = '/api';
|
||||||
}
|
}
|
||||||
return url.toString();
|
return url.toString();
|
||||||
@ -190,13 +192,13 @@ function convertPresets(presets) {
|
|||||||
* @returns {string} String with comma-separated banned token IDs
|
* @returns {string} String with comma-separated banned token IDs
|
||||||
*/
|
*/
|
||||||
function getCustomTokenBans() {
|
function getCustomTokenBans() {
|
||||||
if (!textgenerationwebui_settings.banned_tokens && !textgenerationwebui_banned_in_macros.length) {
|
if (!settings.banned_tokens && !textgenerationwebui_banned_in_macros.length) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
const tokenizer = SENTENCEPIECE_TOKENIZERS.includes(power_user.tokenizer) ? power_user.tokenizer : tokenizers.LLAMA;
|
const tokenizer = SENTENCEPIECE_TOKENIZERS.includes(power_user.tokenizer) ? power_user.tokenizer : tokenizers.LLAMA;
|
||||||
const result = [];
|
const result = [];
|
||||||
const sequences = textgenerationwebui_settings.banned_tokens
|
const sequences = settings.banned_tokens
|
||||||
.split('\n')
|
.split('\n')
|
||||||
.concat(textgenerationwebui_banned_in_macros)
|
.concat(textgenerationwebui_banned_in_macros)
|
||||||
.filter(x => x.length > 0)
|
.filter(x => x.length > 0)
|
||||||
@ -240,10 +242,10 @@ function getCustomTokenBans() {
|
|||||||
function loadTextGenSettings(data, settings) {
|
function loadTextGenSettings(data, settings) {
|
||||||
textgenerationwebui_presets = convertPresets(data.textgenerationwebui_presets);
|
textgenerationwebui_presets = convertPresets(data.textgenerationwebui_presets);
|
||||||
textgenerationwebui_preset_names = data.textgenerationwebui_preset_names ?? [];
|
textgenerationwebui_preset_names = data.textgenerationwebui_preset_names ?? [];
|
||||||
Object.assign(textgenerationwebui_settings, settings.textgenerationwebui_settings ?? {});
|
Object.assign(settings, settings.textgenerationwebui_settings ?? {});
|
||||||
|
|
||||||
if (settings.api_use_mancer_webui) {
|
if (settings.api_use_mancer_webui) {
|
||||||
textgenerationwebui_settings.type = textgen_types.MANCER;
|
settings.type = MANCER;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const name of textgenerationwebui_preset_names) {
|
for (const name of textgenerationwebui_preset_names) {
|
||||||
@ -253,19 +255,19 @@ function loadTextGenSettings(data, settings) {
|
|||||||
$('#settings_preset_textgenerationwebui').append(option);
|
$('#settings_preset_textgenerationwebui').append(option);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (textgenerationwebui_settings.preset) {
|
if (settings.preset) {
|
||||||
$('#settings_preset_textgenerationwebui').val(textgenerationwebui_settings.preset);
|
$('#settings_preset_textgenerationwebui').val(settings.preset);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const i of setting_names) {
|
for (const i of setting_names) {
|
||||||
const value = textgenerationwebui_settings[i];
|
const value = settings[i];
|
||||||
setSettingByName(i, value);
|
setSettingByName(i, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#textgen_type').val(textgenerationwebui_settings.type);
|
$('#textgen_type').val(settings.type);
|
||||||
showTypeSpecificControls(textgenerationwebui_settings.type);
|
showTypeSpecificControls(settings.type);
|
||||||
//this is needed because showTypeSpecificControls() does not handle NOT declarations
|
//this is needed because showTypeSpecificControls() does not handle NOT declarations
|
||||||
if (textgenerationwebui_settings.type === textgen_types.APHRODITE) {
|
if (settings.type === textgen_types.APHRODITE) {
|
||||||
$('[data-forAphro=False]').each(function () {
|
$('[data-forAphro=False]').each(function () {
|
||||||
$(this).hide();
|
$(this).hide();
|
||||||
});
|
});
|
||||||
@ -286,7 +288,7 @@ function loadTextGenSettings(data, settings) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function getTextGenUrlSourceId() {
|
export function getTextGenUrlSourceId() {
|
||||||
switch (textgenerationwebui_settings.type) {
|
switch (settings.type) {
|
||||||
case textgen_types.OOBA:
|
case textgen_types.OOBA:
|
||||||
return '#textgenerationwebui_api_url_text';
|
return '#textgenerationwebui_api_url_text';
|
||||||
case textgen_types.APHRODITE:
|
case textgen_types.APHRODITE:
|
||||||
@ -321,23 +323,23 @@ jQuery(function () {
|
|||||||
$('#koboldcpp_order').children().each(function () {
|
$('#koboldcpp_order').children().each(function () {
|
||||||
order.push($(this).data('id'));
|
order.push($(this).data('id'));
|
||||||
});
|
});
|
||||||
textgenerationwebui_settings.sampler_order = order;
|
settings.sampler_order = order;
|
||||||
console.log('Samplers reordered:', textgenerationwebui_settings.sampler_order);
|
console.log('Samplers reordered:', settings.sampler_order);
|
||||||
saveSettingsDebounced();
|
saveSettingsDebounced();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#koboldcpp_default_order').on('click', function () {
|
$('#koboldcpp_default_order').on('click', function () {
|
||||||
textgenerationwebui_settings.sampler_order = KOBOLDCPP_ORDER;
|
settings.sampler_order = KOBOLDCPP_ORDER;
|
||||||
sortItemsByOrder(textgenerationwebui_settings.sampler_order);
|
sortItemsByOrder(settings.sampler_order);
|
||||||
saveSettingsDebounced();
|
saveSettingsDebounced();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#textgen_type').on('change', function () {
|
$('#textgen_type').on('change', function () {
|
||||||
const type = String($(this).val());
|
const type = String($(this).val());
|
||||||
textgenerationwebui_settings.type = type;
|
settings.type = type;
|
||||||
|
|
||||||
if (textgenerationwebui_settings.type === textgen_types.APHRODITE) {
|
if (settings.type === textgen_types.APHRODITE) {
|
||||||
//this is needed because showTypeSpecificControls() does not handle NOT declarations
|
//this is needed because showTypeSpecificControls() does not handle NOT declarations
|
||||||
$('[data-forAphro=False]').each(function () {
|
$('[data-forAphro=False]').each(function () {
|
||||||
$(this).hide();
|
$(this).hide();
|
||||||
@ -347,8 +349,8 @@ jQuery(function () {
|
|||||||
$('#ban_eos_token_textgenerationwebui').prop('checked', false); //Aphro should not ban EOS, just ignore it; 'add token '2' to ban list do to this'
|
$('#ban_eos_token_textgenerationwebui').prop('checked', false); //Aphro should not ban EOS, just ignore it; 'add token '2' to ban list do to this'
|
||||||
//special handling for Aphrodite topK -1 disable state
|
//special handling for Aphrodite topK -1 disable state
|
||||||
$('#top_k_textgenerationwebui').attr('min', -1);
|
$('#top_k_textgenerationwebui').attr('min', -1);
|
||||||
if ($('#top_k_textgenerationwebui').val() === '0' || textgenerationwebui_settings['top_k'] === 0) {
|
if ($('#top_k_textgenerationwebui').val() === '0' || settings['top_k'] === 0) {
|
||||||
textgenerationwebui_settings['top_k'] = -1;
|
settings['top_k'] = -1;
|
||||||
$('#top_k_textgenerationwebui').val('-1').trigger('input');
|
$('#top_k_textgenerationwebui').val('-1').trigger('input');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -359,8 +361,8 @@ jQuery(function () {
|
|||||||
$('#mirostat_mode_textgenerationwebui').attr('step', 1);
|
$('#mirostat_mode_textgenerationwebui').attr('step', 1);
|
||||||
//undo special Aphrodite setup for topK
|
//undo special Aphrodite setup for topK
|
||||||
$('#top_k_textgenerationwebui').attr('min', 0);
|
$('#top_k_textgenerationwebui').attr('min', 0);
|
||||||
if ($('#top_k_textgenerationwebui').val() === '-1' || textgenerationwebui_settings['top_k'] === -1) {
|
if ($('#top_k_textgenerationwebui').val() === '-1' || settings['top_k'] === -1) {
|
||||||
textgenerationwebui_settings['top_k'] = 0;
|
settings['top_k'] = 0;
|
||||||
$('#top_k_textgenerationwebui').val('0').trigger('input');
|
$('#top_k_textgenerationwebui').val('0').trigger('input');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -388,21 +390,21 @@ jQuery(function () {
|
|||||||
|
|
||||||
if (isCheckbox) {
|
if (isCheckbox) {
|
||||||
const value = $(this).prop('checked');
|
const value = $(this).prop('checked');
|
||||||
textgenerationwebui_settings[id] = value;
|
settings[id] = value;
|
||||||
}
|
}
|
||||||
else if (isText) {
|
else if (isText) {
|
||||||
const value = $(this).val();
|
const value = $(this).val();
|
||||||
textgenerationwebui_settings[id] = value;
|
settings[id] = value;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
const value = Number($(this).val());
|
const value = Number($(this).val());
|
||||||
$(`#${id}_counter_textgenerationwebui`).val(value);
|
$(`#${id}_counter_textgenerationwebui`).val(value);
|
||||||
textgenerationwebui_settings[id] = value;
|
settings[id] = value;
|
||||||
//special handling for aphrodite using -1 as disabled instead of 0
|
//special handling for aphrodite using -1 as disabled instead of 0
|
||||||
if ($(this).attr('id') === 'top_k_textgenerationwebui' &&
|
if ($(this).attr('id') === 'top_k_textgenerationwebui' &&
|
||||||
textgenerationwebui_settings.type === textgen_types.APHRODITE &&
|
settings.type === textgen_types.APHRODITE &&
|
||||||
value === 0) {
|
value === 0) {
|
||||||
textgenerationwebui_settings[id] = -1;
|
settings[id] = -1;
|
||||||
$(this).val(-1);
|
$(this).val(-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -430,7 +432,7 @@ function setSettingByName(setting, value, trigger) {
|
|||||||
if ('sampler_order' === setting) {
|
if ('sampler_order' === setting) {
|
||||||
value = Array.isArray(value) ? value : KOBOLDCPP_ORDER;
|
value = Array.isArray(value) ? value : KOBOLDCPP_ORDER;
|
||||||
sortItemsByOrder(value);
|
sortItemsByOrder(value);
|
||||||
textgenerationwebui_settings.sampler_order = value;
|
settings.sampler_order = value;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -557,11 +559,11 @@ function toIntArray(string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getModel() {
|
function getModel() {
|
||||||
if (textgenerationwebui_settings.type === textgen_types.MANCER) {
|
if (settings.type === MANCER) {
|
||||||
return textgenerationwebui_settings.mancer_model;
|
return settings.mancer_model;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (textgenerationwebui_settings.type === textgen_types.APHRODITE) {
|
if (settings.type === APHRODITE) {
|
||||||
return online_status;
|
return online_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -575,66 +577,66 @@ export function getTextGenGenerationData(finalPrompt, maxTokens, isImpersonate,
|
|||||||
'model': getModel(),
|
'model': getModel(),
|
||||||
'max_new_tokens': maxTokens,
|
'max_new_tokens': maxTokens,
|
||||||
'max_tokens': maxTokens,
|
'max_tokens': maxTokens,
|
||||||
'temperature': textgenerationwebui_settings.temp,
|
'temperature': settings.temp,
|
||||||
'top_p': textgenerationwebui_settings.top_p,
|
'top_p': settings.top_p,
|
||||||
'typical_p': textgenerationwebui_settings.typical_p,
|
'typical_p': settings.typical_p,
|
||||||
'min_p': textgenerationwebui_settings.min_p,
|
'min_p': settings.min_p,
|
||||||
'repetition_penalty': textgenerationwebui_settings.rep_pen,
|
'repetition_penalty': settings.rep_pen,
|
||||||
'frequency_penalty': textgenerationwebui_settings.freq_pen,
|
'frequency_penalty': settings.freq_pen,
|
||||||
'presence_penalty': textgenerationwebui_settings.presence_pen,
|
'presence_penalty': settings.presence_pen,
|
||||||
'top_k': textgenerationwebui_settings.top_k,
|
'top_k': settings.top_k,
|
||||||
'min_length': textgenerationwebui_settings.min_length,
|
'min_length': settings.min_length,
|
||||||
'min_tokens': textgenerationwebui_settings.min_length,
|
'min_tokens': settings.min_length,
|
||||||
'num_beams': textgenerationwebui_settings.num_beams,
|
'num_beams': settings.num_beams,
|
||||||
'length_penalty': textgenerationwebui_settings.length_penalty,
|
'length_penalty': settings.length_penalty,
|
||||||
'early_stopping': textgenerationwebui_settings.early_stopping,
|
'early_stopping': settings.early_stopping,
|
||||||
'add_bos_token': textgenerationwebui_settings.add_bos_token,
|
'add_bos_token': settings.add_bos_token,
|
||||||
'stopping_strings': getStoppingStrings(isImpersonate, isContinue),
|
'stopping_strings': getStoppingStrings(isImpersonate, isContinue),
|
||||||
'stop': getStoppingStrings(isImpersonate, isContinue),
|
'stop': getStoppingStrings(isImpersonate, isContinue),
|
||||||
'truncation_length': max_context,
|
'truncation_length': max_context,
|
||||||
'ban_eos_token': textgenerationwebui_settings.ban_eos_token,
|
'ban_eos_token': settings.ban_eos_token,
|
||||||
'skip_special_tokens': textgenerationwebui_settings.skip_special_tokens,
|
'skip_special_tokens': settings.skip_special_tokens,
|
||||||
'top_a': textgenerationwebui_settings.top_a,
|
'top_a': settings.top_a,
|
||||||
'tfs': textgenerationwebui_settings.tfs,
|
'tfs': settings.tfs,
|
||||||
'epsilon_cutoff': textgenerationwebui_settings.epsilon_cutoff,
|
'epsilon_cutoff': settings.epsilon_cutoff,
|
||||||
'eta_cutoff': textgenerationwebui_settings.eta_cutoff,
|
'eta_cutoff': settings.eta_cutoff,
|
||||||
'mirostat_mode': textgenerationwebui_settings.mirostat_mode,
|
'mirostat_mode': settings.mirostat_mode,
|
||||||
'mirostat_tau': textgenerationwebui_settings.mirostat_tau,
|
'mirostat_tau': settings.mirostat_tau,
|
||||||
'mirostat_eta': textgenerationwebui_settings.mirostat_eta,
|
'mirostat_eta': settings.mirostat_eta,
|
||||||
'custom_token_bans': textgenerationwebui_settings.type === textgen_types.APHRODITE ?
|
'custom_token_bans': settings.type === textgen_types.APHRODITE ?
|
||||||
toIntArray(getCustomTokenBans()) :
|
toIntArray(getCustomTokenBans()) :
|
||||||
getCustomTokenBans(),
|
getCustomTokenBans(),
|
||||||
'api_type': textgenerationwebui_settings.type,
|
'api_type': settings.type,
|
||||||
'api_server': textgenerationwebui_settings.type === textgen_types.MANCER ?
|
'api_server': settings.type === MANCER ?
|
||||||
MANCER_SERVER :
|
MANCER_SERVER :
|
||||||
api_server_textgenerationwebui,
|
api_server_textgenerationwebui,
|
||||||
'legacy_api': textgenerationwebui_settings.legacy_api && textgenerationwebui_settings.type !== textgen_types.MANCER,
|
'legacy_api': settings.legacy_api && settings.type !== MANCER,
|
||||||
'sampler_order': textgenerationwebui_settings.type === textgen_types.KOBOLDCPP ?
|
'sampler_order': settings.type === textgen_types.KOBOLDCPP ?
|
||||||
textgenerationwebui_settings.sampler_order :
|
settings.sampler_order :
|
||||||
undefined,
|
undefined,
|
||||||
};
|
};
|
||||||
let aphroditeExclusionFlags = {
|
let aphroditeExclusionFlags = {
|
||||||
'repetition_penalty_range': textgenerationwebui_settings.rep_pen_range,
|
'repetition_penalty_range': settings.rep_pen_range,
|
||||||
'encoder_repetition_penalty': textgenerationwebui_settings.encoder_rep_pen,
|
'encoder_repetition_penalty': settings.encoder_rep_pen,
|
||||||
'no_repeat_ngram_size': textgenerationwebui_settings.no_repeat_ngram_size,
|
'no_repeat_ngram_size': settings.no_repeat_ngram_size,
|
||||||
'penalty_alpha': textgenerationwebui_settings.penalty_alpha,
|
'penalty_alpha': settings.penalty_alpha,
|
||||||
'temperature_last': textgenerationwebui_settings.temperature_last,
|
'temperature_last': settings.temperature_last,
|
||||||
'do_sample': textgenerationwebui_settings.do_sample,
|
'do_sample': settings.do_sample,
|
||||||
'seed': textgenerationwebui_settings.seed,
|
'seed': settings.seed,
|
||||||
'guidance_scale': cfgValues?.guidanceScale?.value ?? textgenerationwebui_settings.guidance_scale ?? 1,
|
'guidance_scale': cfgValues?.guidanceScale?.value ?? settings.guidance_scale ?? 1,
|
||||||
'negative_prompt': cfgValues?.negativePrompt ?? substituteParams(textgenerationwebui_settings.negative_prompt) ?? '',
|
'negative_prompt': cfgValues?.negativePrompt ?? substituteParams(settings.negative_prompt) ?? '',
|
||||||
'grammar_string': textgenerationwebui_settings.grammar_string,
|
'grammar_string': settings.grammar_string,
|
||||||
};
|
};
|
||||||
let aphroditeFlags = {
|
let aphroditeFlags = {
|
||||||
'n': canMultiSwipe ? textgenerationwebui_settings.n : 1,
|
'n': canMultiSwipe ? textgenerationwebui_settings.n : 1,
|
||||||
'best_of': canMultiSwipe ? textgenerationwebui_settings.n : 1,
|
'best_of': canMultiSwipe ? textgenerationwebui_settings.n : 1,
|
||||||
'ignore_eos': textgenerationwebui_settings.ignore_eos_token_aphrodite,
|
'ignore_eos': settings.ignore_eos_token_aphrodite,
|
||||||
'spaces_between_special_tokens': textgenerationwebui_settings.spaces_between_special_tokens_aphrodite,
|
'spaces_between_special_tokens': settings.spaces_between_special_tokens_aphrodite,
|
||||||
//'logits_processors': textgenerationwebui_settings.logits_processors_aphrodite,
|
//'logits_processors': textgenerationwebui_settings.logits_processors_aphrodite,
|
||||||
//'logprobs': textgenerationwebui_settings.log_probs_aphrodite,
|
//'logprobs': textgenerationwebui_settings.log_probs_aphrodite,
|
||||||
//'prompt_logprobs': textgenerationwebui_settings.prompt_log_probs_aphrodite,
|
//'prompt_logprobs': textgenerationwebui_settings.prompt_log_probs_aphrodite,
|
||||||
};
|
};
|
||||||
if (textgenerationwebui_settings.type === textgen_types.APHRODITE) {
|
if (settings.type === textgen_types.APHRODITE) {
|
||||||
APIflags = Object.assign(APIflags, aphroditeFlags);
|
APIflags = Object.assign(APIflags, aphroditeFlags);
|
||||||
} else {
|
} else {
|
||||||
APIflags = Object.assign(APIflags, aphroditeExclusionFlags);
|
APIflags = Object.assign(APIflags, aphroditeExclusionFlags);
|
||||||
|
@ -4,7 +4,9 @@ import { chat_completion_sources, model_list, oai_settings } from './openai.js';
|
|||||||
import { groups, selected_group } from './group-chats.js';
|
import { groups, selected_group } from './group-chats.js';
|
||||||
import { getStringHash } from './utils.js';
|
import { getStringHash } from './utils.js';
|
||||||
import { kai_flags } from './kai-settings.js';
|
import { kai_flags } from './kai-settings.js';
|
||||||
import { textgen_types, textgenerationwebui_settings } from './textgen-settings.js';
|
import { textgen_types, textgenerationwebui_settings as textgen_settings } from './textgen-settings.js';
|
||||||
|
|
||||||
|
const { OOBA, TABBY, KOBOLDCPP, MANCER } = textgen_types;
|
||||||
|
|
||||||
export const CHARACTERS_PER_TOKEN_RATIO = 3.35;
|
export const CHARACTERS_PER_TOKEN_RATIO = 3.35;
|
||||||
const TOKENIZER_WARNING_KEY = 'tokenizationWarningShown';
|
const TOKENIZER_WARNING_KEY = 'tokenizationWarningShown';
|
||||||
@ -129,10 +131,7 @@ export function getTokenizerBestMatch(forApi) {
|
|||||||
// - Tokenizer haven't reported an error previously
|
// - Tokenizer haven't reported an error previously
|
||||||
const hasTokenizerError = sessionStorage.getItem(TOKENIZER_WARNING_KEY);
|
const hasTokenizerError = sessionStorage.getItem(TOKENIZER_WARNING_KEY);
|
||||||
const isConnected = online_status !== 'no_connection';
|
const isConnected = online_status !== 'no_connection';
|
||||||
const isTokenizerSupported =
|
const isTokenizerSupported = textgen_settings.type === OOBA || textgen_settings.type === TABBY || textgen_settings.type === KOBOLDCPP;
|
||||||
textgenerationwebui_settings.type === textgen_types.OOBA ||
|
|
||||||
textgenerationwebui_settings.type === textgen_types.TABBY ||
|
|
||||||
textgenerationwebui_settings.type === textgen_types.KOBOLDCPP;
|
|
||||||
|
|
||||||
if (!hasTokenizerError && isConnected) {
|
if (!hasTokenizerError && isConnected) {
|
||||||
if (forApi === 'kobold' && kai_flags.can_use_tokenization) {
|
if (forApi === 'kobold' && kai_flags.can_use_tokenization) {
|
||||||
@ -396,11 +395,11 @@ function getRemoteTokenizationParams(str) {
|
|||||||
return {
|
return {
|
||||||
text: str,
|
text: str,
|
||||||
main_api,
|
main_api,
|
||||||
api_type: textgenerationwebui_settings.type,
|
api_type: textgen_settings.type,
|
||||||
url: getAPIServerUrl(),
|
url: getAPIServerUrl(),
|
||||||
legacy_api: main_api === 'textgenerationwebui' &&
|
legacy_api: main_api === 'textgenerationwebui' &&
|
||||||
textgenerationwebui_settings.legacy_api &&
|
textgen_settings.legacy_api &&
|
||||||
textgenerationwebui_settings.type !== textgen_types.MANCER,
|
textgen_settings.type !== MANCER,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user