use strings instead of IDs
| @@ -1718,73 +1718,6 @@ | |||
| 1718 | <span data-i18n="Load default order">Load default order</span> | 1718 | <span data-i18n="Load default order">Load default order</span> |
| 1719 | </div> | 1719 | </div> |
| 1720 | </div> | 1720 | </div> |
| 1721 | <div id="sampler_oder_block_aphrodite" data-tg-type="aphrodite" class="range-block flexFlowColumn wide100p"> | ||
| 1722 | <hr class="wide100p"> | ||
| 1723 | <div class="range-block-title"> | ||
| 1724 | <span data-i18n="Sampler Order">Sampler Order</span> | ||
| 1725 | </div> | ||
| 1726 | <div class="toggle-description widthUnset" data-i18n="Samplers will be applied in a top-down order. Use with caution."> | ||
| 1727 | Aphrodite only. Samplers will be applied in a top-down order. Use with caution. | ||
| 1728 | </div> | ||
| 1729 | <div id="aphrodite_order" class="prompt_order"> | ||
| 1730 | <div data-id="0"> | ||
| 1731 | <span data-i18n="Top P & Top K">Top P & Top K</span> | ||
| 1732 | <small>0</small> | ||
| 1733 | </div> | ||
| 1734 | <div data-id="1"> | ||
| 1735 | <span data-i18n="Top A">Top A</span> | ||
| 1736 | <small>1</small> | ||
| 1737 | </div> | ||
| 1738 | <div data-id="2"> | ||
| 1739 | <span data-i18n="Min P">Min P</span> | ||
| 1740 | <small>2</small> | ||
| 1741 | </div> | ||
| 1742 | <div data-id="3"> | ||
| 1743 | <span data-i18n="Tail Free Sampling">Tail Free Sampling</span> | ||
| 1744 | <small>3</small> | ||
| 1745 | </div> | ||
| 1746 | <div data-id="4"> | ||
| 1747 | <span data-i18n="Typical P">Typical P</span> | ||
| 1748 | <small>4</small> | ||
| 1749 | </div> | ||
| 1750 | <div data-id="5"> | ||
| 1751 | <span data-i18n="Dynatemp & Temperature">Dynatemp & Temperature</span> | ||
| 1752 | <small>5</small> | ||
| 1753 | </div> | ||
| 1754 | <div data-id="6"> | ||
| 1755 | <span data-i18n="Penalties">Penalties</span> | ||
| 1756 | <small>6</small> | ||
| 1757 | </div> | ||
| 1758 | <div data-id="7"> | ||
| 1759 | <span data-i18n="DRY">DRY</span> | ||
| 1760 | <small>7</small> | ||
| 1761 | </div> | ||
| 1762 | <div data-id="8"> | ||
| 1763 | <span data-i18n="No Repeat Ngram">No Repeat Ngram</span> | ||
| 1764 | <small>8</small> | ||
| 1765 | </div> | ||
| 1766 | <div data-id="9"> | ||
| 1767 | <span data-i18n="Top Nsigma">Top Nsigma</span> | ||
| 1768 | <small>9</small> | ||
| 1769 | </div> | ||
| 1770 | <div data-id="10"> | ||
| 1771 | <span data-i18n="Eta Cutoff">Eta Cutoff</span> | ||
| 1772 | <small>10</small> | ||
| 1773 | </div> | ||
| 1774 | <div data-id="11"> | ||
| 1775 | <span data-i18n="Epsilon Cutoff">Epsilon Cutoff</span> | ||
| 1776 | <small>11</small> | ||
| 1777 | </div> | ||
| 1778 | <div data-id="12"> | ||
| 1779 | <span data-i18n="Cubic & Quadratic Sampling">Cubic & Quadratic Sampling</span> | ||
| 1780 | <small>12</small> | ||
| 1781 | </div> | ||
| 1782 | <div data-id="13"> | ||
| 1783 | <span data-i18n="XTC">XTC</span> | ||
| 1784 | <small>13</small> | ||
| 1785 | </div> | ||
| 1786 | </div> | ||
| 1787 | </div> | ||
| 1788 | <div id="sampler_order_block_lcpp" data-tg-type="llamacpp" class="range-block flexFlowColumn wide100p"> | 1721 | <div id="sampler_order_block_lcpp" data-tg-type="llamacpp" class="range-block flexFlowColumn wide100p"> |
| 1789 | <hr class="wide100p"> | 1722 | <hr class="wide100p"> |
| 1790 | <h4 class="range-block-title justifyCenter"> | 1723 | <h4 class="range-block-title justifyCenter"> |
| @@ -1841,6 +1774,35 @@ | |||
| 1841 | <span data-i18n="Load default order">Load default order</span> | 1774 | <span data-i18n="Load default order">Load default order</span> |
| 1842 | </div> | 1775 | </div> |
| 1843 | </div> | 1776 | </div> |
| 1777 | <div id="sampler_priority_block_aphrodite" data-tg-type="aphrodite" class="range-block flexFlowColumn wide100p"> | ||
| 1778 | <hr class="wide100p"> | ||
| 1779 | <h4 class="range-block-title justifyCenter"> | ||
| 1780 | <span data-i18n="Sampler Order">Sampler Order</span> | ||
| 1781 | <div class="margin5 fa-solid fa-circle-info opacity50p" title="Aphrodite only. Determines the order of samplers. Skew is always applied post-softmax, so it's not included here." data-i18n="[title]Aphrodite only. Determines the order of samplers. Skew is always applied post-softmax, so it's not included here."></div> | ||
| 1782 | </h4> | ||
| 1783 | <div class="toggle-description widthUnset" data-i18n="Aphrodite only. Determines the order of samplers. Skew is always applied post-softmax, so it's not included here."> | ||
| 1784 | Aphrodite only. Determines the order of samplers. | ||
| 1785 | </div> | ||
| 1786 | <div id="sampler_priority_container" class="prompt_order"> | ||
| 1787 | <div data-name="dry" draggable="true"><span>DRY</span><small></small></div> | ||
| 1788 | <div data-name="penalties" draggable="true"><span>Penalties</span><small></small></div> | ||
| 1789 | <div data-name="no_repeat_ngram" draggable="true"><span>No Repeat Ngram</span><small></small></div> | ||
| 1790 | <div data-name="temperature" draggable="true"><span>Dynatemp & Temperature</span><small></small></div> | ||
| 1791 | <div data-name="top_nsigma" draggable="true"><span>Top Nsigma</span><small></small></div> | ||
| 1792 | <div data-name="top_p_top_k" draggable="true"><span>Top P & Top K</span><small></small></div> | ||
| 1793 | <div data-name="top_a" draggable="true"><span>Top A</span><small></small></div> | ||
| 1794 | <div data-name="min_p" draggable="true"><span>Min P</span><small></small></div> | ||
| 1795 | <div data-name="tfs" draggable="true"><span>Tail-Free Sampling</span><small></small></div> | ||
| 1796 | <div data-name="eta_cutoff" draggable="true"><span>Eta Cutoff</span><small></small></div> | ||
| 1797 | <div data-name="epsilon_cutoff" draggable="true"><span>Epsilon Cutoff</span><small></small></div> | ||
| 1798 | <div data-name="typical_p" draggable="true"><span>Typical P</span><small></small></div> | ||
| 1799 | <div data-name="quadratic" draggable="true"><span>Cubic and Quadratic Sampling</span><small></small></div> | ||
| 1800 | <div data-name="xtc" draggable="true"><span>XTC</span><small></small></div> | ||
| 1801 | </div> | ||
| 1802 | <div id="aphrodite_default_order" class="menu_button menu_button_icon"> | ||
| 1803 | <span data-i18n="Load default order">Load default order</span> | ||
| 1804 | </div> | ||
| 1805 | </div> | ||
| 1844 | </div> | 1806 | </div> |
| 1845 | </div><!-- end of textgen settings--> | 1807 | </div><!-- end of textgen settings--> |
| 1846 | <div id="openai_settings"> | 1808 | <div id="openai_settings"> |
| @@ -129,6 +129,10 @@ function setSamplerListListeners() { | |||
| 129 | relatedDOMElement = $('#sampler_priority_block_ooba'); | 129 | relatedDOMElement = $('#sampler_priority_block_ooba'); |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | if (samplerName === 'samplers_priorities') { //this is for aphrodite's sampler priority | ||
| 133 | relatedDOMElement = $('#sampler_priority_block_aphrodite'); | ||
| 134 | } | ||
| 135 | |||
| 132 | if (samplerName === 'penalty_alpha') { //contrastive search only has one sampler, does it need its own block? | 136 | if (samplerName === 'penalty_alpha') { //contrastive search only has one sampler, does it need its own block? |
| 133 | relatedDOMElement = $('#contrastiveSearchBlock'); | 137 | relatedDOMElement = $('#contrastiveSearchBlock'); |
| 134 | } | 138 | } |
| @@ -237,6 +241,11 @@ async function listSamplers(main_api, arrayOnly = false) { | |||
| 237 | displayname = 'Ooba Sampler Priority Block'; | 241 | displayname = 'Ooba Sampler Priority Block'; |
| 238 | } | 242 | } |
| 239 | 243 | ||
| 244 | if (sampler === 'samplers_priorities') { //this is for aphrodite's sampler priority | ||
| 245 | targetDOMelement = $('#sampler_priority_block_aphrodite'); | ||
| 246 | displayname = 'Aphrodite Sampler Priority Block'; | ||
| 247 | } | ||
| 248 | |||
| 240 | if (sampler === 'penalty_alpha') { //contrastive search only has one sampler, does it need its own block? | 249 | if (sampler === 'penalty_alpha') { //contrastive search only has one sampler, does it need its own block? |
| 241 | targetDOMelement = $('#contrastiveSearchBlock'); | 250 | targetDOMelement = $('#contrastiveSearchBlock'); |
| 242 | displayname = 'Contrast Search Block'; | 251 | displayname = 'Contrast Search Block'; |
| @@ -373,6 +382,10 @@ export async function validateDisabledSamplers(redraw = false) { | |||
| 373 | relatedDOMElement = $('#sampler_priority_block_ooba'); | 382 | relatedDOMElement = $('#sampler_priority_block_ooba'); |
| 374 | } | 383 | } |
| 375 | 384 | ||
| 385 | if (sampler === 'samplers_priorities') { //this is for aphrodite's sampler priority | ||
| 386 | relatedDOMElement = $('#sampler_priority_block_aphrodite'); | ||
| 387 | } | ||
| 388 | |||
| 376 | if (sampler === 'dry_multiplier') { | 389 | if (sampler === 'dry_multiplier') { |
| 377 | relatedDOMElement = $('#dryBlock'); | 390 | relatedDOMElement = $('#dryBlock'); |
| 378 | targetDisplayType = 'block'; | 391 | targetDisplayType = 'block'; |
| @@ -89,6 +89,22 @@ const OOBA_DEFAULT_ORDER = [ | |||
| 89 | 'encoder_repetition_penalty', | 89 | 'encoder_repetition_penalty', |
| 90 | 'no_repeat_ngram', | 90 | 'no_repeat_ngram', |
| 91 | ]; | 91 | ]; |
| 92 | const APHRODITE_DEFAULT_ORDER = [ | ||
| 93 | 'dry', | ||
| 94 | 'penalties', | ||
| 95 | 'no_repeat_ngram', | ||
| 96 | 'temperature', | ||
| 97 | 'top_nsigma', | ||
| 98 | 'top_p_top_k', | ||
| 99 | 'top_a', | ||
| 100 | 'min_p', | ||
| 101 | 'tfs', | ||
| 102 | 'eta_cutoff', | ||
| 103 | 'epsilon_cutoff', | ||
| 104 | 'typical_p', | ||
| 105 | 'quadratic', | ||
| 106 | 'xtc' | ||
| 107 | ]; | ||
| 92 | const BIAS_KEY = '#textgenerationwebui_api-settings'; | 108 | const BIAS_KEY = '#textgenerationwebui_api-settings'; |
| 93 | 109 | ||
| 94 | // Maybe let it be configurable in the future? | 110 | // Maybe let it be configurable in the future? |
| @@ -170,6 +186,7 @@ const settings = { | |||
| 170 | banned_tokens: '', | 186 | banned_tokens: '', |
| 171 | sampler_priority: OOBA_DEFAULT_ORDER, | 187 | sampler_priority: OOBA_DEFAULT_ORDER, |
| 172 | samplers: LLAMACPP_DEFAULT_ORDER, | 188 | samplers: LLAMACPP_DEFAULT_ORDER, |
| 189 | samplers_priorties: APHRODITE_DEFAULT_ORDER, | ||
| 173 | ignore_eos_token: false, | 190 | ignore_eos_token: false, |
| 174 | spaces_between_special_tokens: true, | 191 | spaces_between_special_tokens: true, |
| 175 | speculative_ngram: false, | 192 | speculative_ngram: false, |
| @@ -259,6 +276,7 @@ export const setting_names = [ | |||
| 259 | 'sampler_order', | 276 | 'sampler_order', |
| 260 | 'sampler_priority', | 277 | 'sampler_priority', |
| 261 | 'samplers', | 278 | 'samplers', |
| 279 | 'samplers_priorities', | ||
| 262 | 'n', | 280 | 'n', |
| 263 | 'logit_bias', | 281 | 'logit_bias', |
| 264 | 'custom_model', | 282 | 'custom_model', |
| @@ -627,6 +645,13 @@ jQuery(function () { | |||
| 627 | saveSettingsDebounced(); | 645 | saveSettingsDebounced(); |
| 628 | }); | 646 | }); |
| 629 | 647 | ||
| 648 | $('#aphrodite_default_order').on('click', function () { | ||
| 649 | sortOobaItemsByOrder(APHRODITE_DEFAULT_ORDER); | ||
| 650 | settings.samplers_priorties = APHRODITE_DEFAULT_ORDER; | ||
| 651 | console.log('Default samplers order loaded:', settings.samplers_priorties); | ||
| 652 | saveSettingsDebounced(); | ||
| 653 | }); | ||
| 654 | |||
| 630 | $('#textgen_type').on('change', function () { | 655 | $('#textgen_type').on('change', function () { |
| 631 | const type = String($(this).val()); | 656 | const type = String($(this).val()); |
| 632 | settings.type = type; | 657 | settings.type = type; |
| @@ -835,6 +860,14 @@ function setSettingByName(setting, value, trigger) { | |||
| 835 | return; | 860 | return; |
| 836 | } | 861 | } |
| 837 | 862 | ||
| 863 | if ('samplers_priority' === setting) { | ||
| 864 | value = Array.isArray(value) ? value : APHRODITE_DEFAULT_ORDER; | ||
| 865 | insertMissingArrayItems(APHRODITE_DEFAULT_ORDER, value); | ||
| 866 | sortOobaItemsByOrder(value); | ||
| 867 | settings.samplers_priorties = value; | ||
| 868 | return; | ||
| 869 | } | ||
| 870 | |||
| 838 | if ('samplers' === setting) { | 871 | if ('samplers' === setting) { |
| 839 | value = Array.isArray(value) ? value : LLAMACPP_DEFAULT_ORDER; | 872 | value = Array.isArray(value) ? value : LLAMACPP_DEFAULT_ORDER; |
| 840 | insertMissingArrayItems(LLAMACPP_DEFAULT_ORDER, value); | 873 | insertMissingArrayItems(LLAMACPP_DEFAULT_ORDER, value); |
| @@ -1259,6 +1292,7 @@ export function getTextGenGenerationData(finalPrompt, maxTokens, isImpersonate, | |||
| 1259 | 'nsigma': settings.nsigma, | 1292 | 'nsigma': settings.nsigma, |
| 1260 | 'custom_token_bans': toIntArray(banned_tokens), | 1293 | 'custom_token_bans': toIntArray(banned_tokens), |
| 1261 | 'no_repeat_ngram_size': settings.no_repeat_ngram_size, | 1294 | 'no_repeat_ngram_size': settings.no_repeat_ngram_size, |
| 1295 | 'sampler_priority': settings.samplers_priorties, | ||
| 1262 | }; | 1296 | }; |
| 1263 | 1297 | ||
| 1264 | if (settings.type === OPENROUTER) { | 1298 | if (settings.type === OPENROUTER) { |