Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается процесс выполнения нагрузочного тестирования чат-приложения на Python, применяющий шаблон Retrieval Augmented Generation (RAG), с использованием Locust, популярного средства нагрузочного тестирования с открытым исходным кодом. Основная цель нагрузочного тестирования — убедиться, что ожидаемая нагрузка на ваше чат-приложение не превышает текущую квоту в транзакции в минуту (TPM) Azure OpenAI Service. Имитируя поведение пользователя в условиях тяжелой нагрузки, вы можете определить потенциальные узкие места и проблемы масштабируемости в приложении. Этот процесс имеет решающее значение для обеспечения того, чтобы ваше приложение чата оставалось адаптивным и надежным, даже при использовании большого объема запросов пользователей.
Замечание
В этой статье в качестве основы для примеров и рекомендаций используются один или несколько шаблонов приложений ИИ. Шаблоны приложений искусственного интеллекта предоставляют вам хорошо поддерживаемые эталонные реализации, которые легко развертываться. Они помогают обеспечить высококачественную отправную точку для приложений ИИ.
Предпосылки
Подписка Azure. Создайте его бесплатно.
контейнеры разработки доступны для обоих примеров со всеми зависимостями, необходимыми для выполнения этой статьи. Контейнеры разработки можно запускать в GitHub Codespaces (в браузере) или локально с помощью Visual Studio Code.
- GitHub Codespaces (рекомендуется)
- Visual Studio Code
- Вам нужна только учетная запись GitHub.
Приложение чата Python с помощью RAG. Если вы настроили приложение чата для использования одного из решений балансировки нагрузки, эта статья поможет протестировать балансировку нагрузки. К решениям балансировки нагрузки относятся приложения контейнеров Azure.
Откройте демонстрационное приложение для нагрузочного тестирования
Нагрузочный тест находится в приложении чата на Python в виде теста Locust. Вернитесь к этой статье, разверните решение, а затем используйте среду разработки контейнеров для выполнения следующих действий.
Запуск теста
Установите пакет Locust, который используется для имитации одновременных пользователей и создания нагрузки для приложения чата:
python -m pip install locustЗапустите Locust, который использует файл теста Locust locustfile.py. Его можно найти в корне репозитория. В примере есть
ChatUserкласс, который имитирует пользователя, задающего вопросы и получая ответы от приложения чата.locust ChatUserПосле успешного запуска Locust запускается локальный веб-интерфейс, который используется для настройки и мониторинга нагрузочного теста. Откройте запущенный веб-сайт Locust, например
http://localhost:8089.Введите следующие значения на веб-сайте Locust.
Недвижимость Ценность Число пользователей 20 Наращивайте 1 Хозяин https://<YOUR-CHAT-APP-URL>.azurewebsites.net(базовый URL-адрес развернутого приложения чата)
Нажмите кнопку "Пуск Swarm" , чтобы запустить тест.
Выберите диаграммы для просмотра хода выполнения теста.
Очистите ресурсы
Завершив нагрузочное тестирование, очистите ресурсы. Ресурсы Azure, созданные в этой статье, оплачиваются с вашей подписки Azure. Если вы не ожидаете, что эти ресурсы потребуются в будущем, удалите их, чтобы избежать дополнительных расходов. После удаления ресурсов, относящихся к этой статье, не забудьте вернуться в другое руководство по приложению чата и выполнить действия по очистке.
Вернитесь в статью о приложении чата, чтобы очистить эти ресурсы.
Получите помощь
Если у вас возникли проблемы с этим тестером нагрузки, сообщите о проблеме в разделе "Проблемы репозитория.