Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce il processo per eseguire test di carico in un'applicazione di chat Python usando il modello Recupero di generazione aumentata (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 di chat non superi la quota corrente delle transazioni del servizio Azure OpenAI 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.
Annotazioni
Questo articolo utilizza uno o più modelli di app di intelligenza artificiale come base per gli esempi e le linee guida presenti nell’articolo. I modelli di app di intelligenza artificiale offrono implementazioni di riferimento ben gestite che sono facili da distribuire. Consentono di garantire un punto di partenza di alta qualità per le app di intelligenza artificiale.
Prerequisiti
Una sottoscrizione di Azure. Creane uno gratis.
I contenitori di sviluppo sono disponibili per entrambi gli esempi con tutte le dipendenze richieste per completare questo articolo. È possibile eseguire i contenitori di sviluppo in GitHub Codespaces (in un browser) o in locale usando Visual Studio Code.
- GitHub Codespaces (scelta consigliata)
- Visual Studio Code
- È necessario solo un account GitHub.
App di chat Python con RAG. Se l'app di chat è stata configurata per l'uso di una delle soluzioni di bilanciamento del carico, questo articolo consente di testare il bilanciamento del carico. Le soluzioni di bilanciamento del carico includono App Azure Container.
Apri l'applicazione di esempio del test di carico
Il test di carico si trova nella soluzione dell'app Chat Python come "Test Locust". Torna a questo articolo, distribuisci la soluzione e quindi usa l'ambiente di sviluppo del contenitore dev per completare i passaggi seguenti.
Eseguire il test
Installare il pacchetto Locust, usato per simulare gli utenti simultanei e generare il carico sull'applicazione di chat:
python -m pip install locustAvviare Locust, che usa il file di test Locust locustfile.py. È possibile trovarlo nella radice del repository. L'esempio ha una
ChatUserclasse che simula un utente che pone domande e riceve risposte dall'app di chat.locust ChatUserDopo l'avvio di Locust, viene avviata un'interfaccia Web locale usata per configurare e monitorare il test di carico. Aprire il sito Web Locust in esecuzione, ad esempio
http://localhost:8089.Immettere i valori seguenti nel sito Web Locust.
Proprietà Valore Numero di utenti 20 Accelerare 1 Padrone di casa / Ospitante / Conduttore (depending on the intended context) https://<YOUR-CHAT-APP-URL>.azurewebsites.net(l'URL di base dell'applicazione chat distribuita)
Selezionare Avvia Swarm per avviare il test.
Selezionare Grafici per monitorare l'avanzamento del test.
Pulire le risorse
Al termine dei test di carico, pulire le risorse. Le risorse di Azure create e discusse in questo articolo vengono fatturate al tuo abbonamento di Azure. Se non si prevede che queste risorse siano necessarie in futuro, eliminarle per evitare di incorrere in costi aggiuntivi. Dopo aver eliminato le risorse specifiche 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.
Ottenere assistenza
Se hai problemi con questo tester di carico, aggiungi il problema alla pagina delle segnalazioni del repository.