Merge branch 'staging' into connection-profile-omit

8083431202f9bd9b5c9517fb9ec6596202cce4ca

Cohee <18619528+Cohee1207@users.noreply.github.com>

5 files changed, +35 -10Showing whitespace changes
public/index.html+1 -1
@@ -1310,7 +1310,7 @@
13101310 </div>
13111311 </div>
13121312
13131313 <div data-tg-type="koboldcpp, aphrodite, tabby" id="xtc_block" class="wide100p">
13141314 <h4 class="wide100p textAlignCenter">
13151315 <label data-i18n="Exclude Top Choices (XTC)">Exclude Top Choices (XTC)</label>
13161316 <a href="https://github.com/oobabooga/text-generation-webui/pull/6335" target="_blank">
public/script.js+1 -1
@@ -4863,7 +4863,7 @@ export function getMaxContextSize(overrideResponseLength = null) {
48634863 this_max_context = Math.min(max_context, 8192);
48644864
48654865 // Added special tokens and whatnot
48664866 this_max_context -= 110;
48674867 }
48684868
48694869 this_max_context = this_max_context - (overrideResponseLength || amount_gen);
public/scripts/nai-settings.js+29 -5
@@ -492,11 +492,37 @@ function getBadWordPermutations(text) {
492492
493493export function getNovelGenerationData(finalPrompt, settings, maxLength, isImpersonate, isContinue, _cfgValues, type) {
494494 console.debug('NovelAI generation data for', type);
495+ const isKayra = nai_settings.model_novel.includes('kayra');
496+ const isErato = nai_settings.model_novel.includes('erato');
495497
496498 const tokenizerType = getTokenizerTypeForModel(nai_settings.model_novel);
499+ const stoppingStrings = getStoppingStrings(isImpersonate, isContinue);
500+
501+ // Llama 3 tokenizer, huh?
502+ if (isErato) {
503+ const additionalStopStrings = [];
504+ for (const stoppingString of stoppingStrings) {
505+ if (stoppingString.startsWith('\n')) {
506+ additionalStopStrings.push('.' + stoppingString);
507+ additionalStopStrings.push('!' + stoppingString);
508+ additionalStopStrings.push('?' + stoppingString);
509+ additionalStopStrings.push('*' + stoppingString);
510+ additionalStopStrings.push('"' + stoppingString);
511+ additionalStopStrings.push('_' + stoppingString);
512+ additionalStopStrings.push('...' + stoppingString);
513+ additionalStopStrings.push('."' + stoppingString);
514+ additionalStopStrings.push('?"' + stoppingString);
515+ additionalStopStrings.push('!"' + stoppingString);
516+ additionalStopStrings.push('.*' + stoppingString);
517+ additionalStopStrings.push(')' + stoppingString);
518+ }
519+ }
520+ stoppingStrings.push(...additionalStopStrings);
521+ }
522+
523+ const MAX_STOP_SEQUENCES = 1024;
497524 const stopSequences = (tokenizerType !== tokenizers.NONE)
498- ? getStoppingStrings(isImpersonate, isContinue)
525+ ? stoppingStrings.slice(0, MAX_STOP_SEQUENCES).map(t => getTextTokens(tokenizerType, t))
499- .map(t => getTextTokens(tokenizerType, t))
500526 : undefined;
501527
502528 const badWordIds = (tokenizerType !== tokenizers.NONE)
@@ -515,11 +541,9 @@ export function getNovelGenerationData(finalPrompt, settings, maxLength, isImper
515541 console.log(finalPrompt);
516542 }
517543
518- const isKayra = nai_settings.model_novel.includes('kayra');
519- const isErato = nai_settings.model_novel.includes('erato');
520544
521545 if (isErato) {
522546 finalPrompt = '<|startoftext|><|reserved_special_token81|>' + finalPrompt;
523547 }
524548
525549 const adjustedMaxLength = (isKayra || isErato) ? getKayraMaxResponseTokens() : maximum_output_length;
public/scripts/sysprompt.js+1 -1
@@ -143,7 +143,7 @@ function selectSystemPromptCallback(args, name) {
143143 foundName = result[0].item;
144144 }
145145
146146 $select.val(foundName).trigger('inputchange');
147147 !quiet && toastr.success(`System prompt "${foundName}" selected`);
148148 return foundName;
149149}
public/style.css+3 -2
@@ -3245,8 +3245,9 @@ grammarly-extension {
32453245}
32463246
32473247.wide_dialogue_popup {
3248- aspect-ratio: 1 / 1;
3248+ /* FIXME: Chrome 129 broke max-height for aspect-ratio sized elements */
3249- width: unset !important;
3249+ /* aspect-ratio: 1 / 1; */
3250+ /* width: unset !important; */
32503251 min-width: var(--sheldWidth);
32513252}
32523253