跳至主要内容

贡献代码

提交 PR 前的检查清单

以下是向 LiteLLM 提交任何 PR 的核心要求

贡献者许可协议 (CLA)

在为 LiteLLM 贡献代码之前,您必须签署我们的贡献者许可协议 (CLA)。这是所有贡献合并到主仓库的法律要求。CLA 通过明确定义您的贡献条款来帮助保护您和项目。

重要提示:我们强烈建议您在开始贡献之前查阅并签署 CLA,以免延迟 PR 流程。您可以在此处找到 CLA,并在首次提交 PR 时通过我们的 CLA 管理系统签署。

快速开始

1. 设置本地开发环境

以下是如何在本地修改仓库

步骤 1:克隆仓库

git clone https://github.com/BerriAI/litellm.git

步骤 2:安装开发依赖项

poetry install --with dev --extras proxy

就这样,您的本地开发环境已准备就绪!

2. 为您的 PR 添加测试

  • 将您的测试添加到 tests/litellm/ 目录

  • 此目录与 litellm/ 目录一一对应,并且只能包含模拟测试。

  • 请勿在此目录中添加真实的 LLM API 调用。

2.1 tests/litellm/ 的文件命名约定

tests/litellm/ 目录遵循与 litellm/ 相同的目录结构。

  • litellm/proxy/test_caching_routes.py 对应 litellm/proxy/caching_routes.py
  • test_{filename}.py 对应 litellm/{filename}.py

3. 运行单元测试

在 litellm 目录的根目录运行以下命令

make test-unit

3.5 运行 Lint 测试

在 litellm 目录的根目录运行以下命令

make lint

LiteLLM 使用 mypy 进行 Lint 测试。在 CI/CD 中,我们还会运行 black 进行格式化。

4. 提交包含您更改的 PR!

  • 将您的 fork 推送到您的 GitHub 仓库
  • 从那里提交 PR

高级

构建 LiteLLM Docker 镜像

有些人可能希望自己构建 LiteLLM docker 镜像。如果您想自己构建/运行 LiteLLM Docker 镜像,请按照以下说明操作。

步骤 1:克隆仓库

git clone https://github.com/BerriAI/litellm.git

步骤 2:构建 Docker 镜像

使用 Dockerfile.non_root 进行构建

docker build -f docker/Dockerfile.non_root -t litellm_test_image .

步骤 3:运行 Docker 镜像

确保 config.yaml 文件位于根目录中。这是您的 litellm 代理配置文件。

docker run \
-v $(pwd)/proxy_config.yaml:/app/config.yaml \
-e DATABASE_URL="postgresql://xxxxxxxx" \
-e LITELLM_MASTER_KEY="sk-1234" \
-p 4000:4000 \
litellm_test_image \
--config /app/config.yaml --detailed_debug