本文提供了将检索扩充生成 (RAG) 模式与 Locust(一种常用的开源负载测试工具)配合使用,在 Python 聊天应用程序上执行负载测试的过程。 负载测试的主要目标是确保聊天应用程序中的预期负载不超过当前 Azure OpenAI 服务每分钟事务(TPM)配额。 通过在负载过大的情况下模拟用户行为,可以识别应用程序中的潜在瓶颈和可伸缩性问题。 此过程对于确保聊天应用程序保持响应和可靠至关重要,即使遇到大量用户请求也是如此。
注释
本文使用一个或多个 AI 应用模板作为本文中的示例和指南的基础。 AI 应用模板提供易于部署的维护良好的参考实现。 使用它们可以确保为您的 AI 应用提供一个高质量的起点。
先决条件
一份 Azure 订阅。 免费创建一个。
开发容器 可用于这两个示例,其中包含完成本文所需的所有依赖项。 可以使用 Visual Studio Code 在 GitHub Codespaces(浏览器)或本地运行开发容器。
使用 RAG 的 Python 聊天应用。 如果将聊天应用配置为使用其中一种负载均衡解决方案,本文将帮助你测试负载均衡。 负载均衡解决方案包括 Azure 容器应用。
打开负载测试示例应用
负载测试以 Locust 测试的形式在 Python 聊天应用解决方案中。 返回到该文章,部署解决方案,然后使用该开发容器开发环境完成以下步骤。
运行测试
安装 Locust 包以进行负载测试:
python -m pip install locust启动 Locust,它使用 Locust 测试文件 locustfile.py。 可以在存储库的根目录中找到它。 该示例包含一个
ChatUser类,用于模拟用户提问并从聊天应用中接收答案。locust ChatUser打开正在运行的 Locust 网站,例如
http://localhost:8089。在 Locust 网站中输入以下值。
资产 价值 用户数 20 增加 1 Host https://<YOUR-CHAT-APP-URL>.azurewebsites.net
选择 “启动群 ”以启动测试。
选择 “图表 ”以观察测试进度。
清理资源
完成负载测试后,清理资源。 本文中创建的 Azure 资源将计费给 Azure 订阅。 如果你预计将来不需要这些资源,请将其删除,以避免产生更多费用。 删除本文特定的资源后,请记住返回到其他聊天应用程序的教程,并按照清理步骤进行。
返回到聊天应用相关的文章以清理这些资源。
获取帮助
如果使用此负载测试器时遇到问题,请将问题添加到存储库 的问题 网页。