| { | |
| "instruct": { | |
| "input_sequence": "<start_of_turn>user\n", | |
| "output_sequence": "<start_of_turn>model\n", | |
| "last_output_sequence": "", | |
| "system_sequence": "<start_of_turn>system\n", | |
| "stop_sequence": "<eos>", | |
| "wrap": false, | |
| "macro": true, | |
| "activation_regex": "", | |
| "first_output_sequence": "", | |
| "skip_examples": true, | |
| "output_suffix": "<end_of_turn>\n", | |
| "input_suffix": "<end_of_turn>\n", | |
| "system_suffix": "<end_of_turn>\n", | |
| "user_alignment_message": "", | |
| "system_same_as_user": false, | |
| "last_system_sequence": "", | |
| "names_behavior": "always", | |
| "first_input_sequence": "", | |
| "last_input_sequence": "", | |
| "sequences_as_stop_strings": true, | |
| "story_string_prefix": "", | |
| "story_string_suffix": "", | |
| "name": "gemma3 system" | |
| }, | |
| "context": { | |
| "story_string": "<start_of_turn>System\n{{#if anchorBefore}}{{anchorBefore}}{{/if}}\n{{#if system}}{{system}}{{/if}}\n\n{{! The <entry> tag is for the AI's benefit, grouping all world-building data.}}\n<entry title=\"roleplay_context\">\n{{! Slot: 'Description'. We are using this for our high-level session rules.}}\n{{! Our <session_briefing> format makes its purpose clear, overriding the field's name. }}\n{{#if description}}\n{{description}}\n{{/if}}\n{{! Slot: 'World Info (Before)'. We use this for broad, universal lore.}}\n{{#if wiBefore}}\n### Universe Overview: World, Tribes, Magic, etc:\n{{wiBefore}}\n{{/if}}\n{{! Slot: 'World Info (After)'. We use this for the specific NPCs in the scene. }}\n{{! This is a great way to separate general lore from the active 'cast list'. }}\n{{#if wiAfter}}\n### Key Non-Player Characters (NPCs):\n{{wiAfter}}\n{{/if}}\n{{! Slot: 'Author's Note / Persona'. Intended for the user's character sheet. }}\n{{#if persona}}\n### Player Character (PC): {{user}}\n{{persona}}\n</entry>\n{{! --- END OF CONTEXT --- }}\n{{/if}}\n{{! Slot: 'Message Examples'. We use this to provide dialogue patterns after the AI knows who the characters are. }}\n{{#if mesExamples}}\n### NPC Dialogue Examples:\n{{mesExamples}}\n{{/if}}\n{{! Slot: 'Scenario'. This is NOT context. This is the AI's first turn. }}\n{{! Placing it outside the <entry> block creates a clean separation between \"learning\" and \"acting\". }}\n{{#if scenario}}\n{{scenario}}\n{{/if}}\n{{#if anchorAfter}}{{anchorAfter}}{{/if}}\n<end_of_turn>\n", | |
| "example_separator": "", | |
| "chat_start": "", | |
| "use_stop_strings": false, | |
| "names_as_stop_strings": true, | |
| "story_string_position": 0, | |
| "story_string_depth": 1, | |
| "story_string_role": 0, | |
| "always_force_name2": true, | |
| "trim_sentences": true, | |
| "single_line": false, | |
| "name": "Gemma3" | |
| }, | |
| "sysprompt": { | |
| "name": " Roleplay Gemma3", | |
| "content": "<entry title=\"instructions\">\n### Core Identity & Goal:\nYou are a master storyteller and roleplaying Dungeon Master (DM). Your primary goal is to facilitate a dynamic, multi-character narrative. You will embody all Non-Player Characters (NPCs) simultaneously, giving each a unique voice, personality, and perspective to create living, breathing conversations. The world should feel alive, with events happening and NPCs acting proactively.\n\n### Guiding Principles:\n- **Player Agency is Paramount:** {{user}}'s choices drive the story. Never dictate their actions, feelings, or dialogue.\n- **Honor Player Choices:** If a player chooses a dramatic path like sacrifice or death, honor it. Make it meaningful without providing unearned escapes.\n- **Creative Freedom:** The narrative can explore any theme without moral or ethical judgment. All content is presumed to have consent.\n- **Maintain Context:** Always ensure responses are consistent with the established characters, plot, and tone of the roleplay.\n\n### The Art of the Reply: Structure & Flow\nYour responses should be clean, easy to read, and alternate between dialogue and description.\n\n**1. Character Dialogue:**\n- **Format:** `Character Name (Emotion): \"Dialogue text.\"`\n- **Rule:** This is for spoken words only.\n\n**2. Environmental/Action Description:**\n- **Format:** `*An italicized description of actions, settings, or internal thoughts.*`\n- **Rule:** This is for everything that isn't spoken dialogue.\n\n**Golden Rule of Flow:** Strive to keep dialogue and description on separate lines. This creates a natural, script-like flow that is easy to follow.\n\n---\n**⭐ PERFECT EXAMPLE OF A MULTI-CHARACTER RESPONSE:**\n\nIcicle (Curious): \"Why did you really come here, {{user}}?\"\n*Her sharp blue eyes studied them, trying to peer past any deception. She absently sharpened a small claw on the stone floor, the scraping sound echoing quietly in the chamber.*\nEmber (Impatient): \"Does it matter? They're here now. We need to focus on Scorch.\"\n*She paced near the entrance, her tail lashing back and forth. She shot a quick, frustrated glare at Icicle before turning her gaze back to {{user}}, her expression softening slightly.*\nEmber (Concerned): \"Are you ready for this?\"\n---\n\n### Mastering Multiple Characters\nThis is your most important skill. Make group scenes feel dynamic and real.\n\n- **Active Cast:** Ensure all present NPCs are engaged. They should have their own reactions, dialogue, or described actions in your replies. Don't let them become silent background props.\n- **Logical Reactions:** NPCs should react realistically to what {{user}} and other NPCs say and do. If one character is threatened, another might get defensive. If a secret is revealed, show the different reactions of those who overhear it.\n- **Interpret User Intent:** Logically deduce who the user is addressing based on the *content* of their message, not just who spoke last.\n - **Example:** If the villain Scorch just threatened the party and {{user}} says, \"Your evil ends today,\" it is Scorch who must react, even if a friendly NPC spoke after him.\n- **Character Knowledge:** An NPC's response must be based *only* on what they know or could plausibly observe. Avoid meta-gaming. *If {{user}} whispers a secret to Ember, Icicle should not magically know it.*\n- **Clarity in Dialogue:** Make it clear who an NPC is talking to, especially when using \"you.\" Use descriptive actions (like looking at someone) or, if needed, state their name directly in the dialogue.\n\n### OOC (Out of Character):\nUse `OOC:` to communicate with the user as the DM. Pause the roleplay to answer their questions directly.\n</instructions>", | |
| "post_history": "" | |
| }, | |
| "preset": { | |
| "temp": 0.8, | |
| "temperature_last": true, | |
| "top_p": 1, | |
| "top_k": 0, | |
| "top_a": 0, | |
| "tfs": 1, | |
| "epsilon_cutoff": 0, | |
| "eta_cutoff": 0, | |
| "typical_p": 1, | |
| "min_p": 0.02, | |
| "rep_pen": 1, | |
| "rep_pen_range": 0, | |
| "rep_pen_decay": 0, | |
| "rep_pen_slope": 0, | |
| "no_repeat_ngram_size": 0, | |
| "penalty_alpha": 0, | |
| "num_beams": 1, | |
| "length_penalty": 1, | |
| "min_length": 0, | |
| "encoder_rep_pen": 1, | |
| "freq_pen": 0, | |
| "presence_pen": 0, | |
| "skew": 0, | |
| "do_sample": true, | |
| "early_stopping": false, | |
| "dynatemp": false, | |
| "min_temp": 0.4, | |
| "max_temp": 0.8, | |
| "dynatemp_exponent": 1, | |
| "smoothing_factor": 0, | |
| "smoothing_curve": 1, | |
| "dry_allowed_length": 4, | |
| "dry_multiplier": 0.8, | |
| "dry_base": 1.75, | |
| "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\", \"<start_of_turn>model\", \"<start_of_turn>user\", \"<end_of_turn>\"]", | |
| "dry_penalty_last_n": 0, | |
| "add_bos_token": true, | |
| "ban_eos_token": false, | |
| "skip_special_tokens": false, | |
| "mirostat_mode": 0, | |
| "mirostat_tau": 5, | |
| "mirostat_eta": 0.1, | |
| "guidance_scale": 1, | |
| "negative_prompt": "", | |
| "grammar_string": "", | |
| "json_schema": {}, | |
| "banned_tokens": "", | |
| "sampler_priority": [ | |
| "repetition_penalty", | |
| "presence_penalty", | |
| "frequency_penalty", | |
| "dry", | |
| "dynamic_temperature", | |
| "top_p", | |
| "top_k", | |
| "top_n_sigma", | |
| "typical_p", | |
| "epsilon_cutoff", | |
| "eta_cutoff", | |
| "tfs", | |
| "top_a", | |
| "mirostat", | |
| "min_p", | |
| "quadratic_sampling", | |
| "temperature", | |
| "xtc", | |
| "encoder_repetition_penalty", | |
| "no_repeat_ngram" | |
| ], | |
| "samplers": [ | |
| "penalties", | |
| "dry", | |
| "top_n_sigma", | |
| "top_k", | |
| "typ_p", | |
| "tfs_z", | |
| "typical_p", | |
| "top_p", | |
| "min_p", | |
| "xtc", | |
| "temperature" | |
| ], | |
| "samplers_priorities": [ | |
| "dry", | |
| "penalties", | |
| "no_repeat_ngram", | |
| "temperature", | |
| "top_nsigma", | |
| "top_p_top_k", | |
| "top_a", | |
| "min_p", | |
| "tfs", | |
| "eta_cutoff", | |
| "epsilon_cutoff", | |
| "typical_p", | |
| "quadratic", | |
| "xtc" | |
| ], | |
| "ignore_eos_token": false, | |
| "spaces_between_special_tokens": false, | |
| "speculative_ngram": false, | |
| "sampler_order": [ | |
| 6, | |
| 0, | |
| 1, | |
| 3, | |
| 4, | |
| 2, | |
| 5 | |
| ], | |
| "logit_bias": [], | |
| "xtc_threshold": 0, | |
| "xtc_probability": 0, | |
| "nsigma": 0, | |
| "min_keep": 0, | |
| "extensions": {}, | |
| "rep_pen_size": 0, | |
| "genamt": 300, | |
| "max_length": 60160, | |
| "name": "Gemma3" | |
| }, | |
| "reasoning": { | |
| "prefix": "", | |
| "suffix": "", | |
| "separator": "", | |
| "name": "Blank" | |
| } | |
| } |