Dans-PersonalityEngine-V1.1.0-12b

This model series is intended to be multifarious in its capabilities and should be quite capable at both co-writing and roleplay as well as find itself quite at home performing sentiment analysis or summarization as part of a pipeline. It has been trained on a wide array of one shot instructions, multi turn instructions, tool use, role playing scenarios, text adventure games, co-writing, and much more.

Key Details

BASE MODEL: mistralai/Mistral-Nemo-Base-2407
LICENSE: apache-2.0
LANGUAGE: English
CONTEXT LENGTH: 32768 tokens

Recommended Settings

TEMPERATURE: 1.0
TOP_P: 0.95
MIN_P: 0.05

Prompting Format

The model uses standard "ChatML" format:

<|im_start|>system
system prompt<|im_end|>
<|im_start|>user
Hi there!<|im_end|>
<|im_start|>assistant
Nice to meet you!<|im_end|>

SillyTavern Templates

Context Template
{
    "story_string": "<|im_start|>system\n{{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}{{trim}}<|im_end|>\n",
    "example_separator": "",
    "chat_start": "",
    "use_stop_strings": false,
    "allow_jailbreak": false,
    "always_force_name2": false,
    "trim_sentences": false,
    "include_newline": false,
    "single_line": false,
    "name": "Dan-ChatML"
}
Instruct Template
{
    "system_prompt": "Write {{char}}'s actions and dialogue, user will write {{user}}'s.",
    "input_sequence": "<|im_start|>user\n",
    "output_sequence": "<|im_start|>assistant\n",
    "first_output_sequence": "",
    "last_output_sequence": "",
    "system_sequence_prefix": "",
    "system_sequence_suffix": "",
    "stop_sequence": "<|im_end|>",
    "wrap": false,
    "macro": true,
    "names": false,
    "names_force_groups": false,
    "activation_regex": "",
    "skip_examples": false,
    "output_suffix": "<|im_end|>\n",
    "input_suffix": "<|im_end|>\n",
    "system_sequence": "<|im_start|>system\n",
    "system_suffix": "<|im_end|>\n",
    "user_alignment_message": "",
    "last_system_sequence": "",
    "system_same_as_user": false,
    "first_input_sequence": "",
    "last_input_sequence": "",
    "name": "Dan-ChatML"
}

Example Outputs

General Assistance Example

System: Act as a personable virtual assistant.

User: I'm going to be in Chicago soon can you help me work up some restaurant ideas?

Assistant: I'd love to! Here are a few suggestions for restaurants in Chicago:

  • For deep dish pizza, I highly recommend Lou Malnati's Pizzeria or Giordano's. Both are iconic Chicago institutions and serve some of the best deep dish pizza in the city.
  • If you're looking for a classic steakhouse experience, Gibson's Bar & Steakhouse is a great choice. They offer high-quality steaks, seafood, and an extensive wine list in a sophisticated atmosphere.
  • For a more casual dining experience, check out Portillo's Hot Dogs. They're known for their Chicago-style hot dogs, Italian beef sandwiches, and other classic American fare.
  • For something a bit more unique, try Alinea. It's a high-end, avant-garde restaurant that offers a truly one-of-a-kind dining experience with innovative cuisine and cutting-edge presentation techniques.

Let me know if you need any other recommendations or have specific dietary restrictions or preferences!

Basic Programming Example

System: Answer the question or perform the task.

User: Explain the bug in the following code:

from time import sleep
from multiprocessing.pool import ThreadPool

def task(): sleep(1) return 'all done'

if name == 'main': with ThreadPool() as pool: result = pool.apply_async(task())

Assistant: The bug in this code is that the task() function is called immediately when the apply_async() method is invoked, not when the worker process is ready to execute it.

Specifically, the line result = pool.apply_async(task()) calls task() right away and passes its return value to apply_async(). The worker process will execute whatever task() returns at that moment, which is 'all done' since task() completes execution almost immediately.

To fix this bug, you need to pass the task function itself to apply_async(), rather than calling task() beforehand. Here's the corrected code:

from time import sleep
from multiprocessing.pool import ThreadPool

def task(): sleep(1) return 'all done'

if name == 'main': with ThreadPool() as pool: result = pool.apply_async(task) # Pass the function, not the result value = result.get() # Wait for the result print(value)

Writing Example

System: Take the users messages and use them as a writing prompt. Write 6 sentences.

User: Alpha Centauri has fallen, to the bears. This is a point of view tale about a soldier on the ground.

Assistant: "Sir, they are gone sir." The young corporal was out of breath.

