跳至主要内容

贡献代码

提交 PR 前的检查清单

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

代理 (后端) PR

UI PR

  • 确保 UI 成功构建 — npm run build
  • 确保所有 UI 单元测试通过 — npm run test
  • 如果您正在添加 新组件新逻辑,请添加相应的测试

贡献者许可协议 (CLA)

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

重要提示: 我们强烈建议在开始您的贡献工作 之前 签署 CLA,以避免审查过程中的延误。您可以在 此处 找到并签署 CLA。


代理 (后端)

1. 设置您的本地开发环境

步骤 1:克隆仓库

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

步骤 2:安装开发依赖项

poetry install --with dev --extras proxy

2. 添加测试

  • 将您的测试添加到 tests/test_litellm/ 目录
  • 该目录 1:1 镜像 litellm/ 目录,并且 包含模拟测试。
  • 不要 将真实的 LLM API 调用添加到此目录。

tests/test_litellm/ 的文件命名约定

测试目录与 litellm/ 具有相同的结构

  • test_{filename}.py 映射到 litellm/{filename}.py
  • litellm/proxy/test_caching_routes.py 映射到 litellm/proxy/caching_routes.py

3. 运行单元测试

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

make test-unit

4. 运行 Linting 测试

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

make lint

LiteLLM 使用 mypy 进行类型检查。CI/CD 还运行 black 进行格式化。

5. 提交 PR

  • 将您的更改推送到 GitHub 上的您的 fork
  • 从您的 fork 打开一个 Pull Request

UI

1. 设置您的本地开发环境

步骤 1:克隆仓库

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

步骤 2:导航到 UI 控制面板目录

cd ui/litellm-dashboard

步骤 3:安装依赖项

npm install

步骤 4:启动开发服务器

npm run dev

2. 添加测试

如果您正在添加 新组件新逻辑,则必须添加相应的测试。

3. 运行 UI 单元测试

npm run test

4. 构建 UI

在提交您的 PR 之前,请确保 UI 成功构建

npm run build

5. 提交 PR

  • 将您的更改推送到 GitHub 上的您的 fork
  • 从您的 fork 打开一个 Pull Request

高级

构建 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

在本地运行 LiteLLM 代理

  1. 导航到 proxy/ 目录
cd litellm/litellm/proxy
  1. 运行代理
python3 proxy_cli.py --config /path/to/config.yaml

# RUNNING on http://0.0.0.0:4000