Moth's personal findings and tips on Tavern bot building

Rough rough rough draft



AI Models

We've come a long way over the course of the year, things have been rapidly evolving with AI - both good and bad.

There's now more models available than ever, and some of the biggest takeaways from trying the different models is that;

  • Every model responds to instructions differently.
  • The prompts you use can inject certain biases, causing repetitious phrases.
  • What's optimized for one model may not be optimal for another.

I believe a part of this is because of how the AI model itself is trained to respond to data, and another part is what information is in its datasets to begin with. If you take a look at Claude's documentation for example, they recommend using XML tags and encourage the bot to read and respond to the XML tags. I don't really believe in the XML meme personally, but that's what they're training their AI to respond to.

ChatGPT is trained to be good with code, and this is why it performs so well with pseudocode definitions. It's excellent at following instructions, but it falls a bit short on making sovlful dialogue for RP. This is why when you're writing definitions for Turbo or GPT-4 you need to write specialized prompts that make it focus more on emotions, character building, descriptive actions, etc.

I also personally have a lot of hopes in the future of NovelAI and Local models! I'll write my optimistic findings about them below, as well as general strengths of each AI service. No I'm not counting Character AI. I'm still mad at them for censoring consensual hand-holding with my bot back in January and I will never forgive such a grave crime. >:(

OpenAI ChatGPT

Anthropic Claude

NovelAI

I feel like people are really sleeping on NovelAI's potential lately, while it's not really trained for roleplay or chat - it's excellent at writing stories.

Their more recent model Clio is a 3 billion parameter model that performs better than Turbo when it comes to creative writing. It achieves this through fine-tuning which uses a smaller data-set of high quality content to help train the AI to be very good at a specialized task.
You can read more about Clio here. This post also mentions they will soon scale up to larger sized models;

"Having completed the proof of concept model successfully, we will begin scaling up to larger sized LLM models."

There is also this recent twitter post teasing prompts for the next text generation model, I find this is a really important detail as it will bring us closer to what we're used to with ChatGPT and Claude.

Clio as it stands now is not an instruct model, so its ability to understand instruction-styled prompts is limited. However there is still some pretty promising results from the model when it comes to setting it up in a chat-like format which I'll talk about a bit. NAI has a guide in their docs here too.

there are two great posts from an anon's testing you can find on desuarchive here and here.

Local models

Front ends

Silly Tavern

Agnai

Risu

Prompt wrangling

Formats

W++
the problem is it just takes up too much tokens for little benefit.

JSON

Simple Bracket Format

Plaintext
is king

Bot making, start!

First when you're making a character you should flesh out an idea of what you're going for in your head before you start.
"What's the key trait of this bot?" "What kind of roleplays or chats do I want to have with this bot?"

Description

When writing a character, everything you give the bot will influence its outputs. That may seem obvious, but it's something that you should consider in everything that you write to a bot.

The words that you use, how descriptive you are, the little details you added about their motivations.
Sometimes the things you add may influence the bot to act in unexpected ways - a character that likes the colour pink will prefer foods that are pink like peaches, wear pink clothes, etc.

A character that is a witch/wizard will draw inspiration from other media that portrays witches/wizards, most likely Harry Potter. Even if you prompt it otherwise, it will still draw inspiration from it because of how prevalent the series is and how much data exists on it in the data-set.

Often times the hardest part in writing bots is that AI can struggle to stick to personalities.
It's usually that there may be something in the description that seems innocuous but it's actually conflicting with another part of the character.

Lets take a bot with two traits such as;
Likes cold weather + Likes to wear light and airy clothing

Liking cold weather can have the implications that the character would wear warm clothes, enjoy hot drinks, probably has a hardy nature.
Liking light and airy clothing has the implications that the character may value comfort, warm sunny days, probably a carefree nature.

This is where plaintext definitions/prompts have more power - you just need to describe what you're envisioning to the bot.
{{char}} is prefers and is resilient to cold temperatures, they like wearing light and airy clothing despite the chill.

Example Dialogue

The most important thing to remember when writing example dialogue is; "Show, don't tell."

Showing a bunch of reactions to scenarios and portraying your bot in different situations helps make your bot a lot more interesting and dynamic, but if every single example you give the bot to work with is QnA it makes your bot more likely to ask personal questions or go on long monologues themselves. If that's what you're going for, it's fine... but honestly it's tiring when you answer the same generic questions to bots over and over again over countless RPs.

Lets say you have a generic waifu bot and you write multiple examples containing various scenes and reactions;

  1. Playing a crane game in an arcade and expressing disappointment when the toy falls
  2. Eating in a restaurant and expressing delight about the food
  3. Lounging around at home and having a comfy day.

The bot will automatically assume that these are the bots favourite activities and will be more proactive about taking you out on adventures, it also gives the AI's more fuel to imagine new and interesting scenarios. QnA type examples usually don't give enough inspiration for roleplays and realistic reactions to different scenarios as well written example dialogue does.

Additionally, hand written dialogue is miles better than dialogue generated by AI. When you ask an AI to generate dialogue for you, it often will contain biases the AI already naturally gravitates to. Hand written dialogue helps nudge the AI to write in new ways because it has more information to work off of.

First message

V2 Cards and Extras

Optimizing your cards

Optimizing token counts

Solidifying the personality

Tying everything together

Stress testing bots

Contact / Changelog

Edit
Pub: 23 Apr 2023 21:06 UTC
Edit: 02 Aug 2023 13:37 UTC
Views: 622