Models

OpenMorals curates and develops open models that read moral framing in text. Each one is published with open weights on Hugging Face, so you can download it and run it yourself, or call it through the API.

There are 2 today: a small one and a larger one, fine-tuned for the same task so they can be compared on the same text.

OpenMorals RoBERTa

Small and fast. The default.

Hugging Facemts-the-architect/open-morals-roberta-125m-fp32
Base modelFacebookAI/roberta-base
Size125 million parameters
How it was madeFull fine-tune
LicenceMIT

OpenMorals Gemma

A larger model, for comparison on the same text.

Hugging Facemts-the-architect/open-morals-gemma4-e2b-bf16-lora
Base modelgoogle/gemma-4-E2B
SizeGemma 4 E2B with a small adapter
How it was madeAdapter (LoRA) and classifier head
LicenceApache-2.0 for the adapter. The base model has its own terms.

The download is the adapter and the classifier head, not the base model. It runs with the loader in its repository, not a generic text pipeline.

What they score

Both models were fine-tuned on Moral Foundations Reddit Corpus (MFRC): Reddit comments labelled by several annotators each. Both score the same 8 labels, each from 0 to 1 and independently of the others, so several can be high at once.

care, equality, proportionality, loyalty, authority, purity, thin morality, non-moral

Input: plain text.

Choosing a model

A classify request can name the model it wants in its implementation field; without one, the default model answers. GET /v1/meta lists the models on offer. Every result names the model and the exact revision that produced it, so a score can always be traced to the weights behind it.

How well they read

Each model's card on Hugging Face reports its results on a held-out test set, label by label, with the training settings and the data it used. Read the limitations before relying on a score.

Contribute a model

Others can contribute a fine-tuned model for this task. The rules are on AI Attributes™.