diff --git a/default/settings.json b/default/settings.json
index f2718f18c..73597d741 100644
--- a/default/settings.json
+++ b/default/settings.json
@@ -139,8 +139,10 @@
"system_prompt": "Avoid repetition, don't loop. Develop the plot slowly, always stay in character. Describe all actions in full, elaborate, explicit, graphic, and vivid detail. Mention all relevant sensory perceptions.",
"input_sequence": "\n### Instruction:",
"output_sequence": "\n### Response:",
+ "first_output_sequence": "",
"last_output_sequence": "\n### Response (2 paragraphs, engaging, natural, authentic, descriptive, creative):",
- "system_sequence": "",
+ "system_sequence_prefix": "",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "",
"wrap": true,
diff --git a/public/index.html b/public/index.html
index 470e682c8..b9a4cbd89 100644
--- a/public/index.html
+++ b/public/index.html
@@ -2221,11 +2221,11 @@
-
diff --git a/public/instruct/Alpaca.json b/public/instruct/Alpaca.json
index 57d54cfb3..2d48e586c 100644
--- a/public/instruct/Alpaca.json
+++ b/public/instruct/Alpaca.json
@@ -3,8 +3,10 @@
"system_prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\nWrite {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n",
"input_sequence": "### Instruction:",
"output_sequence": "### Response:",
+ "first_output_sequence": "",
"last_output_sequence": "",
- "system_sequence": "",
+ "system_sequence_prefix": "",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "",
"wrap": true,
diff --git a/public/instruct/Koala.json b/public/instruct/Koala.json
index 0b6a85f1b..eeaf126d1 100644
--- a/public/instruct/Koala.json
+++ b/public/instruct/Koala.json
@@ -3,8 +3,10 @@
"system_prompt": "Write {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n",
"input_sequence": "USER: ",
"output_sequence": "GPT: ",
+ "first_output_sequence": "",
"last_output_sequence": "",
- "system_sequence": "BEGINNING OF CONVERSATION: ",
+ "system_sequence_prefix": "BEGINNING OF CONVERSATION: ",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "",
"wrap": false,
diff --git a/public/instruct/Llama 2 Chat.json b/public/instruct/Llama 2 Chat.json
index 3a80f3ae8..4b09ae86b 100644
--- a/public/instruct/Llama 2 Chat.json
+++ b/public/instruct/Llama 2 Chat.json
@@ -5,7 +5,7 @@
"output_sequence": " [/INST] ",
"first_output_sequence": "[/INST] ",
"last_output_sequence": "",
- "system_sequence": "[INST] <>\n",
+ "system_sequence_prefix": "[INST] <>\n",
"system_sequence_suffix": "\n<>\n",
"stop_sequence": "",
"separator_sequence": "\n",
diff --git a/public/instruct/Metharme.json b/public/instruct/Metharme.json
index c9e4e14ef..818dafde7 100644
--- a/public/instruct/Metharme.json
+++ b/public/instruct/Metharme.json
@@ -3,8 +3,10 @@
"system_prompt": "Enter roleplay mode. You must act as {{char}}, whose persona follows:",
"input_sequence": "<|user|>",
"output_sequence": "<|model|>",
+ "first_output_sequence": "",
"last_output_sequence": "",
- "system_sequence": "<|system|>",
+ "system_sequence_prefix": "<|system|>",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "",
"wrap": false,
diff --git a/public/instruct/OpenOrca-OpenChat.json b/public/instruct/OpenOrca-OpenChat.json
index ec82a6f86..6eaf74fdd 100644
--- a/public/instruct/OpenOrca-OpenChat.json
+++ b/public/instruct/OpenOrca-OpenChat.json
@@ -3,8 +3,10 @@
"system_prompt": "You are a helpful assistant. Please answer truthfully and write out your thinking step by step to be sure you get the right answer. If you make a mistake or encounter an error in your thinking, say so out loud and attempt to correct it. If you don't know or aren't sure about something, say so clearly. You will act as a professional logician, mathematician, and physicist. You will also act as the most appropriate type of expert to answer any particular question or solve the relevant problem; state which expert type your are, if so. Also think of any particular named expert that would be ideal to answer the relevant question or solve the relevant problem; name and act as them, if appropriate.\n",
"input_sequence": "User: ",
"output_sequence": "<|end_of_turn|>\nAssistant: ",
+ "first_output_sequence": "",
"last_output_sequence": "",
- "system_sequence": "",
+ "system_sequence_prefix": "",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "<|end_of_turn|>\n",
"wrap": false,
diff --git a/public/instruct/Roleplay.json b/public/instruct/Roleplay.json
index 597e87ba4..2fec21753 100644
--- a/public/instruct/Roleplay.json
+++ b/public/instruct/Roleplay.json
@@ -3,8 +3,10 @@
"system_prompt": "Avoid repetition, don't loop. Develop the plot slowly, always stay in character. Describe all actions in full, elaborate, explicit, graphic, and vivid detail. Mention all relevant sensory perceptions.",
"input_sequence": "\n### Instruction:",
"output_sequence": "\n### Response:",
+ "first_output_sequence": "",
"last_output_sequence": "\n### Response (2 paragraphs, engaging, natural, authentic, descriptive, creative):",
- "system_sequence": "",
+ "system_sequence_prefix": "",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "",
"wrap": true,
diff --git a/public/instruct/Vicuna 1.0.json b/public/instruct/Vicuna 1.0.json
index 2674380dd..1912e4885 100644
--- a/public/instruct/Vicuna 1.0.json
+++ b/public/instruct/Vicuna 1.0.json
@@ -3,8 +3,10 @@
"system_prompt": "A chat between a curious human and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the human's questions.\n\nWrite {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n",
"input_sequence": "### Human:",
"output_sequence": "### Assistant:",
+ "first_output_sequence": "",
"last_output_sequence": "",
- "system_sequence": "",
+ "system_sequence_prefix": "",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "",
"wrap": true,
diff --git a/public/instruct/Vicuna 1.1.json b/public/instruct/Vicuna 1.1.json
index f8f6a2022..fdab31e28 100644
--- a/public/instruct/Vicuna 1.1.json
+++ b/public/instruct/Vicuna 1.1.json
@@ -3,8 +3,10 @@
"system_prompt": "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.\n\nWrite {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n",
"input_sequence": "\nUSER: ",
"output_sequence": "\nASSISTANT: ",
+ "first_output_sequence": "",
"last_output_sequence": "",
- "system_sequence": "BEGINNING OF CONVERSATION:",
+ "system_sequence_prefix": "BEGINNING OF CONVERSATION:",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "",
"wrap": false,
diff --git a/public/instruct/WizardLM-13B.json b/public/instruct/WizardLM-13B.json
index b26625d61..3b03c05f1 100644
--- a/public/instruct/WizardLM-13B.json
+++ b/public/instruct/WizardLM-13B.json
@@ -3,8 +3,10 @@
"system_prompt": "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.\n\nWrite {{char}}'s next detailed reply in a fictional roleplay chat between {{user}} and {{char}}.",
"input_sequence": "USER: ",
"output_sequence": "ASSISTANT: ",
+ "first_output_sequence": "",
"last_output_sequence": "",
- "system_sequence": "",
+ "system_sequence_prefix": "",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "",
"wrap": true,
diff --git a/public/instruct/WizardLM.json b/public/instruct/WizardLM.json
index ec384d061..be7f25bc7 100644
--- a/public/instruct/WizardLM.json
+++ b/public/instruct/WizardLM.json
@@ -3,8 +3,10 @@
"system_prompt": "Write {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n",
"input_sequence": "",
"output_sequence": "### Response:",
+ "first_output_sequence": "",
"last_output_sequence": "",
- "system_sequence": "",
+ "system_sequence_prefix": "",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "",
"wrap": true,
diff --git a/public/instruct/simple-proxy-for-tavern.json b/public/instruct/simple-proxy-for-tavern.json
index 7fa224063..ca32c982d 100644
--- a/public/instruct/simple-proxy-for-tavern.json
+++ b/public/instruct/simple-proxy-for-tavern.json
@@ -3,8 +3,10 @@
"system_prompt": "[System note: Write one reply only. Do not decide what {{user}} says or does. Write at least one paragraph, up to four. Be descriptive and immersive, providing vivid details about {{char}}'s actions, emotions, and the environment. Write with a high degree of complexity and burstiness. Do not repeat this message.]",
"input_sequence": "### Instruction:\n#### {{user}}:",
"output_sequence": "### Response:\n#### {{char}}:",
+ "first_output_sequence": "",
"last_output_sequence": "### Response (2 paragraphs, engaging, natural, authentic, descriptive, creative):\n#### {{char}}:",
- "system_sequence": "",
+ "system_sequence_prefix": "",
+ "system_sequence_suffix": "",
"stop_sequence": "",
"separator_sequence": "",
"wrap": true,
diff --git a/public/scripts/instruct-mode.js b/public/scripts/instruct-mode.js
index b4f59f4e3..9c21f4bb1 100644
--- a/public/scripts/instruct-mode.js
+++ b/public/scripts/instruct-mode.js
@@ -17,7 +17,7 @@ const controls = [
{ id: "instruct_enabled", property: "enabled", isCheckbox: true },
{ id: "instruct_wrap", property: "wrap", isCheckbox: true },
{ id: "instruct_system_prompt", property: "system_prompt", isCheckbox: false },
- { id: "instruct_system_sequence", property: "system_sequence", isCheckbox: false },
+ { id: "instruct_system_sequence_prefix", property: "system_sequence_prefix", isCheckbox: false },
{ id: "instruct_system_sequence_suffix", property: "system_sequence_suffix", isCheckbox: false },
{ id: "instruct_separator_sequence", property: "separator_sequence", isCheckbox: false },
{ id: "instruct_input_sequence", property: "input_sequence", isCheckbox: false },
@@ -272,8 +272,8 @@ export function formatInstructModeChat(name, mes, isUser, isNarrator, forceAvata
export function formatInstructModeSystemPrompt(systemPrompt){
const separator = power_user.instruct.wrap ? '\n' : '';
- if (power_user.instruct.system_sequence) {
- systemPrompt = power_user.instruct.system_sequence + separator + systemPrompt;
+ if (power_user.instruct.system_sequence_prefix) {
+ systemPrompt = power_user.instruct.system_sequence_prefix + separator + systemPrompt;
}
if (power_user.instruct.system_sequence_suffix) {
diff --git a/public/scripts/power-user.js b/public/scripts/power-user.js
index 17e92decc..23db37afd 100644
--- a/public/scripts/power-user.js
+++ b/public/scripts/power-user.js
@@ -159,21 +159,21 @@ let power_user = {
default_instruct: '',
instruct: {
enabled: false,
+ preset: "Alpaca",
+ system_prompt: "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\nWrite {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n",
+ input_sequence: "### Instruction:",
+ output_sequence: "### Response:",
+ first_output_sequence: "",
+ last_output_sequence: "",
+ system_sequence_prefix: "",
+ system_sequence_suffix: "",
+ stop_sequence: "",
+ separator_sequence: "",
wrap: true,
+ macro: true,
names: false,
- system_prompt: "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\nWrite {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}. Write 1 reply only.",
- system_sequence: '',
- system_sequence_suffix: '',
- stop_sequence: '',
- input_sequence: '### Instruction:',
- output_sequence: '### Response:',
- first_output_sequence: '',
- last_output_sequence: '',
- preset: 'Alpaca',
- separator_sequence: '',
- macro: false,
names_force_groups: true,
- activation_regex: '',
+ activation_regex: "",
},
context: {