Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit le processus permettant d'effectuer des tests de charge sur une application de conversation Python à l'aide du modèle de génération augmentée par récupération (RAG) avec Locust, un outil open source populaire de test de charge. 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 de service 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.
Note
Cet article utilise un ou plusieurs modèles d’application IA comme base pour les exemples et les conseils qu’il contient. Les modèles d’application IA vous fournissent des implémentations de référence bien gérées qui sont faciles à déployer. Ils aident à garantir un point de départ de haute qualité pour vos applications IA.
Prerequisites
Un abonnement Azure. Créez-en un gratuitement.
Les conteneurs de développement sont disponibles pour les deux exemples avec toutes les dépendances requises pour terminer 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.
- GitHub Codespaces (recommandé)
- Visual Studio Code
- Vous n’avez besoin que 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 aide à 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 est un test Locust dans la solution d'application de chat Python. Revenez à cet article, déployez la solution, puis utilisez cet environnement de développement de conteneur pour effectuer les étapes suivantes.
Exécuter le test
Installez le package Locust, qui est utilisé pour simuler des utilisateurs simultanés et générer la charge sur votre application de conversation :
python -m pip install locustDémarrez Locust, qui utilise le fichier de test Locust locustfile.py. Vous pouvez le trouver à la racine du référentiel. L’exemple comporte une
ChatUserclasse qui simule un utilisateur qui pose des questions et reçoit des réponses de l’application de conversation.locust ChatUserUne fois locust démarré, il lance une interface web locale que vous utilisez pour configurer et surveiller le test de charge. Ouvrez le site web Locust en cours d’exécution, tel que
http://localhost:8089.Entrez les valeurs suivantes dans le site web Locust.
Propriété Valeur Nombre d’utilisateurs 20 Accélérer 1 Host https://<YOUR-CHAT-APP-URL>.azurewebsites.net(URL de base de votre application de conversation déployée)
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, nettoyez 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é des ressources spécifiques à cet article, n’oubliez pas de revenir à l’autre tutoriel de l’application de conversation et de suivre les étapes de nettoyage.
Revenez à l’article de l’application de conversation pour nettoyer ces ressources.
Obtenir de l’aide
Si vous rencontrez des problèmes lors de l’utilisation de ce testeur de charge, ajoutez votre problème à la page web Problèmes du référentiel.