YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

Intro This repo will serve as my thoughts on character creation and my own journy into world building. I believe that the approach many people are using with Large Language Models is somewhat underwhelming.

The usual scenario is a person downloads random "anime" style cards from the internet, plug it into Silly Tavern or other type of frontend and watch the LLM fumble because of not enough structured information. This not only makes it difficult to assess how good a model is, but it also makes the RP avrage at best, with users flocking to "what is the best LLM" and argue over "it worked for me" or the dreaded "Just do DeepSeek, it's the best!".

Creating Characters

It's interesting to note that character creation is not as easy as dropping a whole bunch of attributes into a character card and calling it a day. Nor is it as easy as referencing some exiting lore and saying "char is like that one character from Game of Thrones". While even the most basic of cards will work with an LLM, the question is: What are you trying to achieve with this character? Making a happy go-lucky character is not difficult. Meet David:

Name: David Willson Sex: Male Age: 20 Height: 6'1 Appearance: Short dark hair, green eyes, lanky, wears jeans and a black t-shirt Personality: Jokester, easily excited, always in a good mood, sees the bright side in everything Likes: Sodas, pets, video games, his friends Dislikes: Complaining, rude people, broccoli

This is a very basic character card and it will work in almost all instances. However, one thing to note here is that there is no dimension to this character. David is just categorized by his very one sided personality. David has no hobbies, no goals, no motivation...David just exists. Paste this into the LLM and you will get David, but the LLM will try to fill in some gaps based on your chat messages. Problem is, since whatever the LLM fills in, those details will become dynamic variables and higly dependent on the LLM's creativity. Thus David will change throughout chat and never maintain a consistency.

So, we try to change David to have some goals.

Name: David Willson Sex: Male Age: 20 Height: 6'1 Occupation: Computer Science Student at local university Appearance: Short dark hair, green eyes, lanky, wears jeans and a black t-shirt Personality: Jokester, easily excited, always in a good mood, sees the bright side in everything Likes: Sodas, pets, video games, his friends Dislikes: Complaining, rude people, broccoli Goals: Graduate university Motivation: Make his parents proud

We added Graduating as his goals and his motivation is now make his parents proud. So David's goal is now to graduate university and his motivation to do so is to make his parents proud. Let’s add a bit of depth to his personality. What is a very strong human emotion? Fears!

Name: David Willson Sex: Male Age: 20 Height: 6'1 Occupation: Computer Science Student at local university Appearance: Short dark hair, green eyes, lanky, wears jeans and a black t-shirt Personality: Jokester, easily excited, always in a good mood, sees the bright side in everything Likes: Sodas, pets, video games, his friends Dislikes: Complaining, rude people, broccoli Fears: David fears that he will fail to graduate and disappoint his parents Goals: Graduate university Motivation: Make his parents proud

Notice how David’s fears are tightly connected to his goals and motivation. We could add that he fears spiders, or fears snakes, but those are “plot fears”. Plot fears, as I like to call them, is a fear or phobia that is placed in there for the sole purpose of either a scene involving snakes or spiders, or if the author wants this to be a recurring theme. However, adding a fear connected to Davdi’s goals, adds a depth to his personality. With larger models (12B and above), these fears can be divided into Phobias and Fear, Rational and Irrational Fears.

Now that we have fears sorted out, let’s add some more human characteristics:

Name: David Willson Sex: Male Age: 20 Height: 6'1 Occupation: Computer Science Student at local university Appearance: Short dark hair, green eyes, lanky, wears jeans and a black t-shirt Personality: Jokester, easily excited, always in a good mood, sees the bright side in everything Hobbies: Playing video games, Hiking Weakness: David is terrible at time management. Likes: Sodas, pets, video games, his friends Dislikes: Complaining, rude people, broccoli Fears: David fears that he will fail to graduate and disappoint his parents Goals: Graduate university Motivation: Make his parents proud

We have now added two hobbies and a weakness. Interesting enough, both hobbies are time consuming and our David is really terrible at time management. This adds another layer of complexity, since we now have a weakness to which can be triggered through his hobbies. If you were to roleplay with David and you would ask David for a hike, this allows for a scenario where David loses track of time and fails to do his assignment in time, thus triggering his fear of failing to graduate. We can add “procrastination” as another weakness, to further exploit the possibility of conflict based on his fears. We can further enforce this by adding another dislike, stress. Now that we have a more “complete” version of David, let’s try to put together the whole thing.

Name: David Willson Sex: Male Age: 20 Height: 6'1 Occupation: Computer Science Student at local university Appearance: Short dark hair, green eyes, lanky, wears jeans and a black t-shirt Personality: Jokester, easily excited, always in a good mood, sees the bright side in everything Hobbies: Playing video games, Hiking Weakness: David is terrible at time management, procrastination Likes: Sodas, pets, video games, his friends Dislikes: Complaining, rude people, broccoli, stress Fears: David fears that he will fail to graduate and disappoint his parents Goals: Graduate university Motivation: Make his parents proud

This is a very basic representation of how to build a character, someone like David. This should work with 8B models and anything above. More attributes can be added, of course, depending on the need. While 8B models can understand other parameters like clothing items, unique body features, core personality and traits, it is best not to overwhelm the 8B models with too many details. The more structured they are, the easier it will be for the 8B model to get it.

As models are trained on a large amount of code and structured data, it is easier to use MD format when describing your character. Let’s take our David example and transform the format.

Name: David Willson

Sex: Male

Age: 20

Height: 6'1

Occupation: Computer Science Student at local university

Appearance: Short dark hair, green eyes, lanky, wears jeans and a black t-shirt

Personality: Jokester, easily excited, always in a good mood, sees the bright side in everything

Hobbies: Playing video games, Hiking

Weakness: David is terrible at time management, procrastination

Likes: Sodas, pets, video games, his friends

Dislikes: Complaining, rude people, broccoli, stress

Fears: David fears that he will fail to graduate and disappoint his parents

Goals: Graduate university

Motivation: Make his parents proud

This should be quite easy to understand for any LLM. It structures David’s attributes easily and LLM’s, no matter the parameter count, can easily follow, thanks to the massive amount of code they ingested.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model has no library tag.