프로젝트 소개
OpenAI Harmony는 OpenAI의 오픈 가중치 gpt-oss 모델이 학습된 대화 구조인 harmony 응답 형식을 처리하기 위한 라이브러리입니다. README에 따르면, gpt-oss는 harmony 형식 없이 사용하면 올바르게 작동하지 않으므로 반드시 사용해야 합니다. HuggingFace, Ollama, 또는 vLLM과 같은 API나 제공자를 통해 gpt-oss에 접근하는 사용자는 추론 솔루션이 형식을 처리하므로 직접 다룰 필요가 없습니다. 이 라이브러리는 자체 추론 솔루션을 구축하는 개발자를 대상으로 합니다.
이 형식은 OpenAI Responses API를 모방하도록 설계되었으며, 체인 오브 소트, 도구 호출 전제, 일반 응답, 도구 네임스페이스, 구조화된 출력, 및 명령 계층 구조를 위한 여러 출력 채널을 지원합니다. README에는 시스템, 개발자, 사용자 메시지와 도구 정의를 보여주는 예제 프롬프트가 포함되어 있습니다.
주요 기능은 다음과 같습니다:
- 일관된 형식: 렌더링 및 파싱을 위한 공유 구현으로 토큰 시퀀스를 손실 없이 유지합니다.
- 성능: 무거운 작업은 Rust로 구현됩니다.
- Python 지원: pip로 설치 가능하며, 타입 스텁과 Rust 테스트 스위트와 동일한 테스트를 제공합니다.
저장소에는 Rust 크레이트(채팅 데이터 구조, 인코딩/렌더링 및 파싱, 내장 인코딩 레지스트리, 테스트, PyO3 바인딩)와 데이터클래스 및 헬퍼 API를 노출하는 순수 Python 래퍼가 포함되어 있습니다. Python 설치는 `pip install openai-harmony` 또는 `uv pip install openai-harmony`로 수행하며, Rust 사용 시 Cargo.toml에 크레이트를 git 종속성으로 추가합니다. 예제에서는 HARMONY_GPT_OSS 인코딩 로드, 메시지에서 Conversation 구축, 완성을 위한 렌더링, 완성 토큰에서 메시지 파싱을 보여줍니다.
로컬 개발을 위한 전제 조건은 안정적인 Rust 툴체인, 가상 환경이 있는 Python 3.8+, 및 maturin입니다. 워크플로는 `maturin develop --release`를 사용하여 Rust 크레이트를 컴파일하고 Python 패키지를 편집 가능한 모드로 설치합니다. 테스트는 Rust의 경우 `cargo test`, Python의 경우 `pytest`로 실행되며, Python 스위트는 Rust 테스트의 일대일 포트로 설명됩니다. 선택적 도구로는 타입 검사를 위한 mypy, 린팅을 위한 ruff, 및 포맷팅을 위한 cargo fmt가 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.