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.
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.
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! Said 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.
Advanced Formatting with Instruct mode enabled
Advanced Formatting with Instruct mode disabled
Nowadays, most, if not every model is trained to work with certain instruct presets. Using Instruct mode will generally make the model better. If you don't know which instruct template the model you're using was trained with, you can check the model's Huggingface page. The prompt template should be written in the model card.
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. The ones on ST are already good. However, feel free to modify the system prompt to your liking if you think you can come up with something better. If you have no idea what you're doing, then you're probably better off not touching anything!
Most frontends will have presets, these depend on your personal preferences and will vary depending on what you're looking for and I highly recommend playing with the settings. Here are the ones I personally like depending on the back-end:
For Oobabooga/Text Gen WebUI: Asterism (with 1.10 Rep. Pen.), Midnight Enigma (with 1.10 Rep. Pen.), NovelAI Storywriter (safe preset that will work, but won't blow your mind), Yara (with 1.10 Rep. Pen.), and Genesis (this one is fun to use).
For KoboldAI/Kobold AI Lite: Pro writer (with 1.10 Rep. Pen.), Good winds (0.9 top-p), Storywriter, and Coherent Creativity (Reduce Rep. Pen. If responses seem weird.)
Don't hesitate to play with the settings! Increase Repetition Penalty when your character starts repeating itself, or increase Temperature if you'd like some more randomness!
Having trouble writing example dialogues? Use ChatGPT! 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.
Using that template, the model will then give you what you asked for.
Make sure to read the PList and and proofread it. Models are very likely to mess something up when it comes to formatting. Remove unnecessary information and repetitive traits to save tokens.
Now that you have a PList to work off of, the next step is gathering example dialogues. by asking it to roleplay as the character by following that PList.
Once again, a basic example. You can ask it to do something else, give more precise instructions, etc...
The model will then respond with a message, roleplaying as that character and following your instruction.
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
PLists + Ali:Chat character writing walkthrough: https://rentry.co/plists_alichat_avakson
Ayumi's LLM Role Play & ERP Rating: https://rentry.co/ayumi_erp_rating
These pages may contain NSFW character cards.
Trappu's bots - https://rentry.org/TrappusRentry
AVAKSon's bots - https://rentry.org/avakson_library
Noxx's bots - https://rentry.co/NoxxBotsCatalog
Banana_Builder's bots - https://rentry.org/brems_bots
Bronya Rand's bots - https://bronya-rand.github.io/reimagined-couscous/bot-list
ShyElijah's bots - https://rentry.org/shyelijahpygmalion
Otis' bots - https://rentry.org/otis-library
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.