use strings instead of IDs
| @@ -1718,73 +1718,6 @@ | ||
| 1718 | 1718 | <span data-i18n="Load default order">Load default order</span> |
| 1719 | 1719 | </div> |
| 1720 | 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 | 1721 | <div id="sampler_order_block_lcpp" data-tg-type="llamacpp" class="range-block flexFlowColumn wide100p"> |
| 1789 | 1722 | <hr class="wide100p"> |
| 1790 | 1723 | <h4 class="range-block-title justifyCenter"> |
| @@ -1841,6 +1774,35 @@ | ||
| 1841 | 1774 | <span data-i18n="Load default order">Load default order</span> |
| 1842 | 1775 | </div> |
| 1843 | 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 | 1806 | </div> |
| 1845 | 1807 | </div><!-- end of textgen settings--> |
| 1846 | 1808 | <div id="openai_settings"> |
| @@ -129,6 +129,10 @@ function setSamplerListListeners() { | ||
| 129 | 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 | 136 | if (samplerName === 'penalty_alpha') { //contrastive search only has one sampler, does it need its own block? |
| 133 | 137 | relatedDOMElement = $('#contrastiveSearchBlock'); |
| 134 | 138 | } |
| @@ -237,6 +241,11 @@ async function listSamplers(main_api, arrayOnly = false) { | ||
| 237 | 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 | 249 | if (sampler === 'penalty_alpha') { //contrastive search only has one sampler, does it need its own block? |
| 241 | 250 | targetDOMelement = $('#contrastiveSearchBlock'); |
| 242 | 251 | displayname = 'Contrast Search Block'; |
| @@ -373,6 +382,10 @@ export async function validateDisabledSamplers(redraw = false) { | ||
| 373 | 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 | 389 | if (sampler === 'dry_multiplier') { |
| 377 | 390 | relatedDOMElement = $('#dryBlock'); |
| 378 | 391 | targetDisplayType = 'block'; |
| @@ -89,6 +89,22 @@ const OOBA_DEFAULT_ORDER = [ | ||
| 89 | 89 | 'encoder_repetition_penalty', |
| 90 | 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 | 108 | const BIAS_KEY = '#textgenerationwebui_api-settings'; |
| 93 | 109 | |
| 94 | 110 | // Maybe let it be configurable in the future? |
| @@ -170,6 +186,7 @@ const settings = { | ||
| 170 | 186 | banned_tokens: '', |
| 171 | 187 | sampler_priority: OOBA_DEFAULT_ORDER, |
| 172 | 188 | samplers: LLAMACPP_DEFAULT_ORDER, |
| 189 | + samplers_priorties: APHRODITE_DEFAULT_ORDER, | |
| 173 | 190 | ignore_eos_token: false, |
| 174 | 191 | spaces_between_special_tokens: true, |
| 175 | 192 | speculative_ngram: false, |
| @@ -259,6 +276,7 @@ export const setting_names = [ | ||
| 259 | 276 | 'sampler_order', |
| 260 | 277 | 'sampler_priority', |
| 261 | 278 | 'samplers', |
| 279 | + 'samplers_priorities', | |
| 262 | 280 | 'n', |
| 263 | 281 | 'logit_bias', |
| 264 | 282 | 'custom_model', |
| @@ -627,6 +645,13 @@ jQuery(function () { | ||
| 627 | 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 | 655 | $('#textgen_type').on('change', function () { |
| 631 | 656 | const type = String($(this).val()); |
| 632 | 657 | settings.type = type; |
| @@ -835,6 +860,14 @@ function setSettingByName(setting, value, trigger) { | ||
| 835 | 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 | 871 | if ('samplers' === setting) { |
| 839 | 872 | value = Array.isArray(value) ? value : LLAMACPP_DEFAULT_ORDER; |
| 840 | 873 | insertMissingArrayItems(LLAMACPP_DEFAULT_ORDER, value); |
| @@ -1259,6 +1292,7 @@ export function getTextGenGenerationData(finalPrompt, maxTokens, isImpersonate, | ||
| 1259 | 1292 | 'nsigma': settings.nsigma, |
| 1260 | 1293 | 'custom_token_bans': toIntArray(banned_tokens), |
| 1261 | 1294 | 'no_repeat_ngram_size': settings.no_repeat_ngram_size, |
| 1295 | + 'sampler_priority': settings.samplers_priorties, | |
| 1262 | 1296 | }; |
| 1263 | 1297 | |
| 1264 | 1298 | if (settings.type === OPENROUTER) { |