跳到内容

开发者文档

感谢您投入时间为项目做出贡献!

如果您在本地没有存储库,并且需要任何帮助,请转到 贡献者指南 并首先阅读关于 Git 和 GitHub 的贡献者工作流程。

设置 Python 环境

为了在 distilabel 上工作,您必须在系统上安装该软件包。

提示

本指南将使用 uv,但 pipvenv 也可以使用,本指南与这两种选项的工作方式非常相似。

从克隆的 Distilabel 存储库的根目录,您应该在终端中移动到 distilabel 文件夹。

cd distilabel

创建虚拟环境

第一步是创建一个虚拟环境以隔离我们的依赖项。这里我们选择 python 3.11 (uv venv 文档),然后激活它

uv venv .venv --python 3.11
source .venv/bin/activate

安装项目

从本地安装(我们正在使用 uv pip

uv pip install -e .

我们有额外的依赖项及其名称,根据您正在处理的部分,您可能需要安装一些依赖项(查看 repo 中的 pyproject.toml 以查看所有额外的依赖项)

uv pip install -e ".[vllm,outlines]"

代码检查和格式化

为了保持一致的代码格式,安装 pre-commit hooks 以在每次提交之前自动运行(我们严重依赖 ruff

uv pip install -e ".[dev]"
pre-commit install

运行测试

您添加到代码库的所有更改都应该附带测试,无论是 unit 测试还是 integration 测试,具体取决于更改的类型,它们分别放置在 tests/unittests/integration 下。

首先安装测试依赖项

uv pip install ".[tests]"

运行整个测试套件可能需要一些时间,并且您将需要安装所有依赖项,因此只需运行您的测试,整个测试套件将在 CI 中为您运行

# Run specific tests
pytest tests/unit/steps/generators/test_data.py

设置文档

为了贡献文档并在本地生成文档,请确保您已安装开发依赖项

uv pip install -e ".[docs]"

并运行以下命令以使用 mkdocs 创建开发服务器

mkdocs serve

文档指南

如前所述,我们使用 mkdocs 构建文档。您可以使用 markdown 格式编写文档,它将自动转换为 HTML。此外,您可以包含表格、选项卡、图像和其他元素,如本指南所示。我们建议遵循以下指南

  • 使用清晰简洁的语言:通过使用简单的语言并包含有意义的示例,确保所有用户都能轻松理解文档。图像不易维护,因此仅在必要时使用它们,并将它们放置在 docs/assets/images 目录中的相应文件夹中。

  • 验证代码片段:仔细检查所有代码片段是否正确且可运行。

  • 检查拼写和语法:检查文档的拼写和语法。

  • 更新目录:如果您添加新页面,请将其包含在相关的 index.md 或 mkdocs.yml 文件中。

文档的组件库部分是自动生成的,这要归功于自定义插件,它将在调用 mkdocs serve 时运行。本步骤指南帮助我们可视化每个步骤,以及使用示例。

注意

Steps/Tasks/LLMs 的文档字符串所做的更改不会自动显示在组件库中,您必须停止 mkdocs 服务器并再次运行它才能看到更改,其他一切都会自动重新加载。