費用、使用状況、その他の指標をモニタリングする

AI 機能の費用、使用状況、その他の指標をモニタリングすることは、本番環境アプリを運用するうえで重要な要素です。アプリの通常の使用パターンを把握し、重要なしきい値を超えないようにする必要があります。

このページでは、Firebase コンソールと Google Cloud コンソールの両方で費用、使用量、その他の指標をモニタリングするための推奨オプションについて説明します。

費用をモニタリングする

Firebase コンソールの [使用量と請求額] ダッシュボードで、Agent Platform Gemini API (formerly Vertex AI) と Gemini Developer API の呼び出しにかかるプロジェクトの費用を確認できます(Blaze のお支払いプランの場合)。

ダッシュボードに表示される費用は、必ずしも Firebase AI Logic クライアント SDK を使用した呼び出しに固有のものではありません。表示される費用は、Firebase AI Logic クライアント SDK、Google GenAI サーバー SDK、Genkit、Gemini API の Firebase Extensions、REST 呼び出し、いずれかの AI Studio、またはその他の API クライアントを使用しているかどうかにかかわらず、これらの「Gemini API」への呼び出しに関連付けられています。

Firebase AI Logic の使用に関連するプロダクトの料金の詳細を確認する。

予算アラートと単価の上限を設定する

Blaze のお支払いプランを使用している場合は、予算アラートと単価の上限を設定して、想定外の請求を回避してください。

予算アラートは予算の上限ではありません。費用が予算の一定のしきい値に達すると、アラートによって警告メールが送信されるため、アプリやプロジェクトで実践できます。予算に達したときにサービスを一時停止する場合は、単価の上限予算を設定する必要があります。

Firebase コンソールで AI 機能の使用状況を確認する

Firebase コンソールの Firebase AI Logic ページで AI モニタリングを有効にすると、アプリレベルのさまざまな指標と使用状況をモニタリングして、Firebase AI Logic クライアント SDK からのリクエストを包括的に把握できます。これらのダッシュボードは、Count Tokens API の呼び出しで取得する基本的なトークン数よりも詳細な情報を提供します。

Firebase コンソールの AI モニタリングの主な機能は次のとおりです。

  • 各アプリのリクエスト量、レイテンシ、エラー、モダリティごとのトークン使用量などの定量的な指標を表示する。

  • トレースを検査して、リクエストの属性、入力、出力を確認します。これは、デバッグと品質の向上に役立ちます。

  • リクエスト ステータス、最小レイテンシ、モデル名などのディメンションでデータをスライスする。

これらの機能はすべて Google Cloud Observability Suite を使用して構築されています(下記の詳細な商品情報をご覧ください)。

AI モニタリングを有効にする

Firebase コンソールで AI モニタリングを有効にする方法は次のとおりです。

AI モニタリングを有効にして使用するための要件:

  • プロジェクト オーナー、編集者、または Firebase Vertex AI 管理者である必要があります。

  • アプリで少なくとも次の Firebase ライブラリ バージョンを使用している必要があります。
    iOS+: v11.13.0 以降 | Android: v16.0.0 以降(BoM: v33.14.0 以降)| ウェブ: v11.8.0 以降 | Flutter: v2.0.0 以降(BoM: v3.11.0 以降)| Unity: v12.9.0 以降

  • アプリでオプトイン データの収集が有効になっている必要があります(デフォルトで有効になっています)。

アプリがこれらの要件を満たし、コンソールで AI モニタリングを有効にすると、アプリまたはコンソールで他に何もする必要はありません。[AI サービス] > [AI ロジック] > [AI モニタリング] タブのダッシュボードにデータが表示されます。リクエストのテレメトリーが Firebase コンソールで使用できるようになるまでに、わずかな遅延(最大 5 分)が発生することがあります。

高度な使い方

このセクションでは、サンプリング レートの構成と、データを表示して操作するためのさまざまなオプションについて説明します。

サンプリング レート

大量のリクエストを送信する場合は、サンプリング レートの構成を利用することをおすすめします。サンプリング レートは、トレースの詳細が実際に収集されるリクエストの割合を示します。

Firebase コンソールの [AI サービス] > [AI ロジック] > [設定] タブで、プロジェクトのサンプリング レートを 1 ~ 100% の値に構成できます。100% にすると、AI モニタリングはすべてのトラフィックからトレースを収集します。デフォルトは 100% です。収集するトレースの数を減らすと、費用は削減されますが、モニタリングできるトレースの数も減少します。サンプリング レートに関係なく、モニタリング ダッシュボードに表示されるグラフには、常に実際のトラフィック量が反映されます。

Firebase コンソール以外のその他のオプション