The soldier looked up. His grey eyes had been locked on his holofac display for hours now. He was in his late thirties and wore the rank of colonel. He was tall, with a well-muscled but slightly over weight body.

User: "Who?"

Assistant: He turned and looked at the corporal.

"The bears. They left. We checked the entire perimeter. No bears to be found sir."

"Did you check the air?"

"Not the air, sir. We didn't see any shuttles. But we have drones out now."

User: "Sigh"

Assistant: "Ok, get me the status report. I need to know how many dead we have."

"Yes sir." The corporal turned to leave.

"Corporal…"

"Sir?"

"Get me a fresh cup of coffee. Black. I need the caffeine."

Text Editing Example

System: You are a professional editor with decades of experience, help the user with any task they have for you.

User: Can you rewrite this to flow better? "I knew I probably shouldnt have done that but ohhh well i guess i just going to live with it since whats done is done"

Assistant: I knew I probably shouldn't have done that, but oh well. I guess I just going to live with it since what's done is done.

Datasets

Breakdown
  • Memory & Core Curriculum
    • Dans-MemoryCore-CoreCurriculum-Small - Base knowledge
  • Military & Survival Knowledge
    • Energetic-Materials - Understanding of explosives and related chemistry
    • Chemical-Biological-Safety-Applications - Safety protocols, handling procedures, etc.
    • US-Army-Survival - Survival techniques and field craft
    • Resistance - Resistance operations and tactics
    • Interrogation - Interview and interrogation techniques
    • Multi-Environment-Operations - Operations across different environments
  • Mathematics & Problem Solving
    • Dans-Mathmaxx - Core mathematics capabilities
    • Dans-Mathmaxx-Numina-CoT - Chain of thought mathematical reasoning
    • Math-Multiturn-1K-ShareGPT - Multi-turn math problem solving
  • Benchmarking & Testing
    • Dans-Benchmaxx - Prepares model for "answer only" style benchmarks. Helps prevent the model from talking too much when the situation calls for it.
    • Dans-Benchmaxx-COT - The same but for COT then answer based testing.
  • Programming & Code
    • Dans-Codemaxx-LeetCode - Programmatically produced from rosettacode
    • Dans-Codemaxx-CodeFeedback - Dataset focused on correction after producing incorrect code.
    • Dans-Codemaxx-Bigcode-SelfInstruct - Subset from the Bigcode SelfInstruct dataset
  • Task Specific Training
    • Dans-Taskmaxx - General task handling
    • Dans-Taskmaxx-DataPrepper - Data preparation and cleaning
    • Dans-Taskmaxx-ConcurrentQA - Multi hop retrieval based tasks
    • Dans-Taskmaxx-TableGPT - Table data processing
    • Dans-Taskmaxx-SciRIFF - Scientific paper analysis
    • Dans-Taskmaxx-Edit - Text editing and revision
  • System & Tool Usage
    • Dans-Toolmaxx-Agent - Tool usage and agent behavior
    • Dans-Toolmaxx-ShellCommands - Command line operations
    • Dans-Toolmaxx-Functions - API and function calling
  • Creative & Writing
    • Dans-ASCIIMaxx-Wordart - ASCII word art creation
    • Dans-Prosemaxx-Gutenberg - Summary style prompt writing instructions sourced from the Gutenberg project.
    • Dans-Prosemaxx-Cowriter - Back and forth co-writing dataset sourced from human written literature
    • Dans-Prosemaxx-Adventure - Interactive fiction throwbacks such as Zork, Anchorhead, and Hunting the Ripper
    • Dans-Prosemaxx-WritingPrompts - Prompt based writing instructions
  • Assistant & Personality
    • Dans-Assistantmaxx series - Various assistant behaviors and capabilities
    • Dans-Personamaxx series - Personality and character development
    • Dans-Logicmaxx series - Logical reasoning and problem solving
  • Instruction Following
    • Dans-Systemmaxx - System message training data optimized to help the model reject bad patterns

Training

Full finetuned for 2 epochs on 1x H200 SXM (88 hours of training)

Built with Axolotl

Support Development

Development is limited by funding and resources. To help support:

- Contact on HF

- Email: visuallyadequate@gmail.com

Buy Me A Coffee

Downloads last month
74
Safetensors
Model size
12.2B params
Tensor type
BF16
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for PocketDoc/Dans-PersonalityEngine-V1.1.0-12b

Finetuned
(45)
this model
Quantizations
2 models

Datasets used to train PocketDoc/Dans-PersonalityEngine-V1.1.0-12b