Proper trim sentences with streaming

This commit is contained in:
SillyLossy
2023-05-15 19:05:00 +03:00
parent 1204ba43d8
commit 11716b5fc0

View File

@ -1478,10 +1478,10 @@ class StreamingProcessor {
return text; return text;
} }
onProgressStreaming(messageId, text) { onProgressStreaming(messageId, text, isFinal) {
const isImpersonate = this.type == "impersonate"; const isImpersonate = this.type == "impersonate";
text = this.removePrefix(text); text = this.removePrefix(text);
let processedText = cleanUpMessage(text, isImpersonate); let processedText = cleanUpMessage(text, isImpersonate, !isFinal);
let result = extractNameFromMessage(processedText, this.force_name2, isImpersonate); let result = extractNameFromMessage(processedText, this.force_name2, isImpersonate);
let isName = result.this_mes_is_name; let isName = result.this_mes_is_name;
processedText = result.getMessage; processedText = result.getMessage;
@ -1518,7 +1518,7 @@ class StreamingProcessor {
onFinishStreaming(messageId, text) { onFinishStreaming(messageId, text) {
this.hideStopButton(this.messageId); this.hideStopButton(this.messageId);
this.onProgressStreaming(messageId, text); this.onProgressStreaming(messageId, text, true);
addCopyToCodeBlocks($(`#chat .mes[mesid="${messageId}"]`)); addCopyToCodeBlocks($(`#chat .mes[mesid="${messageId}"]`));
playMessageSound(); playMessageSound();
saveChatConditional(); saveChatConditional();
@ -2146,7 +2146,7 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject,
generatePoe(type, finalPromt).then(onSuccess).catch(onError); generatePoe(type, finalPromt).then(onSuccess).catch(onError);
} }
} }
else if (main_api == 'textgenerationwebui' && textgenerationwebui_settings.streaming && type !== 'quiet') { else if (main_api == 'textgenerationwebui' && isStreamingEnabled() && type !== 'quiet') {
streamingProcessor.generator = await generateTextGenWithStreaming(generate_data, streamingProcessor.abortController.signal); streamingProcessor.generator = await generateTextGenWithStreaming(generate_data, streamingProcessor.abortController.signal);
} }
else { else {
@ -2236,7 +2236,7 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject,
({ type, getMessage } = saveReply('append', getMessage, this_mes_is_name, title)); ({ type, getMessage } = saveReply('append', getMessage, this_mes_is_name, title));
} }
} else { } else {
let chunk = cleanUpMessage(message_already_generated, true); let chunk = cleanUpMessage(message_already_generated, true, true);
let extract = extractNameFromMessage(chunk, force_name2, isImpersonate); let extract = extractNameFromMessage(chunk, force_name2, isImpersonate);
$('#send_textarea').val(extract.getMessage).trigger('input'); $('#send_textarea').val(extract.getMessage).trigger('input');
} }
@ -2960,8 +2960,8 @@ function extractMessageFromData(data) {
return getMessage; return getMessage;
} }
function cleanUpMessage(getMessage, isImpersonate) { function cleanUpMessage(getMessage, isImpersonate, displayIncompleteSentences = false) {
if (power_user.trim_sentences) { if (!displayIncompleteSentences && power_user.trim_sentences) {
getMessage = end_trim_to_sentence(getMessage, power_user.include_newline); getMessage = end_trim_to_sentence(getMessage, power_user.include_newline);
} }