#605 JB prompt override for Poe.

This commit is contained in:
Cohee
2023-06-30 19:32:07 +03:00
parent 8cda073d00
commit fe8db4ded8
3 changed files with 14 additions and 8 deletions

View File

@ -2788,7 +2788,7 @@
<div class="inline-drawer">
<div class="inline-drawer-toggle inline-drawer-header">
<h4>Prompt Overrides <small>(For OpenAI/Claude APIs, and Instruct mode)</small></h4>
<h4>Prompt Overrides <small>(For OpenAI/Claude APIs, Window/OpenRouter, Poe, and Instruct mode)</small></h4>
<div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
@ -2801,7 +2801,7 @@
</div>
<div>
<h4>Jailbreak</h4>
<textarea id="post_history_instructions_textarea" name="post_history_instructions" placeholder="Any contents here will replace the default Jailbreak Prompt used for this character.&#10;(v2 spec: post_history_instructions)" form="form_create" class="text_pole" autocomplete="off" rows="3" maxlength="20000"></textarea>
<textarea id="post_history_instructions_textarea" name="post_history_instructions" placeholder="Any contents here will replace the default Jailbreak Prompt (Character Note for Poe) used for this character.&#10;(v2 spec: post_history_instructions)" form="form_create" class="text_pole" autocomplete="off" rows="3" maxlength="20000"></textarea>
</div>
</div>
</div>

View File

@ -2126,8 +2126,8 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject,
// Moved here to not overflow the Poe context with added prompt bits
if (main_api == 'poe') {
allAnchors = appendPoeAnchors(type, allAnchors);
zeroDepthAnchor = appendPoeAnchors(type, zeroDepthAnchor);
allAnchors = appendPoeAnchors(type, allAnchors, jailbreakPrompt);
zeroDepthAnchor = appendPoeAnchors(type, zeroDepthAnchor, jailbreakPrompt);
}
// hack for regeneration of the first message
@ -2710,7 +2710,7 @@ export function getBiasStrings(textareaText, type) {
if (type === 'swipe' && chat.length - 1 === i) {
continue;
}
if (mes && (mes.is_user || mes.is_system || mes.extra.type === system_message_types.NARRATOR)) {
if (mes && (mes.is_user || mes.is_system || mes.extra?.type === system_message_types.NARRATOR)) {
if (mes.extra?.bias?.trim()?.length > 0) {
promptBias = mes.extra.bias;
}

View File

@ -8,7 +8,10 @@ import {
eventSource,
event_types,
scrollChatToBottom,
name1,
name2,
} from "../script.js";
import { power_user } from "./power-user.js";
import {
SECRET_KEYS,
secret_state,
@ -186,13 +189,16 @@ function onBotChange() {
saveSettingsDebounced();
}
export function appendPoeAnchors(type, prompt) {
export function appendPoeAnchors(type, prompt, jailbreakPrompt) {
const isImpersonate = type === 'impersonate';
const isQuiet = type === 'quiet';
if (poe_settings.character_nudge && !isQuiet && !isImpersonate) {
let characterNudge = '\n' + substituteParams(poe_settings.character_nudge_message);
prompt += characterNudge;
if (power_user.prefer_character_jailbreak && jailbreakPrompt) {
prompt += '\n' + substituteParams(jailbreakPrompt, name1, name2, poe_settings.character_nudge_message);
} else {
prompt += '\n' + substituteParams(poe_settings.character_nudge_message);
}
}
if (poe_settings.impersonation_prompt && isImpersonate) {