Skip to content

Commit

Permalink
Merge pull request SillyTavern#3465 from SillyTavern/quiet-reasoning-…
Browse files Browse the repository at this point in the history
…parse

Remove reasoning from queit prompt results if auto-parse is enabled
  • Loading branch information
Cohee1207 authored Feb 11, 2025
2 parents c3dd3e2 + 63e3816 commit 4c8ae0a
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
5 changes: 3 additions & 2 deletions public/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 = {
Expand Down Expand Up @@ -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);
Expand Down
14 changes: 14 additions & 0 deletions public/scripts/reasoning.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 4c8ae0a

Please sign in to comment.