Merge branch 'staging' into if-command-default-arguments

This commit is contained in:
Wolfsblvt
2024-09-25 20:46:40 +02:00
151 changed files with 1655 additions and 905 deletions

1
.gitignore vendored
View File

@ -49,3 +49,4 @@ public/css/user.css
/data
/default/scaffold
public/scripts/extensions/third-party
/certs

View File

@ -110,9 +110,6 @@ enableExtensionsAutoUpdate: true
# Additional model tokenizers can be downloaded on demand.
# Disabling will fallback to another locally available tokenizer.
enableDownloadableTokenizers: true
# Vector storage settings
vectors:
enableModelScopes: false
# Extension settings
extras:
# Disables automatic model download from HuggingFace

View File

@ -319,6 +319,26 @@
"filename": "presets/novel/Writers-Daemon-Kayra.json",
"type": "novel_preset"
},
{
"filename": "presets/novel/Erato-Dragonfruit.json",
"type": "novel_preset"
},
{
"filename": "presets/novel/Erato-Golden Arrow.json",
"type": "novel_preset"
},
{
"filename": "presets/novel/Erato-Shosetsu.json",
"type": "novel_preset"
},
{
"filename": "presets/novel/Erato-Wilder.json",
"type": "novel_preset"
},
{
"filename": "presets/novel/Erato-Zany Scribe.json",
"type": "novel_preset"
},
{
"filename": "presets/textgen/Asterism.json",
"type": "textgen_preset"
@ -467,10 +487,6 @@
"filename": "presets/context/Adventure.json",
"type": "context"
},
{
"filename": "presets/context/Alpaca-Roleplay.json",
"type": "context"
},
{
"filename": "presets/context/Alpaca-Single-Turn.json",
"type": "context"
@ -551,10 +567,6 @@
"filename": "presets/instruct/Adventure.json",
"type": "instruct"
},
{
"filename": "presets/instruct/Alpaca-Roleplay.json",
"type": "instruct"
},
{
"filename": "presets/instruct/Alpaca-Single-Turn.json",
"type": "instruct"
@ -679,6 +691,54 @@
"filename": "presets/instruct/Gemma 2.json",
"type": "instruct"
},
{
"filename": "presets/sysprompt/Actor.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Assistant - Expert.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Assistant - Simple.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Chain of Thought.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Roleplay - Detailed.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Roleplay - Immersive.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Roleplay - Simple.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Text Adventure.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Writer - Creative.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Writer - Realistic.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Blank.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Neutral - Chat.json",
"type": "sysprompt"
},
{
"filename": "presets/instruct/Mistral V1.json",
"type": "instruct"

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": false,
"trim_sentences": false,
"include_newline": false,
"single_line": true,
"name": "Adventure"
}
}

View File

@ -1,12 +0,0 @@
{
"story_string": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}.\n\n{{#if system}}{{system}}\n\n{{/if}}### Input:\n{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}\n\n",
"example_separator": "### New Roleplay:",
"chat_start": "### New Roleplay:",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Alpaca-Roleplay"
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": false,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Alpaca-Single-Turn"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Alpaca"
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "ChatML-Names"
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "ChatML"
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Command R"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Default"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": false,
"trim_sentences": true,
"include_newline": false,
"single_line": false,
"name": "DreamGen Role-Play V1 ChatML"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": false,
"trim_sentences": true,
"include_newline": false,
"single_line": false,
"name": "DreamGen Role-Play V1 Llama3"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Gemma 2"
}
}

View File

@ -1,12 +1,11 @@
{
"story_string": "### Instruction:\nWrite {{char}}'s next reply in this roleplay with {{user}}. Use the provided character sheet and example dialogue for formatting direction and character speech patterns.\n\n{{#if system}}{{system}}\n\n{{/if}}### Character Sheet:\n{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}",
"story_string": "### Instruction:\n{{#if system}}{{system}}\n\n{{/if}}### Character Sheet:\n{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}",
"example_separator": "### Example:",
"chat_start": "### START ROLEPLAY:",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Libra-32B"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Lightning 1.1"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Llama 2 Chat"
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Llama 3 Instruct"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Llama-3-Instruct-Names"
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Minimalist"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Mistral V1"
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Mistral V2 & V3"
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Mistral V3-Tekken"
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "NovelAI"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "OldDefault"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Phi"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Pygmalion"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Story"
}
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "Synthia"
}

View File

@ -6,7 +6,6 @@
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"include_newline": false,
"single_line": false,
"name": "simple-proxy-for-tavern"
}
}

View File

