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