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/hinzuDieses 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.pyentsprichtlitellm/proxy/caching_routes.pytest_{Dateiname}.pyentsprichtlitellm/{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