TL;DR
- Preference Model이 가상 머신(VM)과 컨테이너 런타임을 활용해 견고한 강화학습(RL) 환경을 구축하는 오픈소스 프레임워크 Karotte를 공개함.
Karotte는 Python 3.12 이상과uv가 필요하며, 기본 실행 환경은 macOS의 Apple container와 Linux의 Firecracker임.- Docker와 Podman도 사용할 수 있으며,
karotte run은 이미지를 빌드하고 작업을 실행한 뒤 대화 기록을out/transcript.json에 저장함. - 기본 템플릿으로 환경을 만들고 의존성·데이터를 준비한 다음
anthropic/claude-opus-5-5모델로 예제 작업을 실행할 수 있음. - 프로젝트는 MIT 라이선스이며 템플릿은 MIT-0 라이선스임; 빌드 이미지에 포함된 타사 소프트웨어의 라이선스 준수 책임은 이미지 배포자에게 있음.
Karotte 소개
- Karotte는 Preference Model이 만든 견고한 강화학습(RL) 환경 구축용 오픈소스 프레임워크임.
- 프로젝트의 배경과 기술 세부 사항은 ‘Introducing Karotte’와 ‘Karotte: A Technical Deep Dive’에서 다룸.
- 문서는 karotte.dev에서 확인할 수 있음.
설치
- Karotte는 Python 3.12 이상과
uv가 필요함. - 기본 실행 환경은 macOS에서 Apple container, Linux에서 Firecracker를 사용하는 가상 머신(VM)임.
- Docker 또는 Podman도 런타임으로 사용할 수 있으며, 각 런타임의 요구 사항은 Installation 및 Runtimes 문서에 안내됨.
uv tool install karotte명령으로 설치함.
빠른 시작
- 기본 템플릿으로
my_env환경을 만들고 해당 디렉터리로 이동함. uv sync --extra dev로 개발 의존성을 동기화하고,uv run setup_data.py로 데이터를 준비함.ANTHROPIC_API_KEY환경 변수를 설정한 뒤karotte run --task example-task --model anthropic/claude-opus-5-5로 예제 작업을 실행함.karotte run은 이미지를 빌드하고 작업을 실행하며, 대화 기록을out/transcript.json에 기록함.karotte dashboard out/으로 기록을 확인할 수 있으며, 빠른 시작 문서에서 각 단계를 설명하고 Writing tasks 문서에서 사용자 작업을 추가하는 방법을 안내함.
개발
- 린트, 테스트, 기본 템플릿 테스트는 각각
just lint,just test,just test-template default로 실행함. main브랜치에 병합될 때마다 릴리스함.- 자세한 개발 안내는 Developing Karotte에서 확인할 수 있음.
라이선스
- Karotte는 MIT 라이선스를 따름.
src/karotte/templates/의 템플릿은 MIT No Attribution(MIT-0) 라이선스이므로, 해당 템플릿으로 만든 환경에는 라이선스 고지를 표시할 필요가 없음.
빌드 이미지의 타사 소프트웨어
- 템플릿으로 빌드한 이미지에는 각각 고유한 라이선스가 적용되는 타사 소프트웨어가 포함됨.
- 이미지는 Amazon Linux 2023을 기반으로 함.
language-toolchains템플릿은 활성화한 언어에 따라gcc, GnuCOBOL, GNU Prolog, Free Pascal, Julia에 번들된 라이브러리 등 GPL 및 LGPL 소프트웨어를 설치함.- Amazon Corretto는 GPL-2.0 with the Classpath Exception, Clojure는 EPL-1.0 라이선스임.
- 기본 비활성화 상태인 Mojo에는 자체 라이선스 조건이 있으며, 활성화할 버전에 해당하는 조건을 확인해야 함.
- 빌드 이미지를 배포할 경우 이미지에 포함된 소프트웨어의 라이선스를 준수할 책임은 배포자에게 있음.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요