| # CharGen v1 | |
| > A model for creating characters for role play. | |
| 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 | |