Läs in testning av Python-chattapp med RAG med Locust
Den här artikeln innehåller processen för att utföra belastningstestning i ett Python-chattprogram med hjälp av RAG-mönstret med Locust, ett populärt verktyg för belastningstestning med öppen källkod. Det primära målet med belastningstestning är att säkerställa att den förväntade belastningen i chattprogrammet inte överskrider den aktuella TPM-kvoten (Azure OpenAI Transactions Per Minute). Genom att simulera användarbeteende under hög belastning kan du identifiera potentiella flaskhalsar och skalbarhetsproblem i ditt program. Den här processen är avgörande för att säkerställa att chattprogrammet förblir responsivt och tillförlitligt, även när det ställs inför en stor mängd användarbegäranden.
Titta på demonstrationsvideon för att förstå mer om belastningstestning av chattappen.
Kommentar
Den här artikeln använder en eller flera AI-appmallar som grund för exemplen och vägledningen i artikeln. Med AI-appmallar får du väl underhållna och enkla att distribuera referensimplementeringar som hjälper dig att säkerställa en högkvalitativ startpunkt för dina AI-appar.
Förutsättningar
En Azure-prenumeration. Skapa en kostnadsfritt
Åtkomst beviljad till Azure OpenAI i den önskade Azure-prenumerationen. För närvarande måste man ansöka om att få åtkomst till den här tjänsten. Du kan ansöka om åtkomst till Azure OpenAI genom att fylla i formuläret på https://aka.ms/oai/access.
Dev-containrar är tillgängliga för båda exemplen, med alla beroenden som krävs för att slutföra den här artikeln. Du kan köra dev-containrarna i GitHub Codespaces (i en webbläsare) eller lokalt med hjälp av Visual Studio Code.
- Du behöver bara ett GitHub-konto
Python-chattapp med RAG – om du har konfigurerat chattappen för att använda någon av belastningsutjämningslösningarna hjälper den här artikeln dig att testa belastningsutjämningen. Lösningarna för belastningsutjämning omfattar Azure Container Apps.
Öppna testexempelappen Läs in
Belastningstestet finns i python-chattappens lösning som ett Locust-test. Du måste gå tillbaka till den artikeln, distribuera lösningen och sedan använda utvecklingsmiljön för utvecklingsmiljön för utvecklingscontainer för att slutföra följande steg.
Kör testet
Installera beroendena för belastningstestet.
python3 -m pip install -r requirements-dev.txt
Starta Locust, som använder Locust-testfilen: locustfile.py hittades i roten på lagringsplatsen.
locust
Öppna webbplatsen locust som körs, till exempel
http://localhost:8089
.Ange följande på Locust-webbplatsen.
Property Värde Antal användare 20 Rampa upp 1 Host https://<YOUR-CHAT-APP-URL>.azurewebsites.net
Välj Starta Swarm för att starta testet.
Välj Diagram för att se test förloppet.
Rensa resurser
När du är klar med belastningstestningen rensar du resurserna. De Azure-resurser som skapas i den här artikeln faktureras till din Azure-prenumeration. Om du inte förväntar dig att behöva dessa resurser i framtiden tar du bort dem för att undvika att debiteras mer. När du har tagit bort en resurs som är specifik för den här artikeln ska du komma ihåg att gå tillbaka till den andra chattappens självstudie och följa rensningsstegen.
Gå tillbaka till chattappartikeln för att rensa resurserna.
Få hjälp
Om du har problem med att använda den här belastningstestaren loggar du problemet till lagringsplatsens problem.