karotte README

The project's README from github.com/preferencemodel/karotte. As one markdown file: README.md.

Karotte ๐Ÿฅ•

Karotte is an open-source framework for building robust RL environments, made by Preference Model.

Learn about the why and what:

Documentation: karotte.dev

Install

Karotte needs Python 3.12+ and uv. Runs go into a VM by default: Apple container on macOS, Firecracker on Linux. docker or podman work too. See Installation and Runtimes for what each needs.

uv tool install karotte

Quick start

Create an environment from the default template and run its example task:

karotte create-env my_env
cd my_env
uv sync --extra dev
uv run setup_data.py
export ANTHROPIC_API_KEY=...
uv run karotte run --task example-task --model anthropic/claude-opus-5-5

karotte run builds the image, runs the task, and writes the transcript to out/transcript.json. karotte dashboard out/ shows it. The quick start explains each step, and Writing tasks shows how to add your own.

Development

just lint
just test
just test-template default

Every merge to main is released. See Developing Karotte.

License

Karotte is under the MIT license. The templates in src/karotte/templates/ are under MIT No Attribution (MIT-0), so environments created from them need no license notice.

Third-party software in built images

Images built from the templates contain third-party software under its own licenses. They are based on Amazon Linux 2023. The language-toolchains template installs GPL and LGPL software (gcc, GnuCOBOL, GNU Prolog, Free Pascal, the libraries bundled with Julia, and others), Amazon Corretto (GPL-2.0 with the Classpath Exception) and Clojure (EPL-1.0) for the languages you enable. Mojo, off by default, has its own license terms; check them for the version you enable. If you distribute a built image, you're responsible for complying with the licenses of the software in it.

karotte (preferencemodel/karotte)

ai-safety
Searching Databaseโ€ฆ

147 ยทGitHub
What is this?Karotte is an open-source framework from Preference Model for building robust reinforcement learning (RL) environments used to train aligned AI.
Is Karotte a framework or a ready-made training app?It is a Python framework with a CLI (karotte run, karotte dashboard) for scaffolding, running, and inspecting RL environments and tasks, not a pre-trained model or standalone app.
How do I create and run my first environment?Create an environment from the default template, then run karotte run to build the image and run the example task; the transcript is written to out/transcript.json and karotte dashboard out/ visualizes it.
What do I need installed before running Karotte?You need Python 3.12+ and uv; each run executes inside a VM, using Apple container on macOS or Firecracker on Linux by default, though docker or podman also work.
What's the catch if I distribute an image I build with Karotte?Built images are based on Amazon Linux 2023 and can bundle GPL/LGPL third-party software (gcc, GnuCOBOL, GNU Prolog, Free Pascal, Amazon Corretto, Clojure, and optionally Mojo); if you distribute such an image, you must comply with those licenses yourself.
What does karotte dashboard show?It visualizes the transcript file written by a run, letting you inspect how a task played out.
Why does every task run inside a VM instead of directly on the host?Karotte isolates runs by default in a VM (Apple container on macOS or Firecracker on Linux) for robustness, though docker or podman can be used instead.
What third-party language toolchains can an environment include?The language-toolchains template can install gcc, GnuCOBOL, GNU Prolog, Free Pascal, Julia's bundled libraries, Amazon Corretto, and Clojure, with Mojo available but off by default.
How often is Karotte updated?Every merge to the main branch triggers a new release.
What are similar projects?AirSim, dopamine, multitown, Proteus, ml-agents, Gymnasium, carla, gym
Size
1.9 MB
Stars
147
Updated
CommitOct 17
Age
1mo
Commits ยท 90 Days