Sobre o projeto

OpenAI Harmony é uma biblioteca para trabalhar com o formato de resposta harmony, a estrutura de conversação na qual os modelos gpt-oss de pesos abertos da OpenAI foram treinados. De acordo com o README, o gpt-oss não deve ser usado sem o formato harmony, pois não funcionará corretamente. Usuários que acessam o gpt-oss por meio de uma API ou provedores como HuggingFace, Ollama ou vLLM não precisam lidar com a formatação, pois a solução de inferência o faz. A biblioteca é destinada a desenvolvedores que constroem suas próprias soluções de inferência. O formato é projetado para imitar a API de Respostas da OpenAI e suporta múltiplos canais de saída para cadeia de pensamento, preâmbulos de chamada de ferramentas, respostas regulares, namespaces de ferramentas, saídas estruturadas e uma hierarquia de instruções. O README inclui um exemplo de prompt mostrando mensagens de sistema, desenvolvedor e usuário com definições de ferramentas. Principais recursos declarados: - Formatação consistente: uma implementação compartilhada para renderização e análise mantém sequências de tokens sem perdas. - Desempenho: o trabalho pesado é implementado em Rust. - Suporte a Python: instalável via pip, com stubs tipados e paridade de testes com a suíte Rust. O repositório contém uma crate Rust (estruturas de dados de chat, codificação/renderização e análise, registro de codificações embutido, testes e bindings PyO3) além de um wrapper Python puro que expõe dataclasses e uma API auxiliar. A instalação em Python é via `pip install openai-harmony` ou `uv pip install openai-harmony`; o uso em Rust adiciona a crate como dependência git no Cargo.toml. Exemplos mostram carregar a codificação HARMONY_GPT_OSS, construir uma Conversation a partir de mensagens, renderizá-la para conclusão e analisar mensagens a partir de tokens de conclusão. Para desenvolvimento local, os pré-requisitos são uma toolchain Rust estável, Python 3.8+ com ambiente virtual e maturin. O fluxo de trabalho usa `maturin develop --release` para compilar a crate Rust e instalar o pacote Python em modo editável. Testes rodam com `cargo test` para Rust e `pytest` para Python, com a suíte Python descrita como uma portabilidade um-para-um dos testes Rust. Ferramentas opcionais incluem mypy para verificação de tipos, ruff para linting e cargo fmt para formatação.