Condividi tramite


Testare il carico di un'app di chat Python usando RAG con Locust

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

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

  1. Installare il pacchetto Locust, usato per simulare gli utenti simultanei e generare il carico sull'applicazione di chat:

    python -m pip install locust
    
  2. Avviare Locust, che usa il file di test Locust locustfile.py. È possibile trovarlo nella radice del repository. L'esempio ha una ChatUser classe che simula un utente che pone domande e riceve risposte dall'app di chat.

    locust ChatUser
    
  3. Dopo 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.

  4. 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)

    Screenshot che mostra il test Locust con i valori compilati.

  5. Selezionare Avvia Swarm per avviare il test.

  6. Selezionare Grafici per monitorare l'avanzamento del test.

    Screenshot che mostra il grafico Locust durante l'esecuzione di un 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.