Firebase コンソールで利用可能な AI モニタリングに加えて、次のオプションも検討してください。

  • Vertex AI Model Garden を確認する。
    これらのダッシュボードは、マネージド モデルのレイテンシとスループットに関する傾向分析をさらに提供し、Firebase コンソールの AI モニタリングから得られる分析情報を補完します。

  • Google Cloud Observability Suite
    でデータを探して使用する AI モニタリングのテレメトリー データは、プロジェクトに関連付けられた Google Cloud Observability Suite に保存されるため、Firebase コンソールで個々のトレースを検査するときにリンクされる Trace Explorer や Logs Explorer などのダッシュボードでデータを探すことができます。また、データを使用してカスタム ダッシュボードの作成、アラートの設定などを行うこともできます。

AI モニタリングに使用されるプロダクトの詳細情報

AI モニタリングは、Cloud Monitoring、Cloud Trace、Cloud Logging など、Google Cloud Observability Suite で利用可能なさまざまなプロダクトにテレメトリー データを保存します。

  • Cloud Monitoring: リクエスト数、成功率、リクエスト レイテンシなどの指標を保存します。

  • Cloud Trace: 各リクエストのトレースを保存します。これにより、集計ではなく、個別に詳細を表示できます。トレースは通常、ログに関連付けられているため、各インタラクションの内容とタイミングを調べることができます。

  • Cloud Logging: 入力、出力、構成のメタデータをキャプチャして、AI リクエストの各部分に関する詳細情報を提供します。

テレメトリー データはこれらのプロダクトに保存されるため、各プロダクト内で保持設定とアクセス設定を直接指定できます(詳細については、Cloud Monitoring、Cloud Trace、Cloud Logging のドキュメントをご覧ください)。

AI モニタリングでは、サンプリングされた各リクエストの実際のプロンプトと生成された出力が Cloud Logging に保存され、このデータに Firebase コンソールからアクセスできるようになります。必要に応じて、プロンプトとレスポンスの保存を無効にすることができます。

料金

  • 無料の Spark のお支払いプランのプロジェクト(Gemini Developer API を使用している場合にのみ利用可能): AI モニタリングの基盤となるサービスの使用は無料です。

  • 従量課金制の Blaze のお支払いプランのプロジェクト: AI モニタリングで使用される基盤となる Google Cloud Observability Suite プロダクトの使用量に対して課金されます(選択した Gemini API プロバイダに関係なく)。ただし、各 Google Cloud Observability Suite プロダクトには、無料枠が用意されています。詳しくは、Google Cloud Observability Suite の料金に関するドキュメントをご覧ください。

(省略可)プロンプトとレスポンスの保存を無効にする

デフォルトでは、AI モニタリングは、モデルに送信された実際のプロンプトと、モデルによって生成されたレスポンスをキャプチャします。これには、プロンプトとレスポンスに含まれる機密情報(個人情報(PII)など)も含まれます。このデータはすべて Cloud Logging に保存され、Firebase コンソールでアクセスできます。

プロンプトとレスポンスの保存を無効にするには、次の除外フィルタを Cloud Logging シンク(通常は _Default シンク)に追加します。resource.type="firebasevertexai.googleapis.com/Model"

Google Cloud コンソールでプロジェクト レベルの API 指標を表示する

各 API について、Google Cloud コンソールでプロジェクト レベルの指標(使用状況など)を確認できます。

このセクションで説明する Google Cloud コンソール ページには、リクエストとレスポンスのコンテンツ、トークン数などの情報は含まれません。このタイプの情報をモニタリングするには、Firebase コンソールの AI モニタリングの使用を検討してください(前のセクションを参照)。

  1. Google Cloud コンソールで、表示する API の [指標] ページに移動します。

    • Agent Platform API: Agent Platform Gemini API (formerly Vertex AI) へのリクエストに関連する使用状況を表示します。

      • Firebase AI Logic クライアント SDK、Google GenAI サーバー SDK、Genkit、Gemini API の Firebase Extensions、REST API、Agent  Studio などを使用したリクエストが含まれます。
    • Gemini Developer API: Gemini Developer API へのリクエストに関連付けられた使用状況を表示します。

      • Firebase AI Logic クライアント SDK、Google GenAI サーバー SDK、Genkit、Gemini API の Firebase Extensions、REST API、Google AI Studio などを使用したリクエストが含まれます。
      • Google Cloud コンソールでのこの API の表示名は「Generative Language API」です。

    API の「概要ページ」が表示された場合は、[管理] をクリックし、[指標] タブをクリックします。

  2. プルダウン メニューを使用して、レスポンス コード別のトラフィック、API メソッド別のエラー、全体的なレイテンシ、API メソッド別のレイテンシなど、関心のある指標を表示します。