次の方法で共有


Locust で RAG を使用して Python チャット アプリをロードテストする

この記事では、Python チャット アプリケーションでロード テストを実行するプロセスについて説明します。このプロセスでは、一般的なオープン ソースロード テスト ツールである、Retrieval Augmented Generation (RAG) パターンを使用します。 ロード テストの主な目的は、チャット アプリケーションで予想される負荷が、現在の Azure OpenAI Service トランザクション /分 (TPM) クォータを超えないようにすることです。 負荷の高いユーザーの動作をシミュレートすることで、アプリケーションの潜在的なボトルネックとスケーラビリティの問題を特定できます。 このプロセスは、大量のユーザー要求に直面した場合でも、チャット アプリケーションの応答性と信頼性を維持するために重要です。

この記事では、記事内の例とガイダンスの土台として、1 つ以上の AI アプリ テンプレートを使用しています。 AI アプリ テンプレートを使用すると、デプロイが容易な保守性の高い参照実装が提供されます。 AI アプリの高品質な開始点を確保するのに役立ちます。

[前提条件]

ロード テスト サンプル アプリを開く

ロードテストは、Python チャットアプリのソリューションにおける Locust テストとして含まれています。 その記事に戻り、ソリューションをデプロイしてから、その開発コンテナー開発環境を使用して次の手順を完了します。

テストの実行

  1. ロード テスト用のローカスト パッケージをインストールします。

    python -m pip install locust
    
  2. ローカストテストファイルの locustfile.py を使用して、ローカストを開始します。 リポジトリのルートで見つけることができます。 このサンプルには、ユーザーが質問し、チャット アプリから回答を受け取るユーザーをシミュレートする ChatUser クラスがあります。

    locust ChatUser
    
  3. http://localhost:8089などの、稼働中のLocustのWebサイトを開きます。

  4. Locust Web サイトに次の値を入力します。

    プロパティ 価値
    ユーザー数 20
    準備 1
    Host https://<YOUR-CHAT-APP-URL>.azurewebsites.net

    値が入力された、ラゴト テストを示すスクリーンショット。

  5. [ Swarm の開始] を選択してテストを開始します。

  6. テストの進行状況を確認するには、[ グラフ ] を選択します。

    テスト実行中のLocustグラフを示すスクリーンショット。

リソースをクリーンアップする

ロード テストが完了したら、リソースをクリーンアップします。 この記事で作成した Azure リソースは、Azure サブスクリプションに課金されます。 今後これらのリソースが必要になるとは思わない場合は、削除して、より多くの料金が発生しないようにします。 この記事に固有のリソースを削除したら、忘れずに他のチャット アプリのチュートリアルに戻り、クリーンアップ手順に従ってください。

これらのリソースをクリーンアップするには、チャット アプリの記事に戻 ります

ヘルプを取得する

このロード テスターの使用で問題が発生した場合は、リポジトリの [問題] Web ページに問題を追加します。