Test del carico dell'app chat Python con RAG con Locust
Questo articolo fornisce il processo per eseguire test di carico in un'applicazione di chat Python usando il modello RAG con Locust, uno strumento di test di carico open source diffuso. L'obiettivo principale del test di carico è garantire che il carico previsto nell'applicazione chat non superi la quota corrente di transazioni OpenAI di Azure al minuto (TPM). Simulando il comportamento dell'utente con carico elevato, è possibile identificare potenziali colli di bottiglia e problemi di scalabilità nell'applicazione. Questo processo è fondamentale per garantire che l'applicazione di chat rimanga reattiva e affidabile, anche in caso di un volume elevato di richieste utente.
Guardare il video dimostrativo per altre informazioni sul test di carico dell'app di chat.
Nota
Questo articolo usa uno o più modelli di app di intelligenza artificiale come base per gli esempi e le linee guida nell'articolo. I modelli di app di intelligenza artificiale offrono implementazioni di riferimento ben gestite e facili da distribuire per garantire un punto di partenza di alta qualità per le app di intelligenza artificiale.
Prerequisiti
Abbonamento di Azure. Crearne uno gratuito
Accesso concesso ad Azure OpenAI nella sottoscrizione di Azure desiderata. Attualmente, l'accesso a questo servizio viene concesso solo dall'applicazione. È possibile richiedere l'accesso a OpenAI di Azure completando il modulo all'indirizzo https://aka.ms/oai/access.
I contenitori di sviluppo sono disponibili per entrambi gli esempi, con tutte le dipendenze necessarie per completare questo articolo. È possibile eseguire i contenitori di sviluppo in GitHub Codespaces (in un browser) o in locale con Visual Studio Code.
- È necessario solo un account GitHub
App di chat Python con RAG : se è stata configurata l'app di chat per l'uso di una delle soluzioni di bilanciamento del carico, questo articolo consentirà di testare il bilanciamento del carico. Le soluzioni di bilanciamento del carico includono App Azure Container.
Aprire l'app di esempio test di carico
Il test di carico si trova nella soluzione dell'app Chat Python come test locust. Per completare i passaggi seguenti, è necessario tornare a tale articolo, distribuire la soluzione e quindi usare l'ambiente di sviluppo del contenitore di sviluppo.
Eseguire il test
Installare le dipendenze per il test di carico.
python3 -m pip install -r requirements-dev.txt
Avviare Locust, che usa il file di test Locust: locustfile.py trovato nella radice del repository.
locust
Aprire il sito Web Locust in esecuzione,
http://localhost:8089
ad esempio .Immettere quanto segue nel sito Web Locust.
Proprietà valore Numero di utenti 20 Ramp up 1 Host https://<YOUR-CHAT-APP-URL>.azurewebsites.net
Selezionare Avvia Swarm per avviare il test.
Selezionare Grafici per controllare lo stato di avanzamento del test.
Pulire le risorse
Al termine dei test di carico, pulire le risorse. Le risorse di Azure create in questo articolo vengono fatturate alla sottoscrizione di Azure. Se prevedi che queste risorse non ti servano in futuro, eliminale per evitare di incorrere in costi aggiuntivi. Dopo aver eliminato una risorsa specifica di questo articolo, ricordarsi di tornare all'altra esercitazione sull'app di chat e seguire i passaggi di pulizia.
Tornare all'articolo sull'app di chat per pulire tali risorse.
Come ottenere assistenza
Se si verificano problemi durante l'uso di questo tester di carico, registrare il problema in Problemi del repository.