Advanced: Chat Format
Here's a little guide on how to set up your story in a way that makes the AI maintain a "chat style" narrative between two characters, while keeping the role of one of the characters strictly under your control.
For the examples in this page, these terms are to be changed with the following:
• memory_information
: Here you can type the information about the characters, or any other information you usually want remembered in Memory. There's no need for any specific formatting in this part, normal prose works just fine.
• your_name
: Change this to the name of your own persona.
• bot_name
: Change this to the name of the AI's character.
You'll need to manually set those up in the Memory and in the Phrase Bias sections.
Memory
First, you need to have the following text at the start of your Memory:
memory_information
***
[ Style: chat ]
That should help the AI separate information from the actual chat and to know that it is supposed to start a chat, specially when using the Clio Model that has the [ Style: chat ]
tag in its training data.
After you type your own actual memory entry there, it should look something like this:
Story
Then you need to write a small portion of the beginning of the desired chat, such as:
your_name: Hello.
bot_name: Hi!
your_name: How are you doing?
Of course, changing those terms with the actual names of the chatting characters.
It's recommended that you write a more intricate and fitting start of a conversation between the characters, so that the AI has a better grasp on what is expected of it.
Just make sure to end it with a line by your character, and without a newline at its bottom.
Phrase Bias
This part is a bit more complicated than the others, but if you're familiar with Phrase Bias and its settings, it's nothing special.
• First you need to create one Bias Group with a Bias Value of +2, Enabled with both the Ensure Completion After Start and Unbias When Generated settings enabled and one phrase written as such:
{\nbot_character:}
So, for example, if the AI would be playing as a character named Euterpe, it would be written as \nEuterpe:
This one shouldn't have an empty space before closing the {curly braces}.
• Second you need to create another Bias Group under it with a Bias Value of exactly 0, also Enabled with the Ensure Completion After Start setting enabled (the other one doesn't make a difference for this one), and one phrase written as such:
{\nyour_character: }
So, for example, if you would be playing as a character named Sigurd, it would be written as \nSigurd:
This one must have an empty space before closing the {curly braces}.
They should end up looking something like this:
Goose Tip: Make sure the Bias Group for the bot character is above the Bias Group for your character, otherwise it won't work!
Stop Sequences
Lastly, you'll need to add the following Stop Sequence to your story:
\nyour_character:
In other words, the same phrase you biased for your own character's name, but without the {curly braces}. Don't forget the space at the end.
Also make the Min Output Length 1
, to make sure it always works.
Playing
Now, whenever you Send, you should always be greeted by a message from the character designated to the AI, followed by your own character's name, ready to receive a new input.
Due to how it always ends its output at the end of the AI's "post" no matter its size, setting the Output Length to the max value is recommended just in case it wants to give you longer answers sometimes.
Keep in mind, however, that in the eventuality that it somehow doesn't end one "post" in a single output, you will need to temporarily disable the bot character's Phrase Bias for the ensuing output.
Goose Tip: The AI shouldn't normally output messages long enough to not fit into one max size output. If you're encountering this issue, try lowering your Repetition Penalties!
Scenario File
And here we'll offer a .scenario file containing the Sigurd & Euterpe example shown in this guide.
sigurd_and_euterpe_chat_template.scenario
Note that it is just a really bare-bones example of this system working that you can use as a template. Ideally, you should write a much richer Memory and initial conversation to get better results.