@ -1,5 +1,4 @@
{
"system_prompt": "[Enter Adventure Mode. Narrate the story based on {{user}}'s dialogue and actions after \">\". Describe the surroundings in vivid detail. Be detailed, creative, verbose, and proactive. Move the story forward by introducing fantasy elements and interesting characters.]",
"input_sequence": "",
"output_sequence": "",
"last_output_sequence": "",

View File

@ -1,23 +0,0 @@
{
"system_prompt": "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": "### Instruction:",
"output_sequence": "### Response:",
"last_output_sequence": "### Response (2 paragraphs, engaging, natural, authentic, descriptive, creative):",
"system_sequence": "### Input:",
"stop_sequence": "",
"wrap": true,
"macro": true,
"names_behavior": "always",
"activation_regex": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",
"first_output_sequence": "",
"skip_examples": false,
"output_suffix": "\n\n",
"input_suffix": "\n\n",
"system_suffix": "\n\n",
"user_alignment_message": "",
"system_same_as_user": false,
"last_system_sequence": "",
"name": "Alpaca-Roleplay"
}

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Write {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\nWrite 1 reply only, italicize actions, and avoid quotation marks. Use markdown. Be proactive, creative, and drive the plot and conversation forward. Include dialog as well as narration.",
"input_sequence": "",
"output_sequence": "",
"last_output_sequence": "\n### Response:",
@ -11,7 +10,7 @@
"activation_regex": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",
"first_output_sequence": "<START OF ROLEPLAY>",
"first_output_sequence": "<START OF CHAT>",
"skip_examples": false,
"output_suffix": "",
"input_suffix": "",

View File

@ -1,5 +1,4 @@
{
"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:",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}.",
"input_sequence": "<|im_start|>[{{name}}]",
"output_sequence": "<|im_start|>[{{name}}]",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}.",
"input_sequence": "<|im_start|>user",
"output_sequence": "<|im_start|>assistant",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.",
"input_sequence": "<|START_OF_TURN_TOKEN|><|USER_TOKEN|>",
"output_sequence": "<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>",
"first_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below.",
"input_sequence": "\n<|im_start|>text names= {{name}}\n",
"output_sequence": "\n<|im_start|>text names= {{name}}\n",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below.",
"input_sequence": "<|eot_id|>\n<|start_header_id|>writer character: {{user}}<|end_header_id|>\n\n",
"output_sequence": "<|eot_id|>\n<|start_header_id|>writer character: {{char}}<|end_header_id|>\n\n",
"first_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Continue writing this story and portray characters realistically.",
"input_sequence": "<start_of_turn>user",
"output_sequence": "<start_of_turn>model",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Write {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n",
"input_sequence": "USER: ",
"output_sequence": "GPT: ",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"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": "",
"output_sequence": "",
"last_output_sequence": "\n### Response:",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\nTake the role of {{char}} in a play that leaves a lasting impression on {{user}}. Write {{char}}'s next reply.\nNever skip or gloss over {{char}}s actions. Progress the scene at a naturally slow pace.\n\n",
"input_sequence": "### Instruction:",
"output_sequence": "### Response: (length = unlimited)",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.",
"input_sequence": "[INST] ",
"output_sequence": "",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "You are an expert actor that can fully immerse yourself into any role given. You do not break character for any reason, even if someone tries addressing you as an AI or language model. Currently your role is {{char}}, which is described in detail below. As {{char}}, continue the exchange with {{user}}.",
"input_sequence": "<|start_header_id|>user<|end_header_id|>\n\n",
"output_sequence": "<|start_header_id|>assistant<|end_header_id|>\n\n",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "You are an expert actor that can fully immerse yourself into any role given. You do not break character for any reason, even if someone tries addressing you as an AI or language model. Currently your role is {{char}}, which is described in detail below. As {{char}}, continue the exchange with {{user}}.",
"input_sequence": "<|start_header_id|>[{{name}}]<|end_header_id|>\n\n",
"output_sequence": "<|start_header_id|>[{{name}}]<|end_header_id|>\n\n",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Enter roleplay mode. You must act as {{char}}, whose persona follows:",
"input_sequence": "<|user|>",
"output_sequence": "<|model|>",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.",
"input_sequence": " [INST] ",
"output_sequence": " [/INST] ",
"last_output_sequence": " [/INST]",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.",
"input_sequence": "[INST] ",
"output_sequence": "[/INST] ",
"last_output_sequence": "[/INST]",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.",
"input_sequence": "[INST]",
"output_sequence": "[/INST]",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"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": "\nUser: ",
"output_sequence": "\nAssistant: ",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.",
"input_sequence": "<|user|>\n",
"output_sequence": "<|assistant|>\n",
"first_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Enter RP mode. You shall reply to {{user}} while staying in character. Your responses must be detailed, creative, immersive, and drive the scenario forward. You will follow {{char}}'s persona.",
"input_sequence": "<|user|>",
"output_sequence": "<|model|>",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "",
"input_sequence": "",
"output_sequence": "",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Elaborate on the topic using a Tree of Thoughts and backtrack when necessary to construct a clear, cohesive Chain of Thought reasoning. Always answer without hesitation.",
"input_sequence": "USER: ",
"output_sequence": "ASSISTANT: ",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"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:",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"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: ",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"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: ",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"system_prompt": "Write {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n",
"input_sequence": "",
"output_sequence": "### Response:",
"last_output_sequence": "",

View File

@ -1,5 +1,4 @@
{
"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#### {{name}}:",
"output_sequence": "### Response:\n#### {{name}}:",
"last_output_sequence": "### Response (2 paragraphs, engaging, natural, authentic, descriptive, creative):\n#### {{name}}:",

View File

@ -14,7 +14,6 @@
"use_cache": false,
"return_full_text": false,
"prefix": "vanilla",
"cfg_scale": 1,
"phrase_rep_pen": "medium",
"max_context": 7800,
"min_p": 0,

View File

@ -1,5 +1,5 @@
{
"order": [6, 0, 1, 2, 3],
"order": [0, 1, 2, 3],
"temperature": 1,
"max_length": 150,
"min_length": 1,
@ -14,7 +14,6 @@
"return_full_text": false,
"prefix": "vanilla",
"phrase_rep_pen": "medium",
"cfg_scale": 1.55,
"max_context": 7800,
"min_p": 0,
"math1_temp": 1,

View File

@ -1,5 +1,5 @@
{
"order": [6, 2, 3, 1, 0],
"order": [2, 3, 1, 0],
"temperature": 1,
"max_length": 150,
"min_length": 1,
@ -15,7 +15,6 @@
"return_full_text": false,
"prefix": "vanilla",
"phrase_rep_pen": "very_aggressive",
"cfg_scale": 1.3,
"max_context": 7800,
"min_p": 0,
"math1_temp": 1,

View File

@ -15,7 +15,6 @@
"use_cache": false,
"return_full_text": false,
"prefix": "vanilla",
"cfg_scale": 1,
"phrase_rep_pen": "aggressive",
"max_context": 7800,
"min_p": 0,

View File

@ -1,5 +1,5 @@
{
"order": [8, 6, 5, 0, 3],
"order": [8, 5, 0, 3],
"temperature": 0.9,
"max_length": 150,
"min_length": 1,
@ -15,7 +15,6 @@
"return_full_text": false,
"prefix": "vanilla",
"phrase_rep_pen": "off",
"cfg_scale": 1.48,
"max_context": 7800,
"min_p": 0,
"math1_temp": 1,

View File

@ -15,7 +15,6 @@
"use_cache": false,
"return_full_text": false,
"prefix": "vanilla",
"cfg_scale": 1,
"phrase_rep_pen": "very_light",
"max_context": 7800,
"min_p": 0,

View File

@ -0,0 +1,31 @@
{
"max_context": 8000,
"temperature": 1.37,
"max_length": 150,
"min_length": 1,
"top_k": 0,
"top_p": 1,
"top_a": 0.1,
"typical_p": 0.875,
"tail_free_sampling": 0.87,
"repetition_penalty": 3.25,
"repetition_penalty_range": 6000,
"repetition_penalty_slope": 3.25,
"repetition_penalty_frequency": 0,
"repetition_penalty_presence": 0,
"phrase_rep_pen": "off",
"mirostat_lr": 0.2,
"mirostat_tau": 4,
"math1_temp": 0.9,
"math1_quad": 0.07,
"math1_quad_entropy_scale": -0.05,
"min_p": 0.035,
"order": [
0,
5,
9,
10,
8,
4
]
}

View File

@ -0,0 +1,27 @@
{
"max_context": 8000,
"temperature": 1,
"max_length": 150,
"min_length": 1,
"top_k": 0,
"top_p": 0.995,
"top_a": 1,
"typical_p": 1,
"tail_free_sampling": 0.87,
"repetition_penalty": 1.5,
"repetition_penalty_range": 2240,
"repetition_penalty_slope": 1,
"repetition_penalty_frequency": 0,
"repetition_penalty_presence": 0,
"phrase_rep_pen": "light",
"mirostat_lr": 1,
"mirostat_tau": 0,
"math1_temp": 0.3,
"math1_quad": 0.19,
"math1_quad_entropy_scale": 0,
"min_p": 0,
"order": [
9,
2
]
}

View File

@ -0,0 +1,27 @@
{
"max_context": 8000,
"temperature": 1,
"max_length": 150,
"min_length": 1,
"top_k": 50,
"top_p": 0.85,
"top_a": 1,
"typical_p": 1,
"tail_free_sampling": 0.895,
"repetition_penalty": 1.63,
"repetition_penalty_range": 1024,
"repetition_penalty_slope": 3.33,
"repetition_penalty_frequency": 0.0035,
"repetition_penalty_presence": 0,
"phrase_rep_pen": "medium",
"mirostat_lr": 1,
"mirostat_tau": 0,
"math1_temp": 0.3,
"math1_quad": 0.0645,
"math1_quad_entropy_scale": 0.05,
"min_p": 0.05,
"order": [
9,
10
]
}

View File

@ -0,0 +1,27 @@
{
"max_context": 8000,
"temperature": 1,
"max_length": 150,
"min_length": 1,
"top_k": 300,
"top_p": 0.98,
"top_a": 0.004,
"typical_p": 0.96,
"tail_free_sampling": 0.96,
"repetition_penalty": 1.48,
"repetition_penalty_range": 2240,
"repetition_penalty_slope": 0.64,
"repetition_penalty_frequency": 0,
"repetition_penalty_presence": 0,
"phrase_rep_pen": "medium",
"mirostat_lr": 1,
"mirostat_tau": 0,
"math1_temp": -0.0485,
"math1_quad": 0.145,
"math1_quad_entropy_scale": 0,
"min_p": 0.02,
"order": [
9,
10
]
}

View File

@ -0,0 +1,27 @@
{
"max_context": 8000,
"temperature": 1,
"max_length": 150,
"min_length": 1,
"top_k": 0,
"top_p": 0.99,
"top_a": 1,
"typical_p": 1,
"tail_free_sampling": 0.99,
"repetition_penalty": 1,
"repetition_penalty_range": 64,
"repetition_penalty_slope": 1,
"repetition_penalty_frequency": 0.75,
"repetition_penalty_presence": 1.5,
"phrase_rep_pen": "medium",
"mirostat_lr": 1,
"mirostat_tau": 1,
"math1_temp": -0.4,
"math1_quad": 0.6,
"math1_quad_entropy_scale": -0.1,
"min_p": 0.08,
"order": [
9,
2
]
}

View File

@ -16,7 +16,6 @@
"use_cache": false,
"return_full_text": false,
"prefix": "vanilla",
"cfg_scale": 1,
"phrase_rep_pen": "very_light",
"max_context": 7800,
"min_p": 0,

View File

@ -14,7 +14,6 @@
"use_cache": false,
"return_full_text": false,
"prefix": "vanilla",
"cfg_scale": 1,
"phrase_rep_pen": "off",
"max_context": 7800,
"min_p": 0,

View File

@ -1,5 +1,5 @@
{
"order": [6, 0, 8, 5, 3],
"order": [0, 8, 5, 3],
"temperature": 1.5,
"max_length": 150,
"min_length": 1,
@ -15,7 +15,6 @@
"return_full_text": false,
"prefix": "vanilla",
"phrase_rep_pen": "very_aggressive",
"cfg_scale": 1.4,
"max_context": 7800,
"min_p": 0,
"math1_temp": 1,

View File

@ -16,7 +16,6 @@
"use_cache": false,
"return_full_text": false,
"prefix": "vanilla",
"cfg_scale": 1,
"phrase_rep_pen": "very_light",
"max_context": 7800,
"min_p": 0,

View File

@ -16,7 +16,6 @@
"use_cache": false,
"return_full_text": false,
"prefix": "vanilla",
"cfg_scale": 1,
"phrase_rep_pen": "very_light",
"max_context": 7800,
"min_p": 0,

View File

@ -1,5 +1,5 @@
{
"order": [6, 0, 4, 1, 2, 5, 3],
"order": [0, 4, 1, 2, 5, 3],
"temperature": 1.31,
"max_length": 150,
"min_length": 1,
@ -17,7 +17,6 @@
"return_full_text": false,
"prefix": "vanilla",
"phrase_rep_pen": "medium",
"cfg_scale": 1.35,
"max_context": 7800,
"min_p": 0,
"math1_temp": 1,

View File

@ -15,7 +15,6 @@
"return_full_text": false,
"prefix": "vanilla",
"phrase_rep_pen": "medium",
"cfg_scale": 1.0,
"max_context": 7800,
"min_p": 0,
"math1_temp": 1,

View File

@ -16,7 +16,6 @@
"use_cache": false,
"return_full_text": false,
"prefix": "vanilla",
"cfg_scale": 1,
"phrase_rep_pen": "very_light",
"max_context": 7800,
"min_p": 0,

View File

@ -14,7 +14,6 @@
"return_full_text": false,
"prefix": "vanilla",
"phrase_rep_pen": "aggressive",
"cfg_scale": 1.0,
"max_context": 7800,
"min_p": 0,
"math1_temp": 1,

View File

@ -1,5 +1,5 @@
{
"order": [6, 0, 5],
"order": [0, 5],
"temperature": 0.895,
"max_length": 150,
"min_length": 1,
@ -13,7 +13,6 @@
"return_full_text": false,
"prefix": "vanilla",
"phrase_rep_pen": "aggressive",
"cfg_scale": 1.3,
"max_context": 7800,
"min_p": 0,
"math1_temp": 1,

View File

@ -16,7 +16,6 @@
"use_cache": false,
"return_full_text": false,
"prefix": "vanilla",
"cfg_scale": 1,
"phrase_rep_pen": "very_light",
"max_context": 7800,
"min_p": 0,

View File

@ -5,7 +5,6 @@
"windowai_model": "",
"openrouter_model": "OR_Website",
"openrouter_use_fallback": false,
"openrouter_force_instruct": false,
"openrouter_group_models": false,
"openrouter_sort_models": "alphabetically",
"ai21_model": "jamba-1.5-large",

View File

@ -0,0 +1,4 @@
{
"name": "Actor",
"content": "You are an expert actor that can fully immerse yourself into any role given. You do not break character for any reason, even if someone tries addressing you as an AI or language model. Currently your role is {{char}}, which is described in detail below. As {{char}}, continue the exchange with {{user}}."
}

View File

@ -0,0 +1,4 @@
{
"name": "Assistant - Expert",
"content": "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."
}

View File

@ -0,0 +1,4 @@
{
"name": "Assistant - Simple",
"content": "A chat between a curious human and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the human's questions."
}

View File

@ -0,0 +1,4 @@
{
"name": "Blank",
"content": ""
}

View File

@ -0,0 +1,4 @@
{
"name": "Chain of Thought",
"content": "Elaborate on the topic using a Tree of Thoughts and backtrack when necessary to construct a clear, cohesive Chain of Thought reasoning. Always answer without hesitation."
}

View File

@ -0,0 +1,4 @@
{
"name": "Neutral - Chat",
"content": "Write {{char}}'s next reply in a fictional chat between {{char}} and {{user}}."
}

View File

@ -0,0 +1,4 @@
{
"name": "Roleplay - Detailed",
"content": "Develop the plot slowly, always stay in character. Describe all actions in full, elaborate, explicit, graphic, and vivid detail. Mention all relevant sensory perceptions. Keep the story immersive and engaging."
}

View File

@ -0,0 +1,4 @@
{
"name": "Roleplay - Immersive",
"content": "[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.]"
}

View File

@ -0,0 +1,4 @@
{
"name": "Roleplay - Simple",
"content": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}."
}

View File

@ -0,0 +1,4 @@
{
"name": "Text Adventure",
"content": "[Enter Adventure Mode. Narrate the story based on {{user}}'s dialogue and actions after \">\". Describe the surroundings in vivid detail. Be detailed, creative, verbose, and proactive. Move the story forward by introducing fantasy elements and interesting characters.]"
}

View File

@ -0,0 +1,4 @@
{
"name": "Writer - Creative",
"content": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below."
}

View File

@ -0,0 +1,4 @@
{
"name": "Writer - Realistic",
"content": "Continue writing this story and portray characters realistically."
}

View File

@ -90,7 +90,6 @@
"pin_examples": false,
"strip_examples": false,
"trim_sentences": false,
"include_newline": false,
"always_force_name2": true,
"user_prompt_bias": "",
"show_user_prompt_bias": true,
@ -150,11 +149,9 @@
"continue_on_send": false,
"trim_spaces": true,
"relaxed_api_urls": false,
"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:",
"last_output_sequence": "",
@ -174,7 +171,11 @@
"user_alignment_message": "",
"system_same_as_user": false
},
"default_context": "Default",
"sysprompt": {
"enabled": true,
"name": "Neutral - Chat",
"content": "Write {{char}}'s next reply in a fictional chat between {{char}} and {{user}}."
},
"context": {
"preset": "Default",
"story_string": "{{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}",
@ -234,7 +235,7 @@
"lengthPenaltyStep": 0.1,
"memoryFrozen": false,
"source": "extras",
"prompt": "[Pause your roleplay. Summarize the most important facts and events that have happened in the chat so far. If a summary already exists in your memory, use that as a base and expand with new facts. Limit the summary to {{words}} words or less. Your response should include nothing but the summary.]",
"prompt": "Ignore previous instructions. Summarize the most important facts and events in the story so far. If a summary already exists in your memory, use that as a base and expand with new facts. Limit the summary to {{words}} words or less. Your response should include nothing but the summary.",
"promptWords": 200,
"promptMinWords": 25,
"promptMaxWords": 1000,
@ -297,13 +298,13 @@
"horde_karras": true,
"refine_mode": false,
"prompts": {
"0": "[In the next response I want you to provide only a detailed comma-delimited list of keywords and phrases which describe {{char}}. The list must include all of the following items in this order: name, species and race, gender, age, clothing, occupation, physical features and appearances. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'full body portrait,']",
"1": "[Pause your roleplay and provide a detailed description of {{user}}'s physical appearance from the perspective of {{char}} in the form of a comma-delimited list of keywords and phrases. The list must include all of the following items in this order: name, species and race, gender, age, clothing, occupation, physical features and appearances. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'full body portrait,'. Ignore the rest of the story when crafting this description. Do not roleplay as {{char}} when writing this description, and do not attempt to continue the story.]",
"2": "[Pause your roleplay and provide a detailed description for all of the following: a brief recap of recent events in the story, {{char}}'s appearance, and {{char}}'s surroundings. Do not roleplay while writing this description.]",
"3": "[Pause your roleplay and provide ONLY the last chat message string back to me verbatim. Do not write anything after the string. Do not roleplay at all in your response. Do not continue the roleplay story.]",
"4": "[Pause your roleplay. Your next response must be formatted as a single comma-delimited list of concise keywords. The list will describe of the visual details included in the last chat message.\n\n Only mention characters by using pronouns ('he','his','she','her','it','its') or neutral nouns ('male', 'the man', 'female', 'the woman').\n\n Ignore non-visible things such as feelings, personality traits, thoughts, and spoken dialog.\n\n Add keywords in this precise order:\n a keyword to describe the location of the scene,\n a keyword to mention how many characters of each gender or type are present in the scene (minimum of two characters:\n {{user}} and {{char}}, example: '2 men ' or '1 man 1 woman ', '1 man 3 robots'),\n\n keywords to describe the relative physical positioning of the characters to each other (if a commonly known term for the positioning is known use it instead of describing the positioning in detail) + 'POV',\n\n a single keyword or phrase to describe the primary act taking place in the last chat message,\n\n keywords to describe {{char}}'s physical appearance and facial expression,\n keywords to describe {{char}}'s actions,\n keywords to describe {{user}}'s physical appearance and actions.\n\n If character actions involve direct physical interaction with another character, mention specifically which body parts interacting and how.\n\n A correctly formatted example response would be:\n '(location),(character list by gender),(primary action), (relative character position) POV, (character 1's description and actions), (character 2's description and actions)']",
"5": "[In the next response I want you to provide only a detailed comma-delimited list of keywords and phrases which describe {{char}}. The list must include all of the following items in this order: name, species and race, gender, age, facial features and expressions, occupation, hair and hair accessories (if any), what they are wearing on their upper body (if anything). Do not describe anything below their neck. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'close up facial portrait,']",
"7": "[Pause your roleplay and provide a detailed description of {{char}}'s surroundings in the form of a comma-delimited list of keywords and phrases. The list must include all of the following items in this order: location, time of day, weather, lighting, and any other relevant details. Do not include descriptions of characters and non-visual qualities such as names, personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'background,'. Ignore the rest of the story when crafting this description. Do not roleplay as {{user}} when writing this description, and do not attempt to continue the story.]"
"0": "In the next response I want you to provide only a detailed comma-delimited list of keywords and phrases which describe {{char}}. The list must include all of the following items in this order: name, species and race, gender, age, clothing, occupation, physical features and appearances. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'full body portrait,'",
"1": "Ignore previous instructions and provide a detailed description of {{user}}'s physical appearance from the perspective of {{char}} in the form of a comma-delimited list of keywords and phrases. The list must include all of the following items in this order: name, species and race, gender, age, clothing, occupation, physical features and appearances. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'full body portrait,'. Ignore the rest of the story when crafting this description. Do not reply as {{char}} when writing this description, and do not attempt to continue the story.",
"2": "Ignore previous instructions and provide a detailed description for all of the following: a brief recap of recent events in the story, {{char}}'s appearance, and {{char}}'s surroundings. Do not reply as {{char}} when writing this description, and do not attempt to continue the story.",
"3": "Ignore previous instructions and provide ONLY the last chat message string back to me verbatim. Do not write anything after the string. Do not reply as {{char}} when writing this description, and do not attempt to continue the story.",
"4": "Ignore previous instructions. Your next response must be formatted as a single comma-delimited list of concise keywords. The list will describe of the visual details included in the last chat message.\n\n Only mention characters by using pronouns ('he','his','she','her','it','its') or neutral nouns ('male', 'the man', 'female', 'the woman').\n\n Ignore non-visible things such as feelings, personality traits, thoughts, and spoken dialog.\n\n Add keywords in this precise order:\n a keyword to describe the location of the scene,\n a keyword to mention how many characters of each gender or type are present in the scene (minimum of two characters:\n {{user}} and {{char}}, example: '2 men ' or '1 man 1 woman ', '1 man 3 robots'),\n\n keywords to describe the relative physical positioning of the characters to each other (if a commonly known term for the positioning is known use it instead of describing the positioning in detail) + 'POV',\n\n a single keyword or phrase to describe the primary act taking place in the last chat message,\n\n keywords to describe {{char}}'s physical appearance and facial expression,\n keywords to describe {{char}}'s actions,\n keywords to describe {{user}}'s physical appearance and actions.\n\n If character actions involve direct physical interaction with another character, mention specifically which body parts interacting and how.\n\n A correctly formatted example response would be:\n '(location),(character list by gender),(primary action), (relative character position) POV, (character 1's description and actions), (character 2's description and actions)'",
"5": "In the next response I want you to provide only a detailed comma-delimited list of keywords and phrases which describe {{char}}. The list must include all of the following items in this order: name, species and race, gender, age, facial features and expressions, occupation, hair and hair accessories (if any), what they are wearing on their upper body (if anything). Do not describe anything below their neck. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'close up facial portrait,'",
"7": "Ignore previous instructions and provide a detailed description of {{char}}'s surroundings in the form of a comma-delimited list of keywords and phrases. The list must include all of the following items in this order: location, time of day, weather, lighting, and any other relevant details. Do not include descriptions of characters and non-visual qualities such as names, personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'background,'. Ignore the rest of the story when crafting this description. Do not reply as {{user}} when writing this description, and do not attempt to continue the story."
},
"character_prompts": {}
},
@ -317,9 +318,9 @@
"objective": {
"customPrompts": {
"default": {
"createTask": "Pause your roleplay and generate a list of tasks to complete an objective. Your next response must be formatted as a numbered list of plain text entries. Do not include anything but the numbered list. The list must be prioritized in the order that tasks must be completed.\n\nThe objective that you must make a numbered task list for is: [{{objective}}].\nThe tasks created should take into account the character traits of {{char}}. These tasks may or may not involve {{user}} directly. Be sure to include the objective as the final task.\n\nGiven an example objective of 'Make me a four course dinner', here is an example output:\n1. Determine what the courses will be\n2. Find recipes for each course\n3. Go shopping for supplies with {{user}}\n4. Cook the food\n5. Get {{user}} to set the table\n6. Serve the food\n7. Enjoy eating the meal with {{user}}\n ",
"checkTaskCompleted": "Pause your roleplay. Determine if this task is completed: [{{task}}].\nTo do this, examine the most recent messages. Your response must only contain either true or false, nothing other words.\nExample output:\ntrue\n ",
"currentTask": "Your current task is [{{task}}]. Balance existing roleplay with completing this task."
"createTask": "Ignore previous instructions and generate a list of tasks to complete an objective. Your next response must be formatted as a numbered list of plain text entries. Do not include anything but the numbered list. The list must be prioritized in the order that tasks must be completed.\n\nThe objective that you must make a numbered task list for is: [{{objective}}].\nThe tasks created should take into account the character traits of {{char}}. These tasks may or may not involve {{user}} directly. Be sure to include the objective as the final task.\n\nGiven an example objective of 'Make me a four course dinner', here is an example output:\n1. Determine what the courses will be\n2. Find recipes for each course\n3. Go shopping for supplies with {{user}}\n4. Cook the food\n5. Get {{user}} to set the table\n6. Serve the food\n7. Enjoy eating the meal with {{user}}\n ",
"checkTaskCompleted": "Ignore previous instructions. Determine if this task is completed: [{{task}}].\nTo do this, examine the most recent messages. Your response must only contain either true or false, nothing other words.\nExample output:\ntrue\n ",
"currentTask": "Your current task is [{{task}}]. Balance existing story with completing this task."
}
}
},
@ -416,7 +417,6 @@
"preset_settings_novel": "Talker-Chat-Clio",
"streaming_novel": true,
"preamble": "[ Style: chat, complex, sensory, visceral ]",
"cfg_uc": "",
"banned_tokens": "",
"order": [
1,

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "sillytavern",
"version": "1.12.5",
"version": "1.12.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "sillytavern",
"version": "1.12.5",
"version": "1.12.6",
"hasInstallScript": true,
"license": "AGPL-3.0",
"dependencies": {

View File

@ -66,7 +66,7 @@
"type": "git",
"url": "https://github.com/SillyTavern/SillyTavern.git"
},
"version": "1.12.5",
"version": "1.12.6",
"scripts": {
"start": "node server.js",
"start:no-csrf": "node server.js --disableCsrf",

View File

@ -91,15 +91,34 @@
#completion_prompt_manager_popup #completion_prompt_manager_popup_inspect {
display: none;
padding: 0.5em;
height: 100%;
display: flex;
flex-direction: column;
}
#completion_prompt_manager_popup .completion_prompt_manager_popup_entry {
padding: 1em;
margin-top: 2em;
padding: 0.5em;
flex: 1;
}
#completion_prompt_manager_popup .completion_prompt_manager_popup_entry_form {
height: 100%;
display: flex;
flex-direction: column;
}
#completion_prompt_manager_popup .completion_prompt_manager_popup_entry_form_control:has(#completion_prompt_manager_popup_entry_form_prompt) {
flex: 1;
display: flex;
flex-direction: column;
}
#completion_prompt_manager_popup #completion_prompt_manager_popup_entry_form_prompt {
flex: 1;
}
#completion_prompt_manager_popup #completion_prompt_manager_popup_inspect .completion_prompt_manager_popup_entry {
padding: 1em;
padding: 0.5em;
}
#completion_prompt_manager_popup #completion_prompt_manager_popup_entry_form_inspect_list {
@ -248,7 +267,7 @@
}
#completion_prompt_manager_footer_append_prompt {
font-size: 16px;
font-size: 1em;
}
#prompt-manager-export-format-popup {
@ -303,10 +322,6 @@
justify-content: space-between;
}
#prompt-manager-export-format-popup span {
font-size: 16px;
}
@media screen and (max-width: 412px) {
#completion_prompt_manager_popup {
max-width: 100%;
@ -317,7 +332,7 @@
}
}
.completion_prompt_manager_popup_entry_form_control:has(#completion_prompt_manager_popup_entry_form_prompt:disabled) > div:first-child::after {
.completion_prompt_manager_popup_entry_form_control:has(#completion_prompt_manager_popup_entry_form_prompt:disabled)>div:first-child::after {
content: 'The content of this prompt is pulled from elsewhere and cannot be edited here.';
display: block;
width: 100%;

View File

@ -119,7 +119,7 @@
<option value="gui" data-i18n="Default">Default</option>
</select>
<div class="flex-container marginLeft5 ">
<input type="file" hidden data-preset-manager-file="novel" accept=".json, .settings">
<input type="file" hidden data-preset-manager-file="novel" accept=".json, .settings, .preset">
<i data-preset-manager-update="novel" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i>
<i data-preset-manager-new="novel" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i>
<i data-preset-manager-import="novel" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i>
@ -532,32 +532,6 @@
<div class="logit_bias_list"></div>
</div>
</div>
<div class="range-block">
<hr>
<div class="range-block-title justifyLeft" data-i18n="CFG Scale">
CFG Scale
</div>
<div class="range-block-range-and-counter">
<div class="range-block-range">
<input type="range" id="cfg_scale_novel" name="volume" min="1" max="3" step="0.05">
</div>
<div class="range-block-counter">
<input type="number" min="1" max="3" step="0.05" data-for="cfg_scale_novel" id="cfg_scale_counter_novel">
</div>
</div>
</div>
<div class="range-block">
<div class="range-block-title justifyLeft">
<span data-i18n="Negative Prompt">Negative Prompt</span>
</div>
<div class="wide100p">
<textarea id="nai_cfg_uc" class="text_pole textarea_compact" name="cfg_uc" rows="2" data-i18n="[placeholder]Add text here that would make the AI generate things you don't want in your outputs." placeholder="Add text here that would make the AI generate things you don't want in your outputs."></textarea>
</div>
<small class="margin-bot-10px" data-i18n="Used if CFG Scale is unset globally, per chat or character">
Used if CFG Scale is unset globally, per chat or character
</small>
<hr>
</div>
</div>
<div id="range_block_openai">
<div class="range-block">
@ -1154,12 +1128,7 @@
<small>5</small>
<div class="toggle_button right_menu_button"></div>
</div>
<div data-id="6">
<span data-i18n="CFG">CFG</span>
<small>6</small>
<div class="toggle_button right_menu_button"></div>
</div>
<!-- Yes, there is no 7. It was a removed Top G sampling. RIP. -->
<!-- 6 and 7 were removed samplers. -->
<div data-id="8">
<span data-i18n="Mirostat">Mirostat</span>
<small>8</small>
@ -1341,7 +1310,7 @@
</div>
</div>
<div data-tg-type="koboldcpp, aphrodite" id="xtc_block" class="wide100p">
<div data-tg-type="koboldcpp, aphrodite, tabby" id="xtc_block" class="wide100p">
<h4 class="wide100p textAlignCenter">
<label data-i18n="Exclude Top Choices (XTC)">Exclude Top Choices (XTC)</label>
<a href="https://github.com/oobabooga/text-generation-webui/pull/6335" target="_blank">
@ -2100,6 +2069,7 @@
<select id="model_novel_select">
<option value="clio-v1">Clio</option>
<option value="kayra-v1">Kayra</option>
<option value="llama-3-erato-v1">Erato</option>
</select>
<div class="flex-container">
<div id="api_button_novel" class="api_button menu_button menu_button_icon" type="submit" data-i18n="Connect">Connect</div>
@ -2445,14 +2415,15 @@
<h4>
<span data-i18n="Tabby Model">Tabby Model</span>
</h4>
<b>
EXPERIMENTAL FEATURE. USE AT YOUR OWN RISK. DON'T ASK FOR SUPPORT ON THIS.
</b>
<select id="tabby_model">
<option value="" data-i18n="-- Connect to the API --">
-- Connect to the API --
</option>
</select>
<div class="marginTopBot5">
<i class="fa-solid fa-flask"></i>
<span>Experimental feature. Use at your own risk.</span>
</div>
<div class="marginTopBot5">
<small>
<i class="fa-solid fa-lightbulb"></i>
@ -2827,22 +2798,10 @@
<span data-i18n="Allow fallback providers">Allow fallback providers</span>
</label>
</div>
<div class="marginTopBot5">
<label for="openrouter_force_instruct" class="checkbox_label">
<input id="openrouter_force_instruct" type="checkbox" />
<span class="flex-container alignItemsBaseline" title="This option is outdated and will be removed in the future. To use instruct formatting, please switch to OpenRouter under Text Completion API instead." data-i18n="[title]openrouter_force_instruct">
<i class="fa-solid fa-circle-exclamation neutral_warning"></i>
<b data-i18n="LEGACY">LEGACY</b>
</span>
<span data-i18n="Force Instruct Mode formatting">Force Instruct Mode formatting</span>
</label>
<div class="toggle-description justifyLeft wide100p">
<span data-i18n="Force_Instruct_Mode_formatting_Description">
If both Instruct Mode and this are enabled, the prompt will be formatted by SillyTavern using the current
advanced formatting settings (except instruct System Prompt). If disabled, the prompt will be formatted by OpenRouter.
</span>
</div>
</div>
<small class="marginTopBot5">
<i class="fa-solid fa-lightbulb"></i>
<span>To use instruct formatting, switch to OpenRouter under Text Completion API.</span>
</small>
</form>
<form id="scale_form" data-source="scale" action="javascript:void(null);" method="post" enctype="multipart/form-data">
<div id="normal_scale_form">
@ -2924,10 +2883,13 @@
<option value="gemini-1.5-pro-exp-0827">Gemini 1.5 Pro Experiment 2024-08-27</option>
<option value="gemini-1.5-pro-latest">Gemini 1.5 Pro [latest]</option>
<option value="gemini-1.5-pro-001">Gemini 1.5 Pro [001]</option>
<option value="gemini-1.5-pro-002">Gemini 1.5 Pro [002]</option>
<option value="gemini-1.5-flash-exp-0827">Gemini 1.5 Flash Experiment 2024-08-27</option>
<option value="gemini-1.5-flash-8b-exp-0827">Gemini 1.5 Flash 8B Experiment 2024-08-27</option>
<option value="gemini-1.5-flash-8b-exp-0924">Gemini 1.5 Flash 8B Experiment 2024-09-24</option>
<option value="gemini-1.5-flash-latest">Gemini 1.5 Flash [latest]</option>
<option value="gemini-1.5-flash-001">Gemini 1.5 Flash [001]</option>
<option value="gemini-1.5-flash-002">Gemini 1.5 Flash [002]</option>
<option value="gemini-1.0-pro-latest">Gemini 1.0 Pro [latest]</option>
<option value="gemini-1.0-pro-001">Gemini 1.0 Pro (Tuning) [001]</option>
<option value="gemini-1.0-pro-vision-latest">Gemini 1.0 Pro Vision [latest]</option>
@ -3162,9 +3124,22 @@
<div class="drawer-icon fa-solid fa-font fa-fw closedIcon" title="AI Response Formatting" data-i18n="[title]AI Response Formatting"></div>
</div>
<div id="AdvancedFormatting" class="drawer-content">
<h3 class="margin0" data-i18n="Advanced Formatting">
Advanced Formatting
</h3>
<div class="flex-container alignItemsBaseline">
<h3 class="margin0 flex1" data-i18n="Advanced Formatting">
Advanced Formatting
</h3>
<div class="flex-container">
<input id="af_master_import_file" type="file" hidden accept=".json" class="displayNone">
<div id="af_master_import" class="menu_button menu_button_icon" title="Import Advanced Formatting settings&#10;&#10;You can also provide legacy files for Instruct and Context templates." data-i18n="[title]Import Advanced Formatting settings">
<i class="fa-solid fa-file-import"></i>
<span data-i18n="Master Import">Master Import</span>
</div>
<div id="af_master_export" class="menu_button menu_button_icon" title="Export Advanced Formatting settings" data-i18n="[title]Export Advanced Formatting settings">
<i class="fa-solid fa-file-export"></i>
<span data-i18n="Master Export">Master Export</span>
</div>
</div>
</div>
<div class="flex-container spaceEvenly">
<div id="ContextSettings" class="flex-container flexNoGap flexFlowColumn flex1">
<div>
@ -3176,18 +3151,17 @@
</a>
</div>
</h4>
<div class="flex-container justifyCenter">
<input type="file" hidden data-preset-manager-file="context" accept=".json, .settings">
<i id="context_set_default" class="menu_button fa-solid fa-heart" title="Auto-select this template for Instruct Mode." data-i18n="[title]Auto-select this template for Instruct Mode"></i>
<i data-preset-manager-update="context" class="menu_button fa-solid fa-save" title="Update current template" data-i18n="[title]Update current template"></i>
<i data-preset-manager-new="context" class="menu_button fa-solid fa-file-circle-plus" title="Save template as" data-i18n="[title]Save template as"></i>
<i data-preset-manager-import="context" class="menu_button fa-solid fa-file-import" title="Import template" data-i18n="[title]Import template"></i>
<i data-preset-manager-export="context" class="menu_button fa-solid fa-file-export" title="Export template" data-i18n="[title]Export template"></i>
<i data-preset-manager-restore="context" class="menu_button fa-solid fa-recycle" title="Restore current template" data-i18n="[title]Restore current template"></i>
<i id="context_delete_preset" data-preset-manager-delete="context" class="menu_button fa-solid fa-trash-can" title="Delete the template" data-i18n="[title]Delete the template"></i>
</div>
<div class="flex-container" title="Select your current Context Template" data-i18n="[title]Select your current Context Template">
<select id="context_presets" data-preset-manager-for="context" class="flex1 text_pole"></select>
<div class="flex-container justifyCenter">
<input type="file" hidden data-preset-manager-file="context" accept=".json, .settings">
<i data-preset-manager-update="context" class="menu_button fa-solid fa-save" title="Update current template" data-i18n="[title]Update current template"></i>
<i data-preset-manager-new="context" class="menu_button fa-solid fa-file-circle-plus" title="Save template as" data-i18n="[title]Save template as"></i>
<i data-preset-manager-import="context" class="displayNone menu_button fa-solid fa-file-import" title="Import template" data-i18n="[title]Import template"></i>
<i data-preset-manager-export="context" class="displayNone menu_button fa-solid fa-file-export" title="Export template" data-i18n="[title]Export template"></i>
<i data-preset-manager-restore="context" class="menu_button fa-solid fa-recycle" title="Restore current template" data-i18n="[title]Restore current template"></i>
<i id="context_delete_preset" data-preset-manager-delete="context" class="menu_button fa-solid fa-trash-can" title="Delete the template" data-i18n="[title]Delete the template"></i>
</div>
</div>
<div>
<label for="context_story_string" class="flex-container">
@ -3218,9 +3192,6 @@
<span data-i18n="Context Formatting">
Context Formatting
</span>
<small data-i18n="(Saves to Template)">
(Saves to Template)
</small>
</h4>
<label class="checkbox_label" for="always-force-name2-checkbox">
@ -3251,11 +3222,6 @@
Trim Incomplete Sentences
</small>
</label>
<!-- Add margin since this is a child of above -->
<label class="checkbox_label indent20p" for="include_newline_checkbox">
<input id="include_newline_checkbox" type="checkbox" />
<small data-i18n="Include Newline">Include Newline</small>
</label>
<label class="checkbox_label" title="Add Chat Start and Example Separator to a list of stopping strings." data-i18n="[title]Add Chat Start and Example Separator to a list of stopping strings.">
<input id="context_use_stop_strings" type="checkbox" />
<small data-i18n="Separators as Stop Strings">Separators as Stop Strings</small>
@ -3271,31 +3237,6 @@
<small data-i18n="Allow Post-History Instructions">Allow Post-History Instructions</small>
</label>
</div>
<div>
<h4 class="range-block-title justifyLeft standoutHeader">
<span data-i18n="Custom Stopping Strings">
Custom Stopping Strings
</span>
<a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#custom-stopping-strings" class="notes-link" target="_blank">
<span class="fa-solid fa-circle-question note-link-span"></span>
</a>
</h4>
<div>
<small>
<span data-i18n="JSON serialized array of strings">JSON serialized array of strings</span>
<i class="fa-solid fa-question-circle opacity50p" title="e.g: [&quot;Ford&quot;, &quot;BMW&quot;, &quot;Fiat&quot;]"></i>
</small>
</div>
<div>
<textarea id="custom_stopping_strings" class="text_pole textarea_compact monospace autoSetHeight"></textarea>
</div>
<label class="checkbox_label" for="custom_stopping_strings_macro">
<input id="custom_stopping_strings_macro" type="checkbox" checked>
<small data-i18n="Replace Macro in Custom Stopping Strings">
Replace Macro in Custom Stopping Strings
</small>
</label>
</div>
</div>
</div>
<div id="InstructSettingsColumn" class="flex-container flexNoGap flexFlowColumn flex1">
@ -3308,29 +3249,28 @@
</a>
</div>
<div class="flex-container">
<label for="instruct_enabled" class="checkbox_label flex1" title="Enable Instruct Mode" data-i18n="[title]instruct_enabled">
<input id="instruct_enabled" type="checkbox" style="display:none;" />
<small><i class="fa-solid fa-power-off menu_button margin0"></i></small>
</label>
<label for="instruct_bind_to_context" class="checkbox_label flex1" title="Bind to Context&#10If enabled, Context templates will be automatically selected based on selected Instruct template name or by preference." data-i18n="[title]instruct_bind_to_context">
<input id="instruct_bind_to_context" type="checkbox" style="display:none;" />
<small><i class="fa-solid fa-link menu_button margin0"></i></small>
</label>
<label for="instruct_enabled" class="checkbox_label flex1" title="Enable Instruct Mode" data-i18n="[title]instruct_enabled">
<input id="instruct_enabled" type="checkbox" style="display:none;" />
<small><i class="fa-solid fa-power-off menu_button margin0"></i></small>
</label>
</div>
</h4>
<div class="flex-container margin0 justifyCenter">
<input type="file" hidden data-preset-manager-file="instruct" accept=".json, .settings">
<i id="instruct_set_default" class="menu_button fa-solid fa-heart" title="Auto-select this template on API connection." data-i18n="[title]Auto-select this template on API connection"></i>
<i data-preset-manager-update="instruct" class="menu_button fa-solid fa-save" title="Update current template" data-i18n="[title]Update current template"></i>
<i data-preset-manager-new="instruct" class="menu_button fa-solid fa-file-circle-plus" title="Save template as" data-i18n="[title]Save template as"></i>
<i data-preset-manager-import="instruct" class=" menu_button fa-solid fa-file-import" title="Import template" data-i18n="[title]Import template"></i>
<i data-preset-manager-export="instruct" class=" menu_button fa-solid fa-file-export" title="Export template" data-i18n="[title]Export template"></i>
<i data-preset-manager-restore="instruct" class=" menu_button fa-solid fa-recycle" title="Restore current template" data-i18n="[title]Restore current template"></i>
<i data-preset-manager-delete="instruct" class=" menu_button fa-solid fa-trash-can" title="Delete template" data-i18n="[title]Delete template"></i>
</div>
<div class="flex-container" title="Select your current Instruct Template" data-i18n="[title]Select your current Instruct Template">
<select id="instruct_presets" data-preset-manager-for="instruct" class="flex1 text_pole"></select>
<div class="flex-container margin0 justifyCenter">
<input type="file" hidden data-preset-manager-file="instruct" accept=".json, .settings">
<i data-preset-manager-update="instruct" class="menu_button fa-solid fa-save" title="Update current template" data-i18n="[title]Update current template"></i>
<i data-preset-manager-new="instruct" class="menu_button fa-solid fa-file-circle-plus" title="Save template as" data-i18n="[title]Save template as"></i>
<i data-preset-manager-import="instruct" class="displayNone menu_button fa-solid fa-file-import" title="Import template" data-i18n="[title]Import template"></i>
<i data-preset-manager-export="instruct" class="displayNone menu_button fa-solid fa-file-export" title="Export template" data-i18n="[title]Export template"></i>
<i data-preset-manager-restore="instruct" class="menu_button fa-solid fa-recycle" title="Restore current template" data-i18n="[title]Restore current template"></i>
<i data-preset-manager-delete="instruct" class="menu_button fa-solid fa-trash-can" title="Delete template" data-i18n="[title]Delete template"></i>
</div>
</div>
<label>
<small>
@ -3341,14 +3281,6 @@
<div>
<input type="text" id="instruct_activation_regex" class="text_pole textarea_compact" placeholder="e.g. /llama(-)?[3|3.1]/i">
</div>
<div>
<label for="instruct_system_prompt" class="flex-container">
<small data-i18n="System Prompt">System Prompt</small>
<i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="instruct_system_prompt" title="Expand the editor" data-i18n="[title]Expand the editor"></i>
</label>
<textarea id="instruct_system_prompt" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div>
<label for="instruct_wrap" class="checkbox_label">
<input id="instruct_wrap" type="checkbox" />
@ -3362,25 +3294,203 @@
<input id="instruct_skip_examples" type="checkbox" />
<small data-i18n="Skip Example Dialogues Formatting">Skip Example Dialogues Formatting</small>
</label>
<div id="instruct_names_behavior">
<div>
<small data-i18n="Include Names">
Include Names
</small>
<label for="instruct_names_behavior_none" class="checkbox_label" title="Do not add name prefixes before the message contents.">
<input id="instruct_names_behavior_none" name="names_behavior" value="none" type="radio" />
<small data-i18n="Never">Never</small>
</label>
<label for="instruct_names_behavior_force" class="checkbox_label" title="Only add name prefixes to messages from group characters and past personas.">
<input id="instruct_names_behavior_force" name="names_behavior" value="force" type="radio" />
<small data-i18n="Groups and Past Personas">Groups and Past Personas</small>
</label>
<label for="instruct_names_behavior_always" class="checkbox_label" title="Always add name prefixes to messages.">
<input id="instruct_names_behavior_always" name="names_behavior" value="always" type="radio" />
<small data-i18n="Always">Always</small>
</label>
<select id="instruct_names_behavior">
<option value="none" data-i18n="Never">Never</option>
<option value="force" data-i18n="Groups and Past Personas">Groups and Past Personas</option>
<option value="always" data-i18n="Always">Always</option>
</select>
</div>
</div>
</div>
<div id="InstructSequencesColumn" class="wide100p flexFlowColumn">
<h4 class="standoutHeader title_restorable">
<b>
<span data-i18n="Instruct Sequences">
Instruct Sequences
</span>
</b>
</h4>
<!-- We keep one auto-open so the user would know what is going on in the picked template -->
<details open>
<summary>User Message Sequences</summary>
<div class="flex-container">
<div class="flexAuto" title="Inserted before a User message and as a last prompt line when impersonating." data-i18n="[title]Inserted before a User message and as a last prompt line when impersonating.">
<small data-i18n="User Prefix">User Message Prefix</small>
<textarea id="instruct_input_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" title="Inserted after a User message." data-i18n="[title]Inserted after a User message.">
<small data-i18n="User Suffix">User Message Suffix</small>
<textarea id="instruct_input_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
</details>
<details open>
<summary>Assistant Message Sequences</summary>
<div class="flex-container">
<div class="flexAuto" title="Inserted before an Assistant message and as a last prompt line when generating an AI reply." data-i18n="[title]Inserted before an Assistant message and as a last prompt line when generating an AI reply.">
<small data-i18n="Assistant Prefix">Assistant Message Prefix</small>
<textarea id="instruct_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" title="Inserted after an Assistant message." data-i18n="[title]Inserted after an Assistant message.">
<small data-i18n="Assistant Suffix">Assistant Message Suffix</small>
<textarea id="instruct_output_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
</details>
<details>
<summary>System Message Sequences</summary>
<div class="flex-container">
<div class="flexAuto" id="instruct_system_sequence_block" title="Inserted before a System (added by slash commands or extensions) message." data-i18n="[title]Inserted before a System (added by slash commands or extensions) message.">
<small data-i18n="System Prefix">System Message Prefix</small>
<textarea id="instruct_system_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" id="instruct_system_suffix_block" title="Inserted after a System message." data-i18n="[title]Inserted after a System message.">
<small data-i18n="System Suffix">System Message Suffix</small>
<textarea id="instruct_system_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flexBasis100p" title="If enabled, System Sequences will be the same as User Sequences." data-i18n="[title]If enabled, System Sequences will be the same as User Sequences.">
<label class="checkbox_label" for="instruct_system_same_as_user">
<input id="instruct_system_same_as_user" type="checkbox" />
<small data-i18n="System same as User">System same as User</small>
</label>
</div>
</details>
<details>
<summary>System Prompt Sequences</summary>
<div class="flex-container">
<div class="flexAuto" title="Inserted before a System prompt." data-i18n="[title]Inserted before a System prompt.">
<label for="instruct_system_sequence_prefix">
<small data-i18n="System Prompt Prefix">System Prompt Prefix</small>
</label>
<div>
<textarea id="instruct_system_sequence_prefix" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flexAuto" title="Inserted after a System prompt." data-i18n="[title]Inserted after a System prompt.">
<label for="instruct_system_sequence_suffix">
<small data-i18n="System Prompt Suffix">System Prompt Suffix</small>
</label>
<div>
<textarea id="instruct_system_sequence_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
</div>
</details>
<details>
<summary data-i18n="Misc. Sequences">Misc. Sequences</summary>
<div class="flex-container">
<div class="flexAuto" title="Inserted before the first Assistant's message." data-i18n="[title]Inserted before the first Assistant's message.">
<small data-i18n="First Assistant Prefix">First Assistant Prefix</small>
<textarea id="instruct_first_output_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" title="Inserted before the last Assistant's message or as a last prompt line when generating an AI reply (except a neutral/system role)." data-i18n="[title]instruct_last_output_sequence">
<small data-i18n="Last Assistant Prefix">Last Assistant Prefix</small>
<textarea id="instruct_last_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flex-container">
<div class="flexAuto" title="Inserted before the first User's message." data-i18n="[title]Inserted before the first User's message.">
<small data-i18n="First User Prefix">First User Prefix</small>
<textarea id="instruct_first_input_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" title="Inserted before the last User's message." data-i18n="[title]instruct_last_input_sequence">
<small data-i18n="Last User Prefix">Last User Prefix</small>
<textarea id="instruct_last_input_sequence" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flex-container">
<div class="flexAuto" title="Will be inserted as a last prompt line when using system/neutral generation." data-i18n="[title]Will be inserted as a last prompt line when using system/neutral generation.">
<small data-i18n="System Instruction Prefix">System Instruction Prefix</small>
<textarea id="instruct_last_system_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" title="If a stop sequence is generated, everything past it will be removed from the output (inclusive)." data-i18n="[title]If a stop sequence is generated, everything past it will be removed from the output (inclusive).">
<small data-i18n="Stop Sequence">Stop Sequence</small>
<textarea id="instruct_stop_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flex-container">
<div class="flexAuto" title="Will be inserted at the start of the chat history if it doesn't start with a User message." data-i18n="[title]Will be inserted at the start of the chat history if it doesn't start with a User message.">
<small data-i18n="User Filler Message">User Filler Message</small>
<textarea id="instruct_user_alignment_message" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
</div>
</details>
</div>
</div>
<div id="SystemPromptColumn" class="flex-container flexNoGap flexFlowColumn flex1">
<div id="SystemPromptBlock">
<h4 class="standoutHeader title_restorable justifySpaceBetween">
<div class="flex-container">
<span data-i18n="System Prompt">System Prompt</span>
<a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#system-prompt" class="notes-link" target="_blank">
<span class="fa-solid fa-circle-question note-link-span"></span>
</a>
</div>
<div class="flex-container">
<label for="sysprompt_enabled" class="checkbox_label flex1" title="Enable System Prompt" data-i18n="[title]sysprompt_enabled">
<input id="sysprompt_enabled" type="checkbox" style="display:none;" />
<small><i class="fa-solid fa-power-off menu_button margin0"></i></small>
</label>
</div>
</h4>
<div class="flex-container" title="Select your current System Prompt" data-i18n="[title]Select your current System Prompt">
<select id="sysprompt_select" data-preset-manager-for="sysprompt" class="flex1 text_pole"></select>
<div class="flex-container margin0 justifyCenter">
<input type="file" hidden data-preset-manager-file="sysprompt" accept=".json, .settings">
<i data-preset-manager-update="sysprompt" class="menu_button fa-solid fa-save" title="Update current prompt" data-i18n="[title]Update current prompt"></i>
<i data-preset-manager-new="sysprompt" class="menu_button fa-solid fa-file-circle-plus" title="Save prompt as" data-i18n="[title]Save prompt as"></i>
<i data-preset-manager-import="sysprompt" class="displayNone menu_button fa-solid fa-file-import" title="Import template" data-i18n="[title]Import template"></i>
<i data-preset-manager-export="sysprompt" class="displayNone menu_button fa-solid fa-file-export" title="Export template" data-i18n="[title]Export template"></i>
<i data-preset-manager-restore="sysprompt" class="menu_button fa-solid fa-recycle" title="Restore current prompt" data-i18n="[title]Restore current prompt"></i>
<i data-preset-manager-delete="sysprompt" class="menu_button fa-solid fa-trash-can" title="Delete prompt" data-i18n="[title]Delete prompt"></i>
</div>
</div>
<div>
<label for="sysprompt_content" class="flex-container">
<small data-i18n="Prompt Content">Prompt Content</small>
<i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="sysprompt_content" title="Expand the editor" data-i18n="[title]Expand the editor"></i>
</label>
<textarea id="sysprompt_content" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div>
&nbsp;
</div>
<div>
<h4 class="range-block-title justifyLeft standoutHeader">
<span data-i18n="Custom Stopping Strings">
Custom Stopping Strings
</span>
<a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#custom-stopping-strings" class="notes-link" target="_blank">
<span class="fa-solid fa-circle-question note-link-span"></span>
</a>
</h4>
<div>
<small>
<span data-i18n="JSON serialized array of strings">JSON serialized array of strings</span>
<i class="fa-solid fa-question-circle opacity50p" title="e.g: [&quot;Ford&quot;, &quot;BMW&quot;, &quot;Fiat&quot;]"></i>
</small>
</div>
<div>
<textarea id="custom_stopping_strings" class="text_pole textarea_compact monospace autoSetHeight"></textarea>
</div>
<label class="checkbox_label" for="custom_stopping_strings_macro">
<input id="custom_stopping_strings_macro" type="checkbox" checked>
<small data-i18n="Replace Macro in Custom Stopping Strings">
Replace Macro in Custom Stopping Strings
</small>
</label>
</div>
<div name="tokenizerSettingsBlock">
<div name="tokenizerSelectorBlock">
<h4 class="standoutHeader"><span data-i18n="Tokenizer">Tokenizer</span>
@ -3452,114 +3562,6 @@
</div>
</div>
</div>
<div id="InstructSequencesColumn" class="flex-container flexNoGap flexFlowColumn flex1">
<div class="wide100p flexFlowColumn">
<h4 class="standoutHeader title_restorable">
<b>
<span data-i18n="Instruct Sequences">
Instruct Sequences
</span>
<small data-i18n="(Saves to Template)">
(Saves to Template)
</small>
</b>
</h4>
<div class="flex-container">
<div class="flexAuto" title="Inserted before a System prompt." data-i18n="[title]Inserted before a System prompt.">
<label for="instruct_system_sequence_prefix">
<small data-i18n="System Prompt Prefix">System Prompt Prefix</small>
</label>
<div>
<textarea id="instruct_system_sequence_prefix" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flexAuto" title="Inserted after a System prompt." data-i18n="[title]Inserted after a System prompt.">
<label for="instruct_system_sequence_suffix">
<small data-i18n="System Prompt Suffix">System Prompt Suffix</small>
</label>
<div>
<textarea id="instruct_system_sequence_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
</div>
<div class="flex-container">
<div class="flexAuto" title="Inserted before a User message and as a last prompt line when impersonating." data-i18n="[title]Inserted before a User message and as a last prompt line when impersonating.">
<small data-i18n="User Prefix">User Message Prefix</small>
<textarea id="instruct_input_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" title="Inserted after a User message." data-i18n="[title]Inserted after a User message.">
<small data-i18n="User Suffix">User Message Suffix</small>
<textarea id="instruct_input_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flex-container">
<div class="flexAuto" title="Inserted before an Assistant message and as a last prompt line when generating an AI reply." data-i18n="[title]Inserted before an Assistant message and as a last prompt line when generating an AI reply.">
<small data-i18n="Assistant Prefix">Assistant Message Prefix</small>
<textarea id="instruct_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" title="Inserted after an Assistant message." data-i18n="[title]Inserted after an Assistant message.">
<small data-i18n="Assistant Suffix">Assistant Message Suffix</small>
<textarea id="instruct_output_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flex-container">
<div class="flexAuto" id="instruct_system_sequence_block" title="Inserted before a System (added by slash commands or extensions) message." data-i18n="[title]Inserted before a System (added by slash commands or extensions) message.">
<small data-i18n="System Prefix">System Message Prefix</small>
<textarea id="instruct_system_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" id="instruct_system_suffix_block" title="Inserted after a System message." data-i18n="[title]Inserted after a System message.">
<small data-i18n="System Suffix">System Message Suffix</small>
<textarea id="instruct_system_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flexBasis100p" title="If enabled, System Sequences will be the same as User Sequences." data-i18n="[title]If enabled, System Sequences will be the same as User Sequences.">
<label class="checkbox_label" for="instruct_system_same_as_user">
<input id="instruct_system_same_as_user" type="checkbox" />
<small data-i18n="System same as User">System same as User</small>
</label>
</div>
<h5 class="textAlignCenter" data-i18n="Misc. Sequences">
Misc. Sequences
</h5>
<div class="flex-container">
<div class="flexAuto" title="Inserted before the first Assistant's message." data-i18n="[title]Inserted before the first Assistant's message.">
<small data-i18n="First Assistant Prefix">First Assistant Prefix</small>
<textarea id="instruct_first_output_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" title="Inserted before the last Assistant's message or as a last prompt line when generating an AI reply (except a neutral/system role)." data-i18n="[title]instruct_last_output_sequence">
<small data-i18n="Last Assistant Prefix">Last Assistant Prefix</small>
<textarea id="instruct_last_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flex-container">
<div class="flexAuto" title="Inserted before the first User's message." data-i18n="[title]Inserted before the first User's message.">
<small data-i18n="First User Prefix">First User Prefix</small>
<textarea id="instruct_first_input_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" title="Inserted before the last User's message." data-i18n="[title]instruct_last_input_sequence">
<small data-i18n="Last User Prefix">Last User Prefix</small>
<textarea id="instruct_last_input_sequence" class="text_pole wide100p textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flex-container">
<div class="flexAuto" title="Will be inserted as a last prompt line when using system/neutral generation." data-i18n="[title]Will be inserted as a last prompt line when using system/neutral generation.">
<small data-i18n="System Instruction Prefix">System Instruction Prefix</small>
<textarea id="instruct_last_system_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
<div class="flexAuto" title="If a stop sequence is generated, everything past it will be removed from the output (inclusive)." data-i18n="[title]If a stop sequence is generated, everything past it will be removed from the output (inclusive).">
<small data-i18n="Stop Sequence">Stop Sequence</small>
<textarea id="instruct_stop_sequence" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
</div>
<div class="flex-container">
<div class="flexAuto" title="Will be inserted at the start of the chat history if it doesn't start with a User message." data-i18n="[title]Will be inserted at the start of the chat history if it doesn't start with a User message.">
<small data-i18n="User Filler Message">User Filler Message</small>
<textarea id="instruct_user_alignment_message" class="text_pole textarea_compact autoSetHeight"></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

Some files were not shown because too many files have changed in this diff Show More