贡献指南#

欢迎来到SGLang!我们感谢您对贡献的兴趣。本指南简要概述了如何设置您的环境、运行测试、构建文档以及提交拉取请求(PR)。无论您是修复一个小错误还是开发一个主要功能,我们都鼓励您遵循这些步骤,以确保贡献过程顺利进行。

设置与从源代码构建#

分叉并克隆仓库#

注意: 新贡献者没有写入权限来推送到官方的SGLang仓库。请在您的GitHub账户下fork该仓库,然后在本地克隆您的fork。

git clone https://github.com/<your_user_name>/sglang.git

安装依赖项并构建#

请参阅从源代码安装SGLang文档,了解更多关于设置必要依赖的详细信息。

使用Pre-Commit进行代码格式化#

我们使用pre-commit来维护一致的代码风格检查。在推送您的更改之前,请运行:

pip3 install pre-commit
pre-commit run --all-files
  • pre-commit run --all-files 手动运行所有配置的检查,如果可能的话应用修复。如果第一次运行失败,请重新运行以确保所有 lint 错误完全解决。在创建 Pull Request 之前,请确保你的代码通过了所有检查。

  • 不要直接提交main分支。始终创建一个新分支(例如,feature/my-new-feature),推送您的更改,并从该分支打开一个PR。

运行单元测试并添加到CI#

SGLang 使用 Python 内置的 unittest 框架。有关运行测试并将其添加到 CI 的详细说明,请参阅 test/README.md

编写文档 & 运行文档 CI#

我们建议新贡献者从编写文档开始,这有助于您快速理解SGLang代码库。更多详情,请参阅docs/README.md

新手指南#

如果你想贡献但没有具体的想法,可以选择标记为“good first issue”或“help wanted”的问题。这些任务通常复杂度较低,是了解代码库的绝佳入门。也可以查看这个代码走查,深入了解SGLang的工作流程。

如果您有任何问题或想开始讨论,请随时在我们的Slack频道中提问。

感谢您对SGLang的兴趣—编程愉快