Lasttest einer Python-Chat-App mit RAG und Locust
Dieser Artikel beschreibt den Prozess zur Durchführung von Lasttests für eine Python-Chat-Anwendung mithilfe des RAG-Musters (Retrieval Augmented Generation) mit Locust, einem beliebten Open-Source-Lasttesttool. Das Hauptziel der Lasttests besteht darin, sicherzustellen, dass die erwartete Auslastung Ihrer Chatanwendung das aktuelle Transaktionen-pro-Minute-(TPM)-Kontingent des Azure OpenAI Service nicht überschreitet. Durch die Simulation des Benutzerverhaltens unter hoher Last können Sie potenzielle Engpässe und Skalierbarkeitsprobleme in Ihrer Anwendung erkennen. Dieser Prozess ist entscheidend, um sicherzustellen, dass Ihre Chatanwendung reaktionsfähig und zuverlässig bleibt, auch wenn sie mit einer hohen Anzahl von Benutzeranforderungen konfrontiert ist.
Um mehr über das Lasttests der Chat-App zu erfahren, schauen Sie sich das Demovideoan.
Anmerkung
In diesem Artikel wird mindestens eine KI-App-Vorlage als Grundlage für die Beispiele und Anleitungen im Artikel verwendet. KI-App-Vorlagen bieten Ihnen gut gepflegte Referenzimplementierungen, die einfach bereitzustellen sind. Sie tragen dazu bei, einen qualitativ hochwertigen Ausgangspunkt für Ihre KI-Apps zu gewährleisten.
Voraussetzungen
Ein Azure-Abonnement. Eines kostenlos erstellen.
Dev-Container sind für beide Beispiele verfügbar sowie alle Abhängigkeiten, die zum Abschließen dieses Artikels erforderlich sind. Sie können die Entwicklercontainer in GitHub Codespaces (in einem Browser) oder lokal mit Visual Studio Code ausführen.
- Sie benötigen nur ein GitHub-Konto.
Python-Chat-App mit RAG. Wenn Sie Ihre Chat-App für die Verwendung einer der Lastenausgleichslösungen konfiguriert haben, hilft Ihnen dieser Artikel beim Testen des Lastenausgleichs. Die Lastenausgleichslösungen umfassen Azure Container Apps.
Öffnen Sie die Beispiel-App für den Lasttest
Der Auslastungstest ist in der Python-Chat-App-Lösung als Locust-Test enthalten. Kehren Sie zu diesem Artikel zurück, stellen Sie die Lösung bereit, und verwenden Sie dann die Entwicklungsumgebung des Entwicklungscontainers, um die folgenden Schritte auszuführen.
Führen Sie den Test durch
Installieren Sie die Abhängigkeiten für den Auslastungstest:
python3 -m pip install -r requirements-dev.txt
Starten Sie Locust, die die Locust-Testdatei locustfile.pyverwendet. Sie finden sie im Stammverzeichnis des Repositorys.
locust
Öffnen Sie die ausgeführte Locust-Website, z. B.
http://localhost:8089
.Geben Sie die folgenden Werte in die Locust-Website ein.
Eigentum Wert Anzahl der Benutzer 20 Anlaufzeiten 1 Gastgeber https://<YOUR-CHAT-APP-URL>.azurewebsites.net
Wählen Sie Schwarm starten aus, um den Test zu starten.
Wählen Sie Diagramme aus, um den Testfortschritt zu beobachten.
Bereinigen von Ressourcen
Wenn Sie mit dem Auslastungstest fertig sind, bereinigen Sie die Ressourcen. Die in diesem Artikel erstellten Azure-Ressourcen werden Ihrem Azure-Abonnement in Rechnung gestellt. Wenn Sie nicht erwarten, dass diese Ressourcen in Zukunft benötigt werden, löschen Sie sie, um mehr Gebühren zu vermeiden. Nachdem Sie die für diesen Artikel spezifischen Ressourcen gelöscht haben, vergessen Sie nicht, zum anderen Chat-App-Tutorial zurückzukehren und die Schritte zur Bereinigung durchzuführen.
Kehren Sie zum Chat-App-Artikel zurück, und bereinigen Sie diese Ressourcen.
Hilfe anfordern
Wenn Sie ein Problem mit diesem Auslastungstest haben, fügen Sie Ihr Problem zur Webseite Probleme des Repositorys hinzu.