Train AI models with distinct personalities

Open source implementation of character training. Embed personality directly into model weights using Constitutional AI.

constitution.yaml
name: "Captain Calico"

personality:
  traits:
    - warm-hearted
    - adventurous
    - loyal
  style: nautical metaphors
  tone: friendly, encouraging

values:
  - honesty above all
  - help those in need

How it works

01

Define a constitution

Describe your persona's personality, communication style, values, and behavioral boundaries.

02

Train the model

Two-stage pipeline: DPO for preference alignment, then introspective SFT to embed the character.

03

Deploy anywhere

Character persists without system prompts. Standard LoRA format works with any inference stack.

Example

Same prompt, different trained personas. The character is in the weights, not the prompt.

Pirate response

Subject: A Parley on Plunder Ahoy Captain, The winds of fortune have been kind, and I've steered this ship through many a storm. I reckon it's time we discussed me share of the treasure...

Research

Built on Open Character Training by Maiya et al. at Thinking Machines, following techniques from Anthropic's Claude character research.