将 RAG 与 Locust 配合使用负载测试 Python 聊天应用

本文提供了在 Python 聊天应用程序中使用 RAG 模式和 Locust(一种常用的开源负载测试工具)对 Python 聊天应用程序执行负载测试的过程。 负载测试的主要目标是确保聊天应用程序中的预期负载不会超过当前的 Azure OpenAI 事务每分钟(TPM)配额。 通过在负载过大的情况下模拟用户行为,可以识别应用程序中的潜在瓶颈和可伸缩性问题。 此过程对于确保聊天应用程序保持响应和可靠至关重要,即使遇到大量用户请求也是如此。

观看演示视频,了解有关负载测试聊天应用的详细信息。

注意

本文使用一个或多个 AI 应用模板 作为本文中的示例和指南的基础。 AI 应用模板为你提供了维护良好、易于部署的参考实现,有助于确保 AI 应用的高质量起点。

先决条件

打开负载测试示例应用

负载测试以 Locust 测试的形式在 Python 聊天应用解决方案中。 需要返回到该文章,部署解决方案,然后使用该开发容器开发环境完成以下步骤。

运行测试

  1. 安装负载测试的依赖项。

    python3 -m pip install -r requirements-dev.txt
    
  2. 启动 Locust,它使用 Locust 测试文件: locustfile.py 在存储库的根目录中找到。

    locust
    
  3. 打开正在运行的 Locust 网站,例如 http://localhost:8089

  4. 在 Locust 网站中输入以下内容。

    属性 Value
    用户数 20
    提升知识 1
    主机 https://<YOUR-CHAT-APP-URL>.azurewebsites.net

    Locust 测试的屏幕截图,其中填充了值。

  5. 选择 “启动群 ”以启动测试。

  6. 选择“图表以观察测试进度。

    测试运行期间 Locust 图表的屏幕截图。

清理资源

完成负载测试后,清理资源。 本文中创建的 Azure 资源的费用将计入你的 Azure 订阅。 如果你预计将来不需要这些资源,请将其删除,以避免产生更多费用。 删除本文特定的资源后,请记住返回到其他聊天应用教程,并按照清理步骤进行操作。

返回到聊天应用文章以 清理 这些资源。

获取帮助

如果使用此负载测试器时遇到问题,请将问题记录到 存储库的问题