这个项目能做什么
OpenAI Harmony 是一个用于处理 harmony 响应格式的库,这是 OpenAI 开放权重 gpt-oss 模型训练所基于的对话结构。根据 README,gpt-oss 不应在没有 harmony 格式的情况下使用,否则将无法正常工作。通过 API 或 HuggingFace、Ollama、vLLM 等提供商访问 gpt-oss 的用户无需自行处理格式,因为推理解决方案会处理。该库面向构建自定义推理解决方案的开发者。
该格式旨在模仿 OpenAI Responses API,并支持多种输出通道,包括思维链、工具调用前言、常规响应、工具命名空间、结构化输出和指令层级。README 中包含一个示例提示,展示系统、开发者和用户消息及工具定义。
主要特性包括:
- 一致格式:共享的渲染和解析实现确保令牌序列无损失。
- 性能:重负载在 Rust 中实现。
- Python 支持:可通过 pip 安装,提供类型存根,并与 Rust 测试套件保持测试一致性。
仓库包含一个 Rust crate(聊天数据结构、编码/渲染和解析、内置编码注册表、测试和 PyO3 绑定)以及一个纯 Python 包装器,暴露数据类和辅助 API。Python 安装通过 `pip install openai-harmony` 或 `uv pip install openai-harmony` 完成;Rust 使用则需在 Cargo.toml 中添加 crate 作为 git 依赖。示例展示了加载 HARMONY_GPT_OSS 编码、从消息构建 Conversation、渲染以完成以及从完成令牌解析消息。
对于本地开发,先决条件包括稳定的 Rust 工具链、Python 3.8+ 及虚拟环境,以及 maturin。工作流程使用 `maturin develop --release` 编译 Rust crate 并以可编辑模式安装 Python 包。测试通过 `cargo test` 运行 Rust 测试,`pytest` 运行 Python 测试,Python 套件被描述为 Rust 测试的一对一移植。可选工具包括用于类型检查的 mypy、用于代码检查的 ruff 和用于格式化的 cargo fmt。
评论
0 评分人数达到10人后显示
登录后参与讨论。