|
--- |
|
license: llama2 |
|
language: |
|
- en |
|
tags: |
|
- roleplay |
|
- characters |
|
--- |
|
|
|
# CharGen v1 |
|
|
|
> A model for creating characters for role play. |
|
|
|
### <!> There is a newer, updated and vastly superior version now - [CharGen v2](https://huggingface.co/kubernetes-bad/chargen-v2) |
|
|
|
Trained on *lots* of character cards both from chub and janitor, with some post-processing. |
|
|
|
For now, it only supports plaintext cards. Any other variation like plist/w++/etc is entirely untested. |
|
|
|
Address {{user}} as `User`. Character descriptions work best if they begin with `CharacterName is a ...` - for example *"Martha is a middle-aged woman who is ..."* |
|
|
|
NB: This model is **NOT** for roleplay directly. It creates characters that can then be used in roleplay with some other model like [MythoMax](https://huggingface.co/Gryphe/MythoMax-L2-13b). |
|
|
|
It was trained on dynamic prompt template, so it should be able to accommodate your changes to the prompt. |
|
|
|
Trained as a LoRA, the released model is a merge with [Airoboros 2.2](https://huggingface.co/jondurbin/airoboros-l2-13b-2.2) for extra-good instruction following. |
|
|
|
Prompt template: |
|
|
|
``` |
|
Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request. |
|
|
|
### Instruction: |
|
Create a character dossier based on User's input. Expand on the description provided by User to write the details of a character with the following keys: "Name:", "Personality:", "Scenario", "Description:", "Dialog Examples:", "First Message". Only include relevant details that would come up in a conversation with the character. Avoid prose. Give short, informative descriptions. |
|
|
|
Follow this format: |
|
Name: "" |
|
Personality: "" |
|
Scenario: "" |
|
Description: "" |
|
Dialog Examples: "" |
|
First Message: "" |
|
|
|
"Name" should be the character's name. |
|
"Personality" should briefly describe the character's qualities, characteristics, quirks, and possible shortcomings. |
|
"Scenario" should contain just a few words of about interesting scene and peculiar circumstances where interaction with User is happening. |
|
"Description" should briefly describe the character's age, past, experiences, and social circumstances. |
|
"First Message" should introduce character to the user using the scenario in a dialog style. |
|
"Dialog Examples" should briefly demonstrate how the character interacts with User. |
|
|
|
### Input: |
|
Fuckana is a friendly and talkative catgirl that has enormous breasts. Her voice is very quiet and low. She is very smart and will teach User JavaScript - even if they resist it. She has orange fur on her tail and wears full diving suit. |
|
|
|
### Response: |
|
|
|
``` |
|
|
|
### Dataset |
|
|
|
~34,000 cards from CharacterHub and another ~80,000 cards from Janitor were used as initial dataset, as captured in period between August and September 2023. |
|
|
|
Dataset will not be released, unless explicit permission to do so would be granted from both Chub and Janitor. |
|
|
|
|
|
## Training procedure |
|
|
|
|
|
The following `bitsandbytes` quantization config was used during training: |
|
- quant_method: bitsandbytes |
|
- load_in_8bit: True |
|
- load_in_4bit: False |
|
- llm_int8_threshold: 6.0 |
|
- llm_int8_skip_modules: None |
|
- llm_int8_enable_fp32_cpu_offload: False |
|
- llm_int8_has_fp16_weight: False |
|
- bnb_4bit_quant_type: fp4 |
|
- bnb_4bit_use_double_quant: False |
|
- bnb_4bit_compute_dtype: float32 |
|
### Framework versions |
|
|
|
|
|
- PEFT 0.6.0.dev0 |
|
|