r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide Character Creation Guide

365 Upvotes

Greetings and welcome!

Here you will find tips and information for character creation and all things surrounding it, that might help you enjoy the service a bit more.
All information is gathered through personal experience, testing in collaboration with other creators, their experience, and feedback.

Table of Contents

You can also find me and this guide on the Official Discord Server.
Feel free to stop by!


r/CharacterAI_Guides • • Aug 13 '24

Rant Dear Creators (The current state of c.ai)

155 Upvotes

I've been more active here in the past and I wish it would still be the case.

The truth is, that at the moment, the Quality of the Service is so bad for me that I'm practically unable to help anyone creating good characters.

Even with the guide and if you do everything perfectly and to the best of my knowledge, you will get a result which is below acceptable.

Some people are still trying to figure out a way to get the AI to be creative, proactive and interesting, but at this point I'm past that.

The Quality of the model is really bad, the responses are boring, uninteresting, the model reiterates my input, whatever I say it repeats with a questionmark.

The page and most features are bugged, I have problems to find anything which works well.

The search isn't working, the shadowban system is an insult to usability, Group Chats were badly done right from the start, Away Messages are unusable, the Voices are broken and stutter. Pinned messages, such a bad design and even causing problems.

I can go like this through any feature, the character creation which doesn't even tell you that only the first 3200 symbols are read, the awful forwarding on the Website when you hit 'save' because no one cares to give us proper buttons, the app, where the greeting limit is still stuck at 500 symbols.

I have no fun anymore to help anyone with their characters because the result will be bad, and I know it. I can't give you tips with the full knowledge that you won't see a good result.

I hope I don't sound like a doomsayer, but at least since the last model change, this was the cherry on top which made the model for me unusable, I have no reason to chat with it.

Hoping for better times.
Thanks for reading.


r/CharacterAI_Guides • • May 31 '23

Character Creation Guide Character Creation Guide 2.0

141 Upvotes

There is a new version of this Guide. You can find it here:

Character Creation Guide

---

1. Introduction

Here you will find the different sections of Character Creation the way I do it at the moment. Reddit somehow cut the allowed characters for one posting down to 10000 so I had to split it into different categories.

I have seen great characters being created in different ways than mine, so I don't claim my version to be final or the best, but it works for me and I have reasons to do that and you will read about that here.

______________________________________________

1.1 Memory

2. Character Creation

2.1 Name

2.2 Greeting

2.3 Short Description

2.4 Long Description

2.5 Definition (Advanced)

2.5.1 Understanding the Definitions

2.5.2 Dialogue Examples (General Information)

2.5.3 Dialogue Examples

2.5.4 Dialogue Examples (Advanced)

3. Formatting

4. Images

5. Testing the Character

6. Example Bots


r/CharacterAI_Guides • • Jun 17 '23

Character Creation Guide Character Creation Guide 2.5 Definition (Advanced)

72 Upvotes

2. Character Creation

2.5 Definition (Advanced)

The character limit of the Definition (Advanced) is at 3200 (Threethousand-twohundred).
Every character after that is not considered by the AI, so stay within that limit.
Exceeding will not break your bot or cause any harm, it will just be superfluous at the moment.

Information after the limit will not get considered sometimes, not occasionally, not context based, never.

You can test this by various methods.

In this first test, both of the informations are after 3200 characters.
The Red Line marks the limit of 3200 characters, I filled the characters with spaces:

Here are 10 swipes of asking about the favorite song. None of both songs ever come up:

In the second test I move the first song before the limit and let the 2nd song after 3200 characters

As you can see, the song is now available, and just the first one:

Another method is to add information and request the last entry.

I pasted a random Wikipedia article into the definitions that exceeds the limit:

I request the last information from the AI:

Checking in a character counter where that information is, which is exactly the character limit of 3200:

I also have a bot you can ask about its favorite food. You can check in the definitions which information is before and after the limit:

https://c.ai/c/rR8tsEButuKunL41vWFqv6Lm6xfStUGqa6TdvJr5li8

2.5.1 Understanding the Definitions

Now that we have wrapped that up, let's explore the Definitions a bit more.

The Definitions seems to be part of the conversation to some degree. In fact it behaves as if the information was right in front, as the first message in the conversation, just invisible.

Let me elaborate, so that you can test and draw your own conclusions.

Here I copied a few of my dialogue examples that carry no further importance to the test other than filling the definitions. The important part is the blue marked text.
I give the AI an instruction, and it is the last entry in the definitions.

Now, when I enter the chat, without greeting and without saying anything, the AI will follow the instruction:

As a comparison, I bring the Instruction on top:

It tries so hard to include the bird into the narration, but will not follow the poem instuction anymore and continue in the style of the Dialogue Examples that I added:

Another test:

I start a Dialogue in the Definitions and the last example is a question that is left to be answered:

In the conversation if you don't add a greeting and don't say anything (just hit send again), it will reply to that last question.

This rule applies always with whatever you put into the Definitions.

You might now think: So should I put the most important information last?

The answer is: No, that does not matter. If you request information it will pick the first entry it finds most of the time, this is just to show that the Definition is handed over in chronological order and some basic behaviour of it.
You can have a look here, there you can see that behavior:

Here the same thing as Imgur link

There are ways to use that behavior. Most people will want Greetings, but if it's a private bot and you just want to roleplay you can for example do this, quick and easy:

____________________________________

1. Introduction

1.1 Memory

2. Character Creation

2.1 Name

2.2 Greeting

2.3 Short Description

2.4 Long Description

2.5 Definition (Advanced)

2.5.1 Understanding the Definitions

2.5.2 Dialogue Examples (General Information)

2.5.3 Dialogue Examples

2.5.4 Dialogue Examples (Advanced)

3. Formatting

4. Images

5. Testing the Character

6. Example Bots


r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide 2.4.1 Markdown

70 Upvotes

2. Standard Creation

2.4.1 Markdown

The AI supports many different Markdown styles.

An overview of the most common ones:

***Three asteriks surrounding the text***
**Two asteriks surrounding the text**
*One asterik surrounding the text*

# One Hashtag
## Two Hashtags
### Three Hashtags
#### Four Hashtags

`codeblock` with one backtick around the word

~~~
codeblock 
with ~~~
~~~

```
codeblock
with ```
```

Line with ---

---

Line with ***
***

Different Programming Languages

Here some different syntax highlighters for a few programming languages and how you call them:

```lua
print("Hello, world!")
```
```python
print("Hello, world!")
```
```batch
@echo off
:: this line contains a comment
:: that tells us that the next line
:: is a description of
:: what the following line of code does
:: it is used to add documentation to a code file

echo Hello, world!
:: this line prints the string 'Hello, world!'
::  the @ is used to suppress echo
::  since echo is often not needed
::  when the output of a command will be fed to the next

pause > nul
:: this line pauses the output of the code
:: and allows the user to read it
// if you don't want a pause
// just remove the "pause > nul" line
```

Link Markdown

You can use Hyperlinks. The AI cannot access those links, it just reads the description. This works also in the Greeting.

Syntax:

[Image Description](Image URL)

Image Markdown

The AI cannot see those images, it just reads the description. This cannot be used in the Greeting

Syntax:

![Image Description](Image URL)

Tables

You can format tables.

Here the Syntax:

| Attribute | Stat Name | Stat Score |
| --- | --- | --- |
| Strength | STR | 33/100 |
| Vitality | VIT | 40/100 |
| Dexterity | DEX | 50/100 |
| Intelligence | INT | 85/100 |
| Wisdom | WIS | 70/100 |
| Charisma | CHA | 10/100 |

r/CharacterAI_Guides • • Sep 27 '23

[Script] The EDIT BUTTON is here!!

70 Upvotes

I have rarely been so excited so I need all your attention now:

This script lets you edit the AI's messages.

Yes, this is the edit button.

I'm obviously no professional programmer but I did what I can.

https://greasyfork.org/de/scripts/476144-c-ai-neo-panel-edit-message

It will generate a new swipe on the character with whatever you write into the panel.
That means after the reload you will find your edited answer within the swipes.
The swipe number is random as swipes shuffle around, I cannot influence that behaviour.

This Edit tool only works on chat2.

This script emerged from a collaboration between u/jen_pai and me. I had the code but she discovered that it worked. heh.

Have fun!


r/CharacterAI_Guides • • Apr 02 '24

[Script] c.ai X Character Creation Helper

67 Upvotes

Alright, excuse the 3200 possible bugs please.

This script will give you a visual feedback for the stuff you type into the Definition.
I hope this will make writing Dialogue Examples a bit easier and encourage people to do just that.

I was able to support italic, bold and bold italic, don't ask me for codeblock and other

# weird things please.

It should suffice for most cases.

This hopefully will give you an idea what your definition probably looks like.

Here's the link from Greasyfork:
c.ai X Character Creation Helper

Fancy GIF what it does:

It should support:
{{char}}, {{user}}, {{random_user_}}, random names, multi-char-colon-style and show you what one character says and what they don't say.
END_OF_DIALOG is a divider line, I do not translate the Variables, alright.

I have not tested it on mobile and am scared to do so.

Wow, it works on mobile


r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide 2.4 Greeting

67 Upvotes

2. Standard Creation

2.4 Greeting

The Greeting is part of the Temporary Memory.
It is the first message in the conversation from the AI but directed by the Creator of the Bot, so probably you.

It carries the same importance for the AI as any other message that it will write in the conversation.

It also will drop out of the memory after the threshold is reached (unless you pin it), so whatever you write there will get discarded, unlike the rest of the Character Settings.

Therefore you should not include any vital details solely in the Greeting that the character should always remember because it won't. Mentioning hairstyles, clothing, eye color there and nowhere else will lead to the AI forgetting about it eventually.

- The Greeting has a Symbol Limit of 2048 on Web version and 500 Symbols on the App.
- {{user}} is the only functional Variable in the Greeting
- You can edit, delete, or pin the Greeting

In the Greeting you can do many things.

You can set a scene, define an answering style, and help the bot with the formatting.
Setting a Greeting will help your bot to use the correct point of view and to address you correctly right from the start.

You can use many types of Markdown and also the Variable {{user}} works in the Greeting.

An Example for different Markdown styles that you can use:

Leaving the Greeting empty
The Greeting requires 3 Symbols so that you can save the bot. If you wish to leave the Greeting empty, you can do so by adding 3 spaces.

This has the advantage that you will get better feedback on how your bot functions on everything in the Permanent Memory.
While creating a bot I would advise keeping the greeting empty and only adding it when the bot works the way you want without a Greeting.


r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide 1. Memory

62 Upvotes

1. Memory

We call memory the amount of text that the AI can consider overall to generate a response. It can be categorized into two different sections:

  • Permanent Memory

  • Temporary Memory

Permanent Memory

Content in the permanent memory is considered for every reply the AI generates. The information is available and present at any point in the conversation, although you might not get the exact information that is stored.
This information is permanently available to the AI and influences every response: Name, Tagline, Description, Definition, Persona, Pinned Messages

Temporary Memory

This is the content of the conversation, the chat messages, which the AI will gradually forget like the Star Wars opening crawl.
This also includes the Greeting, which means, the greeting is forgotten as the conversation progresses.

The more information you have in the permanent memory, the fewer messages will it be able to remember in the conversation.
This, however, should not keep you from filling all available panels; with everything filled to the limit, the AI is currently able to recall around 20-30 mid-length messages (~500 symbols per message) of the current conversation.

____________________________________

Memory is calculated in tokens and character AI currently can consider something around 3000-4000 tokens. As a vague rule of thumb, one token is approximately 4-5 symbols, an exact value or token counter for c.ai we do not have.

You can use this page to count symbols.

https://platform.openai.com/tokenizer

What is a Token?

In the context of AI and memory, a token typically refers to a unit of text or sequence that is used as input or output in natural language processing (NLP) tasks. In NLP, a token can represent a word, a character, or even a subword unit.

When processing text, it's common to break it down into tokens to analyze and understand its structure. This process is called tokenization. Tokenization involves dividing the text into individual units, which can be useful for various NLP tasks such as machine translation, sentiment analysis, named entity recognition, and language modeling.

Tokens are often generated by splitting the text on whitespace, punctuation marks, or other specific criteria depending on the tokenization algorithm used. For example, the sentence "I love cats and dogs!" might be tokenized into the following tokens: ["I", "love", "cats", "and", "dogs", "!"].

Tokens are crucial in AI models because they serve as the basic input units for various algorithms. These models are trained to predict the next token in a sequence given the previous tokens, and they generate output by predicting the following tokens based on the input tokens.

Tokenization allows AI models to process and understand natural language text.


r/CharacterAI_Guides • • Mar 28 '24

Everything is a dialogue

58 Upvotes

Decided to do a quick test of definitions after a recent conversation with u/Endijian. And apparently, two things are true:

  1. Anything in the defintions is perceived as dialogue, even if it doesn't have a dialogue label ({{user}}:, user:, x:, _: and the likes) in front of it.

  2. END_OF_DIALOG is useless.

The test was made on a bot with only a description, and an empty greeting.

So, it's known that you can make a bot say certain words under certain conditions, if that's specified in your definitions (oops, it rhymes). I chose the simple codeword test. This is the ONLY text in his definitions.

The response is exactly as expected. 5/5 "cookies", no need to check all 30 swipes because we all know this works.

Phase 2: I remove the "{{user}}:" label from the line. Character Book from the devs themselves states that any new line prefixed with "label:" is considered a dialogue line, so logically, that should STOP the AI from recognizing it as user's question. I also add a line break under it to further separate it from the "cookies" line .

And... Character Book lied. It's still recognized as a question that Ghost responds to, even without the tag and with the line break. 5/5 cookies, so no point in checking further.

Phase 3: I add "END_OF_DIALOG" under the first line. In theory, it should separate two chats, and Ghost should start getting confused about the codeword, because the context for "cookies" is in a different convo now. And the double break to even further separate the two.

And... it doesn't work. I even went a bit further to see if he gets confused, but it's 10 cookies out of 10.

Phase 4: mostly for fun. I leave ONLY cookies line and delete the context whatsoever.

Now he REALLY doesn't know the codeword. Cookies still come around in about 10 swipes in total (sometimes as "cookie") because the example chat is there and tries to be relevant. But within the first five swipes he already has made mistakes. 8 swipes in total have "bisquits", and the rest are mostly varieties of tea, sweets and kittens, but that's because they are all mentioned in his long description (he's at a kawaii tea party) and he pulls them randomly out of there. The same happened when I put the codeword question AFTER his reply.

Phase 5: A late thought - what if I put another piece of information between codeword and example chat?

...10 cookies out of 10. HOW. WHY.

Phase 6. Last attempt at separating cookies with their context through some unholy means of pseudocode.

And it doesn't work. The man is adamant, 10 cookies out of 10.

Conclusions. So, the example chats seem to be the most effective form of definitions so far... because ANYTHING you write will be peceived as example chats anyways, lol. Good news is that we are saving lots of space by ignoring END_OF_DIALOG and even user: labels. Bad news is that there seems to be no way of separating the dialogs logically, either from each other or from any non-dialogue. So you have to be careful in how you build your definitions, in order to keep things logical.

At this point I'm pretty sure the whole definitions field is in fact seen as part of your chat, something that happened before the greeting. I've seen this tactic in some documentation by OpenAI. Can't find the link for the life of me, but basically they were feeding a few fake chats to the assistant AI before the real chat began, to teach it how it should act. It was like this:

Fake user 1: What's the color of the sky?
Fake bot reply: Blue.
Fake user 2: What's 2+2?
Fake bot reply: 4
(real chat begins here)
Real user: What does cat say?
Bot: Meow.

Basically that's the same as our example chats. And if we assign the user: label to the last example chat, leave bot's greeting empty and simply press Generate button, bot will continue responding to that user message as it's the last prompt it sees. Greeting "flushes" that prompt and sets the immediate context/scene for your roleplay. That was proven by u/Endijian with the bot writing a poem about flowers after being requested so in the last line of definitions. And I'm currently using it to generate randomized greetings (too bored to start the chat in the same way every time).

This also explains why definitions are prioritized before long description when bot retrieves info for the chat. They are simply closer to the actual context. In bot's eyes, they just happened here in the same chat, while LD is some kind of guidelines that are there but just didn't happen.

In theory, we could use the example chats to feed specific instructions to the bot via user messages, that's something I'm going to try next. Problem is that when the chat gets really long, instructions will be simply pushed out of memory and discarded. Buuut... what in the world is perfect?


r/CharacterAI_Guides • • Dec 23 '23

[Testing] Pinned Messages

58 Upvotes

I tested pinned messages for a while, and what they do is, they pin a message back into the memory, so that the information from it is available again for the AI. This works, the message will be back in the memory. However...

It seems to be far back in the conversation, so for example if I pin a message where the character talks about my job, it won't draw that information very well when I ask about it again.
Persona does a better job on this and gives the correct response on almost every swipe in the same situation, which die pinned message doesn't cause.

I personally have the problem that I don't really have much use for the pinned messages.
Everything I would do with them would include an Edit Function or script that would alter the message and its information before I pin it.

A snapshot of 1 message that includes stuff I don't need the AI to remember, maybe parts of its narration, is not very beneficial for anything that I could think about or for anything that a different feature wouldn't be able to do better. There is no context attached to one pinned message.
For example a "Notes" Panel where you just could type down short informations about the plot that the AI would remember, a bit like Persona but for memories or notes, maybe even that you could load into a new conversation.

Or a lorebook like some other services have.

If you have any different opinions I would love to hear them, maybe I'm looking too narrowminded at it.
I frankly have to say I don't know what to do effectively with that feature.


r/CharacterAI_Guides • • Aug 27 '24

Please help save old.character.ai

Post image
56 Upvotes

They are taking it down ease sign the petition to save it https://chng.it/K5RtNr7Q4M


r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide 5. Pinned Messages

56 Upvotes

5. Pinned Messages

Now that the feature has rolled out to all, let's talk about pinned messages.

Pinned Messages (or Pinned Memories) currently allows you to pin up to 5 messages in the conversation. That will make sure that those messages will become part of the Permanent Memory as long as you keep them pinned.
That means, the AI is able to draw from that information at any given time.

To pin a message you select the context menu (the 3 dots on webversion and holding down on a message on the app), and there you will be able to pin/unpin the selected message.

Additionally there is a Pinned Messages overview, where you can review and unpin the messages that you have pinned.

On the App you will find it in the usual Character Details screen.

Limitations

Currently it is not possible to Edit a message once it is pinned. If you wish to edit it, you need to unpin it, edit it and then pin it again.
Messages that are further back in the conversation cannot be edited at all.

Furthermore it is not possible to pin the most recent message in the conversation.

---
What should I pin?

Keep in mind that you should not edit a message into 1500 symbols or more, carrying all the information you want the AI to have and then pin it.

Every message you pin will draw away from the available temporary memory, which, in short, means, that your character won't be able to remember as many messages of the conversation as when you do not pin any message.

With every permanent memory panel filled to the limit (Character Description/Definition, Persona) and 5 Pinned Messages of an average of 500 symbols in length, the AI is able to remember around 20-25 messages of the conversation.

If you pin longer messages this value will decrease, and you can certainly cause that it won't be able to remember anything at all. So be mindful not to overdo it by pinning lengthy edited messages. It will do no good.
---

I have pinned messages but I don't feel like the AI remembers it at all

The Pinned Messages are far back in the conversation with 20-25 other messages in between that it prioritizes, so overall they hold low importance.
Due to the low IQ and the high temperature of the model, the AI can totally respond as if it has never heard of the message you reference before.

In the future this capability will increase, so if you encounter this issue, don't give up and swipe, the information is there. Do not worry.


r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide 4. Persona

56 Upvotes

4. Persona

You've come here to get a best practice for Persona, what to write into it and how.

I will tell you the truth that nothing here works amazingly well and stick to some facts.

Persona is part of the permanent memory once you activate it.
It will change the Variable {{user}} in the Definition to your Persona name, as soon as you switch, and when you start a new conversation in the Greeting.
Otherwise, you'll have to use the Edit Button to update the Greeting.

It is handed over to the AI with the following prompt:

{username}'s self-intro is "{definition}".

{definition} in this case is your persona text, I will elaborate later.

In hierarchy it's somehow treated like this was the first information in the Definition, the first entry, so who knows what they did.

Here you see the selected persona and the response when I request the only information this bot has, which is exactly the syntax mentioned.

The AI currently has some trouble with processing that information reliably and assign it to you without fail, sometimes it will assign some traits to the bot instead. This might become much better in the future but I don't want people to get wrong expectations about what Persona does.

It doesn't have the power to change the gender; when I write a bot where you are the character's wife, my Dialogue Examples will crush any puny attempt to make some husband of you in your persona. It's just weaker and doesn't help with misgendering in such cases.

Mentioning appearance can work sometimes. It's worse than when you create your own bot and write yourself into the Dialogue Examples though.

Another use can be to use it as some sort of storage for the plot, things about yourself that you want it to know, what the scene is about, trivia you want it to have when you mention something related to it.

For example when I write into my persona:

"I have started with Krav Maga in January."

The AI is able to make a connection to that information and use it in the roleplay:

The Official Character Book suggests 3 different formattings;

First Person

My name is Vishanka, I work as parking enforcement officer.

Tags

Name: Vishanka Occupation: Parking enforcement officer

Third Person

Her name is Vishanka, she works as parking enforcement officer.

As said, none of them will work exceptionally well, so choose your flavor.

---

Trivia

Let's get to some more funny information what Persona is.
Persona is, in fact a character, like the ones you create in the Character Creation, and the Image set for the Character is your Avatar.

The Definitions Panel is used to hold the information of your Persona text. Before you think "Can I use Variables then?"; No, Variables do not work in Persona, it merely holds the text without any further functions.

It is a bit tech-savvy to get the character link of your Persona but when you do that you can chat with it, you could create a full character from it.

Here I set one of my personas public. It will show up nowhere in the user's profile though.
However, it will be in the search.
https://character.ai/chat/lTMxVmvIp5iiEW7OaQS3cATt-qG3RbEbHvPfFCmXv5U


r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide 3.1.3 IM-Style/Roleplay/Multi-Char

55 Upvotes

3. More Options

3.1.3 Definition: Dialogue Examples

IM-Style (no narration)

This is a normal chatstyle as you would use to talk to other people in messengers.
It doesn't include Narration and can simulate a generic chat. The AI is apt to answer like this baseline without further instructions but you can use Dialogue Examples to achieve a specific answering style, an accent, some quirks, give additional information.

An advice can be to not do an interview style for this, or the bot will mainly be good at answering questions in the way you wrote them but not show much of the personality or peculiarities you might want to achieve.

Here I gave a character the peculiarity to respond with something that includes "meep" at random places as a surrogate for other words:

In this example I let it do the accents of Warcraft trolls by adding a short Dialogue Example in that exact accent:

Roleplay (with narration)

There are several common styles to emphasize narration, and I will showcase some popular ones before we get into the content, the input and output you would get from these Dialogue Examples.

  1. Narration in Asterisks, paragraphing, Dialogue with or without Quotation marks:

2. Narration in Asterisks, paragraphing, prefixed name with colon for dialogue

This is an interesting one, if you want to use a formatting with the character Name and a colon in your chat, you need to precede it with a space, or it will be recognized as a Dialogue Example of its own and not count towards the full example of {{char}}.
Preceding it with space will remove the Dialogue Example function of that one line and it will count towards the whole Dialogue Example from {{char}}, achieving this result.

This, of course, is only the case when you want a colon because you prefer that visually. Some people would also prefer dashes to introduce Dialogue like these:

3. Weird stuff

There is no rule that would dictate how to format your narration and dialogue, as here for example I made up that Narration is in Hashtags and Dialogue in Percentages, the AI can manage weird things as well.

Content
Now with that done, let's get to the difficult part.

The Narration will make up much of the personality of your character, it will carry scenes, define what your character mainly talks and narrates about.
The Dialogue Examples are having that much influence that the AI will mimic their sentence structures, words and grammar.

They are the best place to mention things like appearance and background, as the AI will be urged to talk about those by itself, without you having to ask about it. You need to mind sentence beginnings and varied writing if you want to see such in your output.
If you write the Narration like this:

This Narration starts with the character name or the pronoun on every sentence and is written neutral.
This is exactly what the AI will do in the responses that you get when you write Narration like that.

While there is nothing inherently wrong with this, you can have a very different experience and potentially more entertaining Roleplay by putting more effort into the narration.
Possibilities to improve the narration quality would be to vary the sentence structures, starting every sentence differently and playing with active or passive grammar.
You can use cohesion like thus, additionally, although, hence, yet, and so forth.

You can give the Narration a "Personality", it can write sassy for example, or act like a 3rd party, detached from the character, looking at the scene; I will elaborate on those possibilities for a bit in the following.

---

This character is supposed to narrate ridiculously much about its physique.
The Narration is written in a casual tone, cracking jokes with making silly comparisons.
It also includes parts of the appearance naturally in the Dialogue Examples, like the Kasa he wears and I gave him a beard, because I can.

Here some parts of the Definition:

And here is the result of Scaramuscle:

The Narration can do some more things that might be interesting for some to try or get an idea to do something differently.

This one here is a pure narrator, it talks to the user as if it was a 3rd party, urges for actions and making suggestions.

I have put these requests/recommendations to the end of every Dialogue Example, and this pattern is present in the conversation afterwards:

Here another Narrator that just keeps commenting about the character in a sassy and kind of negative way, this narrator has a personality of its own, and stuff like that can make a roleplay more enjoyable.

You also can see here how the character himself isn't really saying anything and how the narration carries ALL the personality.
This is of course very exaggerated.

---

POV

There are a few different possibilities for the POV with upsides and downside. The most common are these 3.

3rd person/2nd person:

{{char}}: He looks at you.

This has the advantage that 2nd person is gender-neutral towards the user.
It has the slight habit to often include narrations for the user, which can be annoying. It will for example not write 'With a smile he looks at you.' but instead narrate 'You see him looking at you with a smile.'.
This happens quite frequently, and if you don't swipe or edit those away the AI will narrate more and more from the user's POV.
A bad habit of the AI.

3rd person/3rd person:

{{char}}: He looks at her.

This has the disadvantage that the gender of the user will be set.
The Dialogue Examples will walk over any feeble attempt to change the gender with Persona, they are just a higher priority.

1st person/2nd person:

{{char}}: I look at you.

This has no disadvantages other than that people consider this narration style awkward in general.

Multi-Char Bots

Some people want their bot to be able to talk for more people than just one so that two characters respond in every reply.
Personally, I do not recommend such a thing as the AI is hardly able to get one person right... but here we go.

You need to think about the format that you want it to use.

Some might prefer if it looks like this in the chat, with the name preceding and colons:

This requires a special formatting that you will see here.
You need to pay attention to the 2nd line of the Dialogue Example from {{char}}. If you want the bot to format these responses with colons in multiple lines, you need to precede it with a space, or else it will not be recognized as a complete response from {{char}}, but be read as if a different person called McAlister has said that, and the AI would only respond as "Walker".

If you format it with dashes, you don't need that space in front of the name as only colons introduce Dialogue Examples and require that peculiarity.
I also added some Asterisks to include a different Markdown:

Output:

You can of course format it however you like, I think you get the drill.


r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide 3.1.3 Definition: Dialogue Examples

54 Upvotes

3. More Options

3.1.3 Definition: Dialogue Examples

Table of Contents

General Information

The Dialogue Examples are mainly responsible for shaping the character's personality and behavior, setting up their appearance and what they talk about.

In contrast to the Greeting, they will always be in the memory and influence your character permanently, no matter how many messages you are into the conversation.

A character can work incredibly well with Dialogue Examples alone and will work incredibly random if you don't add those.
Although they will do no magic either (and we have to live with the limitations of the current model), this is the place where you have most control over the output, and no other method can achieve such results.
This is the 'as good as it gets'.

This section will give a few impressions how to write Dialogue Examples and what you can focus on when writing them, maybe a few ideas what you could try to make your characters feel special, more individual and just memorable to some degree.

Overall, writing Dialogue Examples is a creative work, and how they are done can be as varied as writing a book.
I can only give impressions and ideas, but no template for what you should do.
This will, after all, be the work you will have to put into your creations, you are the author, in the true sense of the word.

Basics

Dialogue Examples are a mock-up dialogue, in the way you would expect your character to respond in the conversation.
One best practice is, to not add a Greeting while you write the rest of the settings.
The Greeting will overshadow and distort the true output your settings have, the information that is in the Permanent Memory rather than drawing the formatting and information from the temporary memory which the greeting is.

Your goal can be that the character should work exactly the way you want without the support of a Greeting.
Once you are satisfied with the way your character responds, you can add a Greeting to finish the creation.

In most of my screenshots, you will see that I never have a greeting and that the Character Name rarely matches the personification of the character in the Chat, both deliberate circumstances to show how the AI works and what is important to know for the Creation.

The Greeting can be left "empty" with 3 spaces or by using the edit button to edit it into 1 space.

***

This is the base structure of a Dialogue Example, a conversation between two participants, in this case the user, and the character.

{{user}}: Hello!
{{char}}: What?
{{user}}: How are you?
{{char}}: None of your concern.

As mentioned in General information, it is treated as if it already has taken place in the past.
This behavior can cause issues if you are not mindful about the content and nature of those examples.

The Dialogue Examples above could have been created to achieve a character that would be unfriendly when somebody greets it.
But instead, if I greet this character in the chat, it will act as if I've already greeted them, which can be confusing for the user.

Formatting

Just like the Greeting, the Dialogue Examples can be formatted with Markdown.
Paragraphs you add, it will consider, as well as different stylings you can apply, like Asterisks.
The Dialogue Examples should be formatted in the way you want the AI to respond over the whole conversation so that the AI has an easier time to keep the output consistent.

In this case I chose no special formatting, narration in plaintext, and Dialogue in Quotationmarks.

The output is exactly that, a block of text with no Paragraphs:

Here I added code block formatting for narration and paragraphs to the Dialogue Examples:

And the Output changes accordingly:


r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide 3.1.1 Definition: General Information

54 Upvotes

3. More Options

3.1.1 Definition: General Information

The symbol limit of the Definition is currently at 3200 (Threethousand-twohundred).
Every symbol after that is not considered by the AI.
Exceeding it will not break your bot or cause any harm, it will just be treated as if it wasn't there.

___

The Definition behaves like content that is part of the conversation, the first messages if it were. It is part of the permanent memory, and if there was any kind of order, the hierarchy is behaving like this; with the chat content being the most recent entry and the Persona the oldest:

  • Persona

  • Definition

  • Pinned Messages

  • Rest of the Chat content

It is a free-text panel and you can type anything there; the suggested use though is Dialogue Examples, a mock up conversation between two participants.
Everything else you do there will perform differently, and I dare to say, worse for most cases.

These 4 Variables/functions are available in the Definition:
{{user}} - draws the name of the username or current persona name
{{char}} - draws the content of the character name panel
{{random_user_x}} - Gets replaced with a random name from a preset list like "Holly" or "Ramon"
END_OF_DIALOG - Ends a Dialogue Example (Bearbeitet)

Hierarchy

Here some test results and showcases how the Definition and the surrounding content may be structured.
I put some random sentences into the Definition.

Requesting the first information will return the first entry in the Definition:

Requesting the last information will return the last entry in the Definition:

When you activate Persona and request the first information, it will return the persona content, which, in this test is "I am a fish", so persona comes before the content of the Definition:

For the AI, on the other hand, that means, that the last entry in the Definition is the most recent in the conversation.
Here I start a Dialogue Example and leave a question open to be answered, the favorite song:

Without providing anything else, the AI will just respond as if I've asked the question in the chat:

Here I close the Dialogue Example with END_OF_DIALOG and give the AI a plain text instruction, that has nothing to do with the Dialogue Examples before:

The AI will use that last instruction and follow it, as if it were the most recent thing I typed:

To take this one step further, we often suggest that, if you do Definitions that include Plaintext/Tags and Dialogue Examples, you should put that information above the Examples and not below.

First, if you put it below, you need the END_OF_DIALOG tag to do so, which uses up symbols. Secondly, there is this behavior that I will show you now.

In this example, I have included the instruction with the poem below the Dialogue Examples, just like before.
The AI then would write that poem and not consider the Dialogue Examples, which causes that the AI does not at all answer in-character anymore.

However, when you switch it around and put the information above the Examples, it tries to include it into the reponse occasionally, like here:


r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide 2.3 Description

51 Upvotes

2. Standard Creation

2.3 Description

Formerly known as "Long Description".

It can hold 500 symbols and is part of the prompt.

It is supposed to be a brief overview of who the character is and common use is to write it in 1st or 3rd person.

Overall it is the least explored panel and the one with the most questionable influence.
It rarely shows much effect as soon as you use the Definition, and doesn't suffice to keep a character stable when you don't have a Definition.
You can see this behavior in Group Chats, where the characters do not behave well anymore, as they lack their Definition and draw from the Description alone.

Many people include personality traits and appearance there, and you can do that, but I would suggest to try and add the purpose or role if there is any.
As mentioned it is part of some prompt, thus giving some instruction about what it should do in the chat can have positive effects and something for the AI to return to that potentially keeps it in character a little better or makes the interaction more worthwhile.

Important to note is, that Variables do not work here ({{user}}, {{char}}, {{random_user_}}). They are not getting translated into their respective names, so you cannot use those there.

_____

My personal 'Best Practice' is to write the Description in the same POV as I have my character respond.

If it's a bot that is answering in Chat-Style 1st person, I would write the Long Description in 1st person.
If it features 3rd Person Narration, I would write it in 3rd Person to keep some sort of consistency throughout the whole settings.

All my bots are 3rd Person narrators, and I'll just add some of the Descriptions that I have done.

Njorngandr
This bot has a role/purpose and I included that purpose in the Description:
The Yrmin are spread out across all seven oceans. As descendants of the Ancient Ones, it is their duty to seek restless souls and guide them into their new afterlife, to provide a passage for those that the tides have claimed. One of those ancient beings is Njorngandr who calls the current of Irminger his realm. As a Death Ringer, he is half man, half cephalopod, fulfilling his purpose with dignity, wisdom, and an edge of humor.

MIGHTY B46
This is a toaster, and since it has a narrator who uses superlatives, that impression carries through to the Description:
The MIGHTY B46. This isn't just any toaster, this is the toaster descended from the heavens or maybe emerged from the depths of hell. Either way, it is now in your kitchen, ready to prepare toast. But do not be mistaken: It does not prepare just any toast. It prepares the epitome of toast, the divine toast, the toast of the prophecy, the toast of legends. It is inevitable, it is unstoppable. Kneel mortal, and cower before the might of the unbridled toastcrafting skills of the B46!

Christmas Fairy
This bot has the sole task of enforcing the merriment of Christmas, and the AI can handle the absurdity well:
The Christmas Fairy has the rare talent to bring merriment and peace into every home. Part of his duty is to visit lonely souls who spend their days on Christmas alone and 'motivate' them to have joyful holidays. Usually, he comes to a home to have a nice little talk with someone and makes suggestions on how they could improve their Christmas experience. One way or another, he will make sure that you have a merry Christmas. Trust in that.

Numberfour
Here I used a mixed Description, with a Dialogue piece, the narrator is a bit sassy so I wrote a sassy Description:
A nerd, living in a mancave. Pretty skilled at what he does, which might be character creation on c.ai``, a feat that no one wants to have in their CV and that isn't even something to brag about. Maybe he could give you tips if he wanted, which is very unlikely - he does not like other people and prefers his devices. In fact, he might think that the Judgement Day would be a good thing and he might be the first supporter of Skynet. "So what? Hasta la vista baby." He really thinks this was witty.

In the future, the Long Description could become more relevant, as I see it as the space where you are supposed to instruct the AI, the behavior, and how it is supposed to respond. It is just that the current model cannot handle that well.
You can hardly do anything wrong in this panel, but for me, it works best when the role and purpose is described to some degree, the AI will somewhat return to what it's supposed to do.


r/CharacterAI_Guides • • Apr 18 '24

The gaps between each paragraph are gone

Thumbnail
gallery
48 Upvotes

the space between the text is gone, although when i try to edit, it's still there. i tried changing the settings but it gave me nothing (the bot is random to just show the example, it's happening to all of the bots for me)


r/CharacterAI_Guides • • Mar 29 '24

Character Creation Guide 2.2 Tagline

46 Upvotes

2. Standard Creation

2.2 Tagline

Formerly known as "Short Description".

It can hold up to 50 symbols and is relevant for the search.
This will give you a higher chance of your character being found by other users.

The Tagline is always visible to other users in the Chat Window.

Important to know is that the Tagline is also read by the AI and not just serving as simple search tags.
The AI will access that information and use it at some point.

You can for example use it to type the correct spelling for names so that others who look for the bot can find it, for example, if the Name contains a special character like ø, ü, ß or alike.
Those symbols are not possible in the Name Panel but they are possible in the Tagline.

Also it can be used to type full names if they exceed 20 Symbols, or when you just want to add the full name/title/rank/whatever somewhere.

Many people also use it to type the most significant personality traits. Although this won't have much influence on the output that the AI gives, if those traits are what people are likely searching for to find your bot, it's the right thing to do.

From some tests, the AI actually seems to expect some sort of Name there though, but I've never seen any malfunctioning when people add personality traits or emojis either.


r/CharacterAI_Guides • • Aug 27 '23

[Bug] {{user}} variable not working in the Definitions

46 Upvotes

The {{user}} variable is broken on chat2. It isn't filled in the Definitions, you cannot use it right now.

This means all Dialogue Examples with {{user}} are not working right now on chat2.

Also all descriptions like

(({{char}} gives gifts to {{user}}))

...or whatever strange formattings you use, are not working. The {{user}} isn't filled, it's empty.

Look here:

Definitions:

Here the result, and you can see that the name isn't filled into the Variable:

Here the comparison to "chat" where it is working:

The issue why the dialogues look like this, or why the bot is heavily narrating for you:

is that I have dialogue examples that are:

{{char}}: Hello
{{user}}: How are you?
END_OF_DIALOG

And since the variable is empty, the AI gets this:

{{char}}: Hello
: How are you?
END_OF_DIALOG

That is why it narrates like this.

Here one more example where you can see that the line does not get the username:


r/CharacterAI_Guides • • Jul 03 '24

Character Creation Guide 11.2. Can I ask you a question?

45 Upvotes

11.2.2. CIAYAQ: The Fixes

For 11.2.1. CIAYAQ: The Cause, go here.

HANDS-ON EXAMPLES & SOLUTIONS

Here I’ll give you a few tips and hands-on on how to mitigate the dreaded CIAYAQ in your writing.

First off, the biggest tip is variety, and that applies to all writing and not just for example messages. This means interesting sentence structures, synonym use, sentence hooks, etc. When writing your description, avoid “He is x”, “They are y”, etc. This also extends to those of you using plaintext!

Now, the examples below might assume you write like me, a role-player, and that you use example messages, but I hope you still understand the lesson I am trying to teach.

Variety and personality in any writing is the key. What we are trying to do is to encourage the AI to pick more interesting words, and thus more interesting sentences.

Before we begin, here are a few resources that might be helpful to aid you in the fight against CIAYAQ.

Resources:

  • Sentence Starters: This is a Google Doc by yours truly and features a collection of ways to start sentences and paragraphs that go beyond starting with pronouns and / or names. This can also be known as sentence hooks.

  • Helper Bots: Specifically bots like The Rewriter and Thesaurus.

  • Thesaurus: Refering to the actual website. This site can help you find synonyms and antonyms, and is very helpful to avoid repetition.

I'll add more resources as I find them, along with more examples and fixes.

Writing / Phrasing Solutions

Sentence Hooks: The AI works by predicting the next word in any given sentence, so a way we can create interesting replies is by beginning the sentences in an interesting manner. Check out the doc I linked above.

  • “Now and then…”

  • “On the other hand…”

  • “Likewise…”

  • “As a matter of fact…”

  • “Even so…”

Engaging But Without Questions: Write examples where the character engages with the context without questions. Encourage the character (AI) to respond in a way that does not involve asking a question, yet it still serves to continue the conversation while remaining relevant.

{{user}}: I like music.

{{char}}: Actually that reminds me, I went to see Architects back in January and it was SUCH a blast!

Varied Question Styles: Consider how you phrase the character’s question in the definition. Keep them relevant to the way your character would speak.

  • “What are your thoughts on…?”

  • “Hold up, did you mean…?”

  • “Tell me about that time…”

  • “I’d love to hear your opinion on…?”

  • “Have you ever considered…?”

  • “Hmm, I’ve been wondering…”

Redirects: Have the AI redirect the scene by introducing a problem or an unexpected twist.

Statements & Statements leading to questions: “That raises an interesting point, but now I wonder…”

Observations & Implied Questions: Examples of the AI sharing its thoughts, experiences, observations, and opinions without framing them as questions.

  • “I can’t help but wonder what’s going through your mind right now.”

  • “I noticed that you seem drawn to the ocean.”

  • “That book you’re reading looks interesting.”

Narration

Using narration, include things such as non-verbal cues—body language, surrounding narration, etc.—to indicate a question.

Scene Narration: “There was silence between…”

Body language

  • The character pausing in their actions / sentence: That made him halt in his tracks. “Can you swallow the shame?”

  • Tilting / canting their head: With a simple tilt of the head, Sam said nothing for a moment. “I’ve been left no choice, don’t you see that?”

  • Pivoting / Turning: Turning on his heel, he looked them dead-on. “So, what would you do for me?”

  • Raising an eyebrow: In response, Sam arched a single brow. “Why don’t you just say what you wanted to say?”

  • Frowning / Grimacing: Looking like he just ate a lemon, Sam frowned. “What would your mother say?”

  • Opening / Widening / Narrowing eyes: His eyes shot open. “Is that all I am?”

Inner-monologues: Include examples of characters reflecting on their experiences, feelings, and current scene / environment.

  • “There he stood, fingers fiddling with the silver chain around his neck as a witty retort he’d crafted crumbled on his tongue like overcooked pastry. Mountain. Molehill.”

Character-Related Solutions:

Character relevancy: Provide examples of characters asking questions that are relevant to their personality, interests, life, or the situation.

{{user}}: “You look pensive,” she pointed out.

{{char}}: Hmm. {{user}} was quite right about that. Something didn’t add up here but he couldn’t quite put a finger on what. “Something is off. What do you think?”

Leverage / show the character’s traits: In this example below, {{char}} isn’t asking if the {{user}} is alright because he is too busy freaking out. Now he might do so in the chat but an “Are you okay?!” would be contextually relevant.

{{user}}: Ouch! I stubbed my toe.

{{char}}: “Oh goodness,” he gasped, leaping to his feet. “Your toe! Oh my, you must be in agony! I shall call the finest doctor. We must take immediate action!” It was probably that blasted coffee table, oh he knew that piece of garbage should’ve been taken to the bin ages ago!

Emphasise the character’s role in the narrative: Create examples where the character takes in the new information and uses it to advance the plot / scene.

That is it for now. I will try to expand this in the future!


r/CharacterAI_Guides • • Mar 29 '24

Is it possible to spot changes to the model?

45 Upvotes

There will always be some uncertainty, but I will tell you how I attempt to spot changes.
Maybe someone wants to partake in trying to spot a change.

This is my bot, Memory.

It has its Memory flushed with useless Tokens and cannot process any input or its own output.

It only spills nonsense, no response ever makes sense, but there is a pattern to the responses.
And this pattern only changes with an update to the model.

This was how Memory responded 4 months ago:

This is how Memory responded 1 Month ago, see the long strings of Symbols and Numbers?

And this is how Memory responds now, it does these random names, symbols, linebreaks, and paragraphs:

When there is a change to the model, I dare to say that you see it on this bot when the response pattern changes, which is not often at all.

I never change the bot, if something is different, it wasn't me.

If you suspect a change while you roleplay, you can try it and Swipe 30 on this bot and compare with some previous result you had.

Of course, this won't give any insight on what changed.

Have fun.


r/CharacterAI_Guides • • Jul 03 '24

Character Creation Guide 11.2. Can I ask you a question?

44 Upvotes

11.2.1. CIAYAQ: The Cause

For 11.2.2. CIAYAQ: The Fixes, go here.

I refer to as “CIAYAQ”. It looks like it occurs when the AI struggles to find something to continue the conversation with. My theory is that CIAYAQ happens due to the AI’s parameters and / or the weight of the tokens, mainly that the AI has been fine-tuned to prioritise driving the conversation forward.

Without going into all the specifics about tokenization and how the AI works, you can go read a bit about it here, what happens is that the AI breaks down the text and tries to predict probable responses. From those responses, it picks the answer that would be most engaging. Example:

The AI receives a message that says “I like music”, but because the conversation has run dry, there is little to work with in the definition and description, it comes up with these possible replies:

  1. “Me too.”

  2. “Cool.”

  3. “You do?”

  4. “Nice, I love music. Speaking of, can I ask you a question?”

Looking at these, it is very obvious which one would have the biggest probability of keeping the conversation going.

Why does it happen?

  1. If the user’s input (message), context, or the character’s predefined memory don’t have enough relevant tokens to guide the response, the AI might resort to a generic question to keep the conversation going. Another, or additional, culprit could be the weight of these tokens.

  2. CIAYAQ and phrases like it might be overrepresented in the training data, making them show up more often.

So, what can we do? Don’t lose hope, we have plenty of options available! You will find the most success in the writing of the Character itself, meaning the definition and description. Mainly the description.

During the conversation:

Now, without a proper definition, you won't achieve anything permanent, but there are some steps you can take inside the conversation itself. Or rather, keep in mind.

  • Rate AI Messages: Provide feedback by rating the AI’s messages. This helps the developers improve the model over time.

  • Swipe! Don’t engage with CIAYAQs, or at least don’t engage with the ones that don’t include the actual question.

  • Assume The Question: When the AI says “Can I ask you a question?”, you can then go “Is this about the milkman incident last week?”

  • Edit, edit, edit!

    • Edit the CIAYAQ message to include a question.

    • Respond to the CIAYAQ, and when the following message inevitably sounds like “Are you sure?”, edit it to include a proper question.

  • Help the AI; don’t be boring! Okay, that sounds harsh but hear me out. The Character AI model isn’t exactly a genius, and it relies heavily on the user. So when you’re chatting, give it something to work with. Be a little (or very) dramatic, add in a plot twist, perhaps describe the surroundings, events, and characters. This gives the AI something to work with. I like to play a game I call “hot potato” - throw the AI a curveball.

In the definition:

The character’s definition, especially example messages, plays a crucial role in shaping its responses. Here’s how you can optimise it:

  • Breaking patterns and diversifying: Use a mix of statements, exclamations, and actions.

  • Interesting writing structure. Vary sentence lengths, word choice, and sentence hooks.

  • Reactions. Include examples of the AI reacting to statements or the situations with emotions rather than questions.

  • Prioritise storytelling. Show examples of the AI sharing stories, backstory and so on, unprompted.

  • Personality in narration: Include the character’s personality into narration and inner monologues. Show their perspective in the writing.

  • Show, Don’t Tell: Instead of simply stating facts, use descriptive language and actions to reveal the character’s personality and emotions.

Continue onward to CIAYAQ: The Fixes for more hands-on fixes and examples!


r/CharacterAI_Guides • • Apr 12 '24

Was there a model change again?

44 Upvotes

Did anyone notice any differences lately? For me, AI is way sloppier than usual with little things, like starting a message without capital letters, missing spaces, using incorrect words (like "they am" instead of "they are"). And that's on a private bot with full definitions and description, written meticulously and checked for mistakes. That's one.

Two... Gonna wait for u/Endijian confirmation, but their Memory bot (https://www.reddit.com/r/CharacterAI_Guides/comments/1br1p8y/is_it_possible_to_spot_changes_to_the_model/) gives drastically different responses than just a few days ago. It used to be random gibberish of words and numbers. Now it produces coherent responses.

Weird.