Add a main {{systemPrompt}} macro

This commit is contained in:
Wolfsblvt 2024-04-08 20:05:59 +02:00
parent 63117653bb
commit 845409a239
3 changed files with 5 additions and 2 deletions

View File

@ -518,13 +518,15 @@ function selectMatchingContextTemplate(name) {
/** /**
* Replaces instruct mode macros in the given input string. * Replaces instruct mode macros in the given input string.
* @param {string} input Input string. * @param {string} input Input string.
* @param {Object<string, *>} env - Map of macro names to the values they'll be substituted with. If the param
* @returns {string} String with macros replaced. * @returns {string} String with macros replaced.
*/ */
export function replaceInstructMacros(input) { export function replaceInstructMacros(input, env) {
if (!input) { if (!input) {
return ''; return '';
} }
const instructMacros = { const instructMacros = {
'systemPrompt': (power_user.prefer_character_prompt && env.charPrompt ? env.charPrompt : power_user.instruct.system_prompt),
'instructSystem|instructSystemPrompt': power_user.instruct.system_prompt, 'instructSystem|instructSystemPrompt': power_user.instruct.system_prompt,
'instructSystemPromptPrefix': power_user.instruct.system_sequence_prefix, 'instructSystemPromptPrefix': power_user.instruct.system_sequence_prefix,
'instructSystemPromptSuffix': power_user.instruct.system_sequence_suffix, 'instructSystemPromptSuffix': power_user.instruct.system_sequence_suffix,

View File

@ -257,7 +257,7 @@ export function evaluateMacros(content, env) {
} }
content = diceRollReplace(content); content = diceRollReplace(content);
content = replaceInstructMacros(content); content = replaceInstructMacros(content, env);
content = replaceVariableMacros(content); content = replaceVariableMacros(content);
content = content.replace(/{{newline}}/gi, '\n'); content = content.replace(/{{newline}}/gi, '\n');
content = content.replace(/\n*{{trim}}\n*/gi, ''); content = content.replace(/\n*{{trim}}\n*/gi, '');

View File

@ -49,6 +49,7 @@
<li><tt>&lcub;&lcub;maxPrompt&rcub;&rcub;</tt> max allowed prompt length in tokens = (context size - response length)</li> <li><tt>&lcub;&lcub;maxPrompt&rcub;&rcub;</tt> max allowed prompt length in tokens = (context size - response length)</li>
<li><tt>&lcub;&lcub;exampleSeparator&rcub;&rcub;</tt> context template example dialogues separator</li> <li><tt>&lcub;&lcub;exampleSeparator&rcub;&rcub;</tt> context template example dialogues separator</li>
<li><tt>&lcub;&lcub;chatStart&rcub;&rcub;</tt> context template chat start line</li> <li><tt>&lcub;&lcub;chatStart&rcub;&rcub;</tt> context template chat start line</li>
<li><tt>&lcub;&lcub;systemPrompt&rcub;&rcub;</tt> main system prompt (either character prompt override if chosen, or instructSystemPrompt)</li>
<li><tt>&lcub;&lcub;instructSystemPrompt&rcub;&rcub;</tt> instruct system prompt</li> <li><tt>&lcub;&lcub;instructSystemPrompt&rcub;&rcub;</tt> instruct system prompt</li>
<li><tt>&lcub;&lcub;instructSystemPromptPrefix&rcub;&rcub;</tt> instruct system prompt prefix sequence</li> <li><tt>&lcub;&lcub;instructSystemPromptPrefix&rcub;&rcub;</tt> instruct system prompt prefix sequence</li>
<li><tt>&lcub;&lcub;instructSystemPromptSuffix&rcub;&rcub;</tt> instruct system prompt suffix sequence</li> <li><tt>&lcub;&lcub;instructSystemPromptSuffix&rcub;&rcub;</tt> instruct system prompt suffix sequence</li>