Remove reasoning from queit prompt results if auto-parse is enabled

Fixes #3457
This commit is contained in:
Cohee 2025-02-11 22:35:56 +02:00
parent c3dd3e246e
commit 63e3816e92
2 changed files with 17 additions and 2 deletions

View File

@ -269,7 +269,7 @@ import { initSettingsSearch } from './scripts/setting-search.js';
import { initBulkEdit } from './scripts/bulk-edit.js';
import { deriveTemplatesFromChatTemplate } from './scripts/chat-templates.js';
import { getContext } from './scripts/st-context.js';
import { extractReasoningFromData, initReasoning, PromptReasoning, updateReasoningTimeUI } from './scripts/reasoning.js';
import { extractReasoningFromData, initReasoning, PromptReasoning, removeReasoningFromString, updateReasoningTimeUI } from './scripts/reasoning.js';
// API OBJECT FOR EXTERNAL WIRING
globalThis.SillyTavern = {
@ -2793,7 +2793,8 @@ export async function generateQuietPrompt(quiet_prompt, quietToLoud, skipWIAN, q
TempResponseLength.save(main_api, responseLength);
eventHook = TempResponseLength.setupEventHook(main_api);
}
return await Generate('quiet', options);
const result = await Generate('quiet', options);
return removeReasoningFromString(result);
} finally {
if (responseLengthCustomized && TempResponseLength.isCustomized()) {
TempResponseLength.restore(main_api);

View File

@ -446,6 +446,20 @@ function setReasoningEventHandlers() {
});
}
/**
* Removes reasoning from a string if auto-parsing is enabled.
* @param {string} str Input string
* @returns {string} Output string
*/
export function removeReasoningFromString(str) {
if (!power_user.reasoning.auto_parse) {
return str;
}
const parsedReasoning = parseReasoningFromString(str);
return parsedReasoning?.content ?? str;
}
/**
* Parses reasoning from a string using the power user reasoning settings.
* @typedef {Object} ParsedReasoning