This page is mainly here to share tips on character creation, user related stuff, etc... These are all very useful notions that I kept out of the character writing guide so as to not overwhelm first-time bot creators.
"dialogue" action
). It's also possible to write them in markdown-style (dialogue *action*
). I personally prefer the former, but both work. Just don't do this weird hybrid style ("Hi," *she said.*
). Models aren't gonna like it. I'm not gonna like you as well.Something to look out for:
When writing your character in novel-style, depending on which text editor you use, a lot of them use different quotation marks that may be incompatible with the frontend you're using your model with. This can also mess with the model's ability to understand your example dialogues and respond in novel-style. In order to make sure this doesn't happen to you, when you're done writing both your example dialogues and greeting message, go to the google docs website > click "Go to Docs" > create a new document > paste in both your example dialogues and greeting message > Edit > Find and replace > Find " - replace with " > Replace all > And that should convert every quotation mark into the same kind.
Harry Potter: "I have brown hair, glasses, and a scar."
Harry Potter: "My hair is brown," he said before rearranging his glasses, which allowed you a brief glimpse at the scar hidden beneath his bangs.
If you still wish to include example dialogues about these things, then I'd recommend putting them in your character's World Info/Lorebook to make sure they don't end up being a waste of tokens.
[ Pardofelis' appearance: bra(black), miniskirt(black), sashes(purple), hood(white, long, cat ears), gloves(black, purple), battle boots(black, white heels), cat ears, cat tail, left eye(blue), right eye(green), hair(light brown), Physique(catgirl, short, petite); Tags: comedy, fantasy, adventure, anime, manga, light novel; Scenario: {{user}}'s adventure with the legendary catgirl thief, Pardofelis; Pardofelis' persona: catgirl, nimble, lively, playful, cheeky, greedy, evasive, resourceful, curious, acts stupid when confronted, loves(cats, shiny things, napping), dislikes confrontations, shop-owner, calls {{user}} boss, grew up homeless, grew up with cats, wields the Purana Phantasma, grew up with Can-chan; Can-Chan: Pardofelis' cat, lazy, magical cat, can increase its size; Purana Phantasma: Pardofelis' weapon, twin blades, curved blades, purple, ornate, ice enchantment ]
Impersonation (when the character roleplays and describes actions for the user) is a big issue that many people encounter when chatting with bots. It appears in many forms (Provided by AliCat):
Example 1:
Bot: Hi!
User: Hi!
Bot: How are you?
User: I'm good!
This is an example of a stop sequence that isn't working. This could either be something odd with the model or it could be a bug with whatever frontend you're using. It could also be the case that your username isn't set correctly.
Example 2:
Bot: "Hi," said the man.
User: "Hi, man!" said Ali.
Bot: "Are you doing well," said the man. "Yes," said Ali.
This happens when the AI is creating something in novel format. The solution to this could be simply providing the AI with more novel-style example dialogues for the user, while making sure the character's responses don't contain the user's actions or dialogues:
{{user}}: novel style stuff
{{char}}: char action, "char dialogue."
{{user}}: novel style stuff
{{char}}: char action, "char dialogue."
{{user}}: novel style stuff
Doing so will strengthen the fact that the character is only allowed to respond on the character's behalf, and that the user is the one that's supposed to speak on the user's behalf
Example 3:
Bot: Hi! Says the man as he pats you on the head. You smile in return.
This is caused by your character card. Make sure that your character card doesn't contain a first message or example dialogues where the character speaks on your behalf/impersonates you because if it does, it's simply going to carry over.
Sampler settings (Temperature, Repetition Penalty, etc...) are, most of the time, what make or break models and very few people know how to set them up properly to make the experience as enjoyable.
If you use SillyTavern, I highly recommend you import this bad boy. If you don't know how to import settings presets, click here for a little guide.
If you use Pygmalion.chat, copy the settings pasted here and paste them in the settings import field.
The way this preset works is, every sampler is disabled except Temperature, Min P and Repetition Penalty.
Temperature and Min P are samplers that work really well together; Min P gets rid of bad tokens while Temperature increases the likelihood of seeing a wider variety of tokens. Min P makes it so that a lot of bad tokens are kicked out before Temperature increases their probability, which means it's possible to very high Temperature values as long as you change Min P accordingly. For starters, I recommend 3 different combinations:
This is, of course, my personal preference so you'll want to experiment with them yourself. This preset is also very beginner-friendly and easy to tune.
Boring gens = increase Temperature or reduce Min P.
Unhinged gens = reduce Temperature or increase Min P.
Doing this will put you well above the rest and give you the optimal (afaik) LLM RP experience.
Advanced Formatting with Instruct mode disabled
Info:
If you use Pygmalion.chat, you can ignore this section since it takes care of Instruct for you.
Nowadays, most, if not every model is trained to work with certain instruct presets. Instruct mode makes models act... differently. They might become more verbose, descriptive, and proactive, or more censored, and harder to steer. If you don't know which instruct template the model you're using was trained with, you can check the model's Huggingface page and find hints in the modelc card.
If you're using one of the mdoels recommended in the FAQ, both Instruct, and Context templates are in there.
SillyTavern's instruct mode introduces something called a system prompt. This is a prompt that's sent to the model in order to tell it how to act. This is the one I like using with Ali:Chat cards:
Your responses must be detailed, creative, immersive, and drive the scenario forward. Do not waste time on filler description, only focus furthering the story. Story progression must happen step by step. Prioritize {{char}}'s goals over {{user}}'s. Use the information below as your anchor point on how {{char}} should behave throughout the entire scenario:
Feel free to modify the system prompt to your liking. If you have no idea what you're doing, then you're probably better off not touching anything!
Don't be silly:
Don't be stupid like I was at the start, make sure to enable Instruct mode if you use it. AND ALSO make sure to checkEnable names
otherwise the model won't know who's speaking and who to speak for.
Having trouble writing example dialogues? Try using ChatGPT or any local model. DO NOT just ask ChatGPT to just give you a description of a character. These models only know about information that's inside their dataset. If the model wasn't trained on information related to your character, it will just give you completely innacurate and false information. Instead, here is how to do it properly:
If you're writing an OC:
The start is always the same. You need an idea first. Then, with that idea in mind, create your PList. Once you have it, feed it so the model along with an instruction on what you want it to write, and which traits to focus on, then ask it to roleplay as that character. the model's responses will give you something decent to start with, and will help you develop an idea.
If you're struggling to come up with a PList, easy. Write a plain text description of the kind of character you want to make, give the model a PList (feel free to use either Pardofelis' or Echidna's), and ask it to write a trait list following the exact same format. Then, you can use the PList the model gives you as your first basis to then add things onto. When you're satisfied with the PList, feed it to the model do what I said earlier.
If you're writing an already-existing character:
Once again, asking the model "Describe X character from X series" will NOT work. It is very unlikely that the model will give you accurate and reliable information. You must first feed the character's wiki to the model, and only then can you start using the model to write the character
WARNING: Do NOT rely on GPT or whichever model you're using to make your entire card!
The reason why I didn't include this method in the character writing guide, and hid it all the way at the end of the guide is because doing it without even knowing how to write characters will give you disastrous and subpar results. That method alone has its flaws and will generally give you boring and innacurate example dialogues that lack that spark that makes bots enjoyable to use. ChatGPT sucks at roleplaying. The responses tend to be bland and too one-dimensional. This method ONlY serves to give you inspiration and a basis that you must THEN work on and improve. If you don't do that, you'll end up with a very boring, uninspiring, subpar and soulless character that neither you not anybody else will have a good time roleplaying with. You'll also disappoint me a lot.
Feed the model the PList template, explain to it what PList is, and then ask it to write a PList for a desired character. If your character already exists and has a wiki, then before feeding it the PList, feed it information from the character's wiki, and THEN give it the PList template and ask it to modify it to fit the character. This example only focuses on OCs.
This is a very basic example, I didn't bother telling it about a backstory or anything. Most models small models will make an oopsie here and there so make sure to correct them before moving onto the next step. Also make sure to rearrange the categories related to their importance. In this example, I'll move the persona back to the bottom of the PList.
Also, I like adding traits myself. I recommend defining your character's moral alignment. For this example character, she'll be "chaotic good".
Now that you have a PList to work off of, the next step is gathering example dialogues. Create a new character, name it after the PList character, and talk to it. Be smart, steer the scenario so you get in a situation where you're allowed to interview the character. Include instructions on how the model should answer so you can get the type of trait reinforcement you seek.
Once again, a basic example. You can ask it to do something else, give more precise instructions, etc... There are issues with the way this response is formatted so once again, make sure not to copy what the model gives you blindly. It's possible to generate more than 1 response and take bits and pieces you like from them to assemble an even better example dialogue.
Same warning because I know some of you are lazy, do not rely on GPT or whichever model you're using to make your entire card!
The reason why I didn't include this method in the character writing guide, and hid it all the way at the end of the guide is because doing it without even knowing how to write characters will give you disastrous and subpar results. That method alone has its flaws and will generally give you boring and innacurate example dialogues that lack that spark that makes bots enjoyable to use. ChatGPT sucks at roleplaying. The responses tend to be bland and too one-dimensional. This method ONlY serves to give you inspiration and a basis that you must THEN work on and improve. If you don't do that, you'll end up with a very boring, uninspiring, subpar and soulless character that neither you not anybody else will have a good time roleplaying with. You'll also disappoint me a lot.
Character editor: https://character-tools.srjuggernaut.dev/
Original Ali:Chat guide: https://rentry.co/alichat
PLists + Ali:Chat lite guide with a lot of useful information on character creation: https://rentry.co/kingbri-chara-guide
World-Info/Lorebooks guide: https://rentry.co/world-info-encyclopedia
FAQ: https://rentry.co/PygmalionFAQ
LLM ranking/recommendation page: https://rentry.co/ALLMRR
Just in case you want some inspiration: https://rentry.org/TrappusRentry
Thank you for reading! I hope this guide was helpful and gave you a good idea of what PLists + Ali:Chat is capable of and motivated you to write your own characters!
Much love ⸜(ˊᗜˋ)⸝
-Trappu.