feat: add top nsigma sampler support
| @@ -1294,6 +1294,14 @@ | |||
| 1294 | <input class="neo-range-slider" type="range" id="epsilon_cutoff_textgenerationwebui" name="volume" min="0" max="9" step="0.01"> | 1294 | <input class="neo-range-slider" type="range" id="epsilon_cutoff_textgenerationwebui" name="volume" min="0" max="9" step="0.01"> |
| 1295 | <input class="neo-range-input" type="number" min="0" max="9" step="0.01" data-for="epsilon_cutoff_textgenerationwebui" id="epsilon_cutoff_counter_textgenerationwebui"> | 1295 | <input class="neo-range-input" type="number" min="0" max="9" step="0.01" data-for="epsilon_cutoff_textgenerationwebui" id="epsilon_cutoff_counter_textgenerationwebui"> |
| 1296 | </div> | 1296 | </div> |
| 1297 | <div data-tg-type="aphrodite" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | ||
| 1298 | <small> | ||
| 1299 | <span data-i18n="Top nsigma">Top nsigma</span> | ||
| 1300 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]A sampling method that filters logits based on their statistical properties. It keeps tokens within n standard deviations of the maximum logit value, providing a simpler alternative to top-p/top-k sampling while maintaining sampling stability across different temperatures."></div> | ||
| 1301 | </small> | ||
| 1302 | <input class="neo-range-slider" type="range" id="nsigma" name="volume" min="0" max="5" step="0.01"> | ||
| 1303 | <input class="neo-range-input" type="number" min="0" max="5" step="0.01" data-for="nsigma" id="nsigma_counter_textgenerationwebui"> | ||
| 1304 | </div> | ||
| 1297 | <div data-tg-type="ooba,mancer,aphrodite" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1305 | <div data-tg-type="ooba,mancer,aphrodite" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1298 | <small> | 1306 | <small> |
| 1299 | <span data-i18n="Eta Cutoff">Eta Cutoff</span> | 1307 | <span data-i18n="Eta Cutoff">Eta Cutoff</span> |
| @@ -639,6 +639,11 @@ async function CreateZenSliders(elmnt) { | |||
| 639 | numSteps = 50; | 639 | numSteps = 50; |
| 640 | decimals = 1; | 640 | decimals = 1; |
| 641 | } | 641 | } |
| 642 | if (sliderID == 'nsigma' || | ||
| 643 | sliderID == 'nsigma') { | ||
| 644 | numSteps = 50; | ||
| 645 | decimals = 1; | ||
| 646 | } | ||
| 642 | //customize steps | 647 | //customize steps |
| 643 | if (sliderID == 'mirostat_mode_textgenerationwebui' || | 648 | if (sliderID == 'mirostat_mode_textgenerationwebui' || |
| 644 | sliderID == 'mirostat_mode_kobold') { | 649 | sliderID == 'mirostat_mode_kobold') { |
| @@ -655,6 +660,7 @@ async function CreateZenSliders(elmnt) { | |||
| 655 | sliderID == 'num_beams_textgenerationwebui' || | 660 | sliderID == 'num_beams_textgenerationwebui' || |
| 656 | sliderID == 'no_repeat_ngram_size_textgenerationwebui' || | 661 | sliderID == 'no_repeat_ngram_size_textgenerationwebui' || |
| 657 | sliderID == 'epsilon_cutoff_textgenerationwebui' || | 662 | sliderID == 'epsilon_cutoff_textgenerationwebui' || |
| 663 | sliderID == 'nsigma' || | ||
| 658 | sliderID == 'tfs_textgenerationwebui' || | 664 | sliderID == 'tfs_textgenerationwebui' || |
| 659 | sliderID == 'min_p_textgenerationwebui' || | 665 | sliderID == 'min_p_textgenerationwebui' || |
| 660 | sliderID == 'temp_textgenerationwebui' || | 666 | sliderID == 'temp_textgenerationwebui' || |
| @@ -683,6 +689,7 @@ async function CreateZenSliders(elmnt) { | |||
| 683 | sliderID == 'penalty_alpha_textgenerationwebui' || | 689 | sliderID == 'penalty_alpha_textgenerationwebui' || |
| 684 | sliderID == 'length_penalty_textgenerationwebui' || | 690 | sliderID == 'length_penalty_textgenerationwebui' || |
| 685 | sliderID == 'epsilon_cutoff_textgenerationwebui' || | 691 | sliderID == 'epsilon_cutoff_textgenerationwebui' || |
| 692 | sliderID == 'nsigma' || | ||
| 686 | sliderID == 'rep_pen_range' || | 693 | sliderID == 'rep_pen_range' || |
| 687 | sliderID == 'eta_cutoff_textgenerationwebui' || | 694 | sliderID == 'eta_cutoff_textgenerationwebui' || |
| 688 | sliderID == 'top_a_textgenerationwebui' || | 695 | sliderID == 'top_a_textgenerationwebui' || |
| @@ -193,6 +193,7 @@ const settings = { | |||
| 193 | openrouter_allow_fallbacks: true, | 193 | openrouter_allow_fallbacks: true, |
| 194 | xtc_threshold: 0.1, | 194 | xtc_threshold: 0.1, |
| 195 | xtc_probability: 0, | 195 | xtc_probability: 0, |
| 196 | nsigma: 0.0, | ||
| 196 | featherless_model: '', | 197 | featherless_model: '', |
| 197 | }; | 198 | }; |
| 198 | 199 | ||
| @@ -265,6 +266,7 @@ export const setting_names = [ | |||
| 265 | 'openrouter_allow_fallbacks', | 266 | 'openrouter_allow_fallbacks', |
| 266 | 'xtc_threshold', | 267 | 'xtc_threshold', |
| 267 | 'xtc_probability', | 268 | 'xtc_probability', |
| 269 | 'nsigma', | ||
| 268 | ]; | 270 | ]; |
| 269 | 271 | ||
| 270 | const DYNATEMP_BLOCK = document.getElementById('dynatemp_block_ooba'); | 272 | const DYNATEMP_BLOCK = document.getElementById('dynatemp_block_ooba'); |
| @@ -1178,6 +1180,7 @@ export function getTextGenGenerationData(finalPrompt, maxTokens, isImpersonate, | |||
| 1178 | 'sampler_order': settings.type === textgen_types.KOBOLDCPP ? settings.sampler_order : undefined, | 1180 | 'sampler_order': settings.type === textgen_types.KOBOLDCPP ? settings.sampler_order : undefined, |
| 1179 | 'xtc_threshold': settings.xtc_threshold, | 1181 | 'xtc_threshold': settings.xtc_threshold, |
| 1180 | 'xtc_probability': settings.xtc_probability, | 1182 | 'xtc_probability': settings.xtc_probability, |
| 1183 | 'nsigma': settings.nsigma, | ||
| 1181 | }; | 1184 | }; |
| 1182 | const nonAphroditeParams = { | 1185 | const nonAphroditeParams = { |
| 1183 | 'rep_pen': settings.rep_pen, | 1186 | 'rep_pen': settings.rep_pen, |
| @@ -1245,6 +1248,7 @@ export function getTextGenGenerationData(finalPrompt, maxTokens, isImpersonate, | |||
| 1245 | 'dynatemp_exponent': dynatemp ? settings.dynatemp_exponent : undefined, | 1248 | 'dynatemp_exponent': dynatemp ? settings.dynatemp_exponent : undefined, |
| 1246 | 'xtc_threshold': settings.xtc_threshold, | 1249 | 'xtc_threshold': settings.xtc_threshold, |
| 1247 | 'xtc_probability': settings.xtc_probability, | 1250 | 'xtc_probability': settings.xtc_probability, |
| 1251 | 'nsigma': settings.nsigma, | ||
| 1248 | 'custom_token_bans': toIntArray(banned_tokens), | 1252 | 'custom_token_bans': toIntArray(banned_tokens), |
| 1249 | }; | 1253 | }; |
| 1250 | 1254 | ||