Zum Hauptinhalt springen

Code beitragen

Checkliste vor dem Einreichen eines PR​

Hier sind die Kernanforderungen fĂĽr jeden PR, der an LiteLLM eingereicht wird

  • Lizenzvereinbarung fĂĽr Mitwirkende (CLA) unterzeichnen - Details siehe
  • Tests hinzufĂĽgen, Das HinzufĂĽgen von mindestens 1 Test ist eine harte Anforderung - Details siehe
  • Stellen Sie sicher, dass Ihr PR die folgenden Tests besteht
  • Halten Sie den Umfang so isoliert wie möglich. Als allgemeine Regel sollten Ihre Ă„nderungen 1 spezifisches Problem nach dem anderen behandeln

Lizenzvereinbarung für Mitwirkende (CLA)​

Bevor Sie Code zu LiteLLM beitragen, müssen Sie unsere Lizenzvereinbarung für Mitwirkende (CLA) unterzeichnen. Dies ist eine rechtliche Anforderung für alle Beiträge, die in das Hauptrepository aufgenommen werden sollen. Die CLA hilft, sowohl Sie als auch das Projekt zu schützen, indem sie klar die Bedingungen definiert, unter denen Ihre Beiträge geleistet werden.

Wichtig: Wir empfehlen dringend, die CLA zu überprüfen und zu unterzeichnen, bevor Sie mit der Arbeit an Ihrem Beitrag beginnen, um Verzögerungen im PR-Prozess zu vermeiden. Sie finden die CLA hier und können sie über unser CLA-Verwaltungssystem unterzeichnen, wenn Sie Ihren ersten PR einreichen.

Schnellstart​

1. Richten Sie Ihre lokale Entwicklungsumgebung ein​

So ändern Sie das Repository lokal

Schritt 1: Klonen Sie das Repository

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

Schritt 2: Installieren Sie die Entwicklungsabhängigkeiten

poetry install --with dev --extras proxy

Das war's, Ihre lokale Entwicklungsumgebung ist bereit!

2. Hinzufügen von Tests zu Ihrem PR​

  • FĂĽgen Sie Ihren Test zum Verzeichnis tests/litellm/ hinzu

  • Dieses Verzeichnis entspricht 1:1 dem Verzeichnis litellm/ und darf nur Mock-Tests enthalten.

  • FĂĽgen Sie keine echten LLM-API-Aufrufe zu diesem Verzeichnis hinzu.

2.1 Namenskonvention für Dateien in tests/litellm/​

Das Verzeichnis tests/litellm/ folgt derselben Verzeichnisstruktur wie litellm/.

  • litellm/proxy/test_caching_routes.py entspricht litellm/proxy/caching_routes.py
  • test_{Dateiname}.py entspricht litellm/{Dateiname}.py

3. Ausführen von Unit-Tests​

FĂĽhren Sie den folgenden Befehl im Stammverzeichnis von LiteLLM aus

make test-unit

3.5 Ausführen von Linting-Tests​

FĂĽhren Sie den folgenden Befehl im Stammverzeichnis von LiteLLM aus

make lint

LiteLLM verwendet mypy fĂĽr das Linting. In CI/CD fĂĽhren wir auch black fĂĽr die Formatierung aus.

4. Reichen Sie einen PR mit Ihren Änderungen ein!​

  • Pushen Sie Ihren Fork in Ihr GitHub-Repository
  • Reichen Sie von dort einen PR ein

Erweitert​

LiteLLM Docker-Image erstellen​

Manche Leute möchten das LiteLLM Docker-Image selbst erstellen. Befolgen Sie diese Anweisungen, wenn Sie das LiteLLM Docker-Image selbst erstellen/ausführen möchten.

Schritt 1: Klonen Sie das Repository

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

Schritt 2: Erstellen Sie das Docker-Image

Erstellen mit Dockerfile.non_root

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

Schritt 3: FĂĽhren Sie das Docker-Image aus

Stellen Sie sicher, dass config.yaml im Stammverzeichnis vorhanden ist. Dies ist Ihre LiteLLM-Proxy-Konfigurationsdatei.

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