Test de charge de l’application de conversation Python à l’aide de RAG avec Locust
Cet article fournit le processus permettant d’effectuer des tests de charge sur une application de conversation Python à l’aide du modèle RAG avec Locust, un outil populaire de test de charge open source. L’objectif principal du test de charge est de s’assurer que la charge attendue sur votre application de conversation ne dépasse pas le quota actuel de transactions Azure OpenAI par minute (TPM). En simulant le comportement de l’utilisateur sous une charge importante, vous pouvez identifier les goulots d’étranglement potentiels et les problèmes d’extensibilité dans votre application. Ce processus est essentiel pour garantir que votre application de conversation reste réactive et fiable, même en cas de forte quantité de demandes utilisateur.
Regardez la vidéo de démonstration pour en savoir plus sur le test de charge de l’application de conversation.
Remarque
Cet article utilise un ou plusieurs modèles d’application IA comme base pour les exemples et les conseils de l’article. Les modèles d’application IA vous fournissent des implémentations de référence bien gérées et faciles à déployer qui vous aident à garantir un point de départ de haute qualité pour vos applications IA.
Prérequis
Abonnement Azure. Créez-en un gratuitement
Accès accordé à Azure OpenAI dans l’abonnement Azure souhaité. L’accès à ce service n’est accordé qu’à l’application. Vous pouvez demander l’accès à Azure OpenAI en complétant le formulaire à l’adresse https://aka.ms/oai/access.
Des conteneurs de développement sont disponibles pour les deux exemples, avec toutes les dépendances requises pour suivre cet article. Vous pouvez exécuter les conteneurs de développement dans GitHub Codespaces (dans un navigateur) ou localement à l’aide de Visual Studio Code.
- Vous avez uniquement besoin d’un compte GitHub
Application de conversation Python avec RAG : si vous avez configuré votre application de conversation pour utiliser l’une des solutions d’équilibrage de charge, cet article vous aidera à tester l’équilibrage de charge. Les solutions d’équilibrage de charge incluent Azure Container Apps.
Ouvrir l’exemple d’application de test de charge
Le test de charge se trouve dans la solution d’application de conversation Python en tant que test Locust. Vous devez revenir à cet article, déployer la solution, puis utiliser cet environnement de développement de conteneur de développement pour effectuer les étapes suivantes.
Exécuter le test
Installez les dépendances pour le test de charge.
python3 -m pip install -r requirements-dev.txt
Démarrez Locust, qui utilise le fichier de test Locust : locustfile.py trouvé à la racine du référentiel.
locust
Ouvrez le site web Locust en cours d’exécution, tel que
http://localhost:8089
.Entrez ce qui suit dans le site web Locust.
Propriété Valeur Nombre d’utilisateurs 20 Montée en puissance 1 Hôte https://<YOUR-CHAT-APP-URL>.azurewebsites.net
Sélectionnez Démarrer Swarm pour démarrer le test.
Sélectionnez Graphiques pour surveiller la progression des tests.
Nettoyer les ressources
Lorsque vous avez terminé le test de charge, propre les ressources. Les ressources Azure créées dans cet article sont facturées dans votre abonnement Azure. Si vous pensez ne plus avoir besoin de ces ressources, supprimez-les pour éviter des frais supplémentaires. Après avoir supprimé la ressource spécifique à cet article, n’oubliez pas de revenir à l’autre tutoriel de l’application de conversation et de suivre les étapes de propre-up.
Revenez à l’article de l’application de conversation pour propre ces ressources.
Obtenir de l’aide
Si vous rencontrez des problèmes lors de l’utilisation de ce testeur de charge, consignez votre problème aux problèmes du référentiel.