会話分析の概要

BigQuery の会話型分析では、自然言語を使用してデータについてエージェントとチャットできます。データに関する回答を得るには、次の操作を行います。

  • 選択した一連のナレッジソース(テーブル、ビュー、グラフ、ユーザー定義関数(UDF)など)のデータ コンテキストとクエリ処理手順を自動的に定義するデータ エージェントを作成します。
  • 必要に応じて、カスタム テーブルとフィールドのメタデータ、データを解釈してクエリを実行するためのエージェントへの指示の形式で、または検証済みクエリ(以前はゴールデン クエリと呼ばれていました)を作成して、エージェントのコンテキストと指示を作成し、特定のユースケースの質問に対してデータ エージェントが効果的に回答するように構成できます。

エージェントをカスタマイズする前に、エージェントが作成するコンテキストと手順をまず使用することをおすすめします。

エージェントに提供するコンテキストと指示の例を次に示します。

  • コンテキスト。販売分析用のデータ エージェントは、「トップ パフォーマー」が最も多くの取引を成立させた営業担当者ではなく、最も収益の高い営業担当者を指すことを理解するように構成できます。
  • 命令。データ エージェントに、「傾向」について質問された場合は常に最新の四半期でデータをフィルタするよう指示したり、デフォルトで「商品カテゴリ」別に結果をグループ化するよう指示したりできます。

データ エージェントを作成したら、それらと会話して、自然言語で BigQuery データに関する質問をすることができます。また、1 つ以上のデータソースとの直接会話を作成し、基本的な単発の質問の答えをすぐに得ることもできます。

会話型分析は Gemini for Google Cloud を活用しており、一部の BigQuery AI 関数と ML 関数をサポートしています。詳細については、BigQuery AI と ML のサポートをご覧ください。

Gemini for Google Cloud がデータを使用する方法とタイミングに関する説明をご覧ください。

データ エージェント

データ エージェントは、1 つ以上のナレッジソースと、そのデータを処理するためのユースケース固有の指示のセットで構成されています。データ エージェントを作成するときに、次のオプションを使用してデータ エージェントを構成できます。

  • データ エージェントで、テーブル、ビュー、UDF などのナレッジソースを使用します。Lakehouse テーブルをソースとして接続することもできます。詳細については、自然言語を使用して Lakehouse データにクエリを実行するをご覧ください。
  • 特定のユースケースに最適な形でデータを記述するカスタム テーブルとフィールドのメタデータを提供します。
  • データの解釈とクエリ処理に関する指示を提供します。たとえば、次のものを定義します。
    • フィールド名の類義語とビジネス用語
    • フィルタリングとグループ化に関する最も重要なフィールドとデフォルト
  • データ エージェントがエージェントの回答構造を形成し、組織で使用されるビジネス ロジックを学習するために使用できる検証済みクエリを作成します。検証済みクエリは、以前はゴールデン クエリと呼ばれていました。検証済みのクエリでは、サポートされている BigQuery AI 関数と ML 関数を使用でき、クエリ パラメータをサポートしています。
  • エージェントごとに BigQuery カスタム用語集の用語を作成するか、Knowledge Catalog からビジネス用語集の用語をインポートします。これらの用語は、エージェントがユーザー プロンプトを解釈するのに役立ちます。各タイプを使用するタイミングについては、用語集の用語を作成または確認するをご覧ください。

データ エージェントを管理する

Google Cloud コンソールの [エージェント カタログ] タブで、次の種類のデータ エージェントを作成、管理、操作できます。

  • 各 Google Cloud プロジェクトの事前定義されたサンプル エージェント。
  • 下書き、作成、公開済みのエージェントのリスト。
  • 他のユーザーが作成して共有したエージェントのリスト。

詳細については、データ エージェントを作成するをご覧ください。

Conversational Analytics APIデータポータル など、データ エージェントをサポートするプロジェクト内の他のサービスは、BigQuery で作成したデータ エージェントにアクセスできます。 Google Cloud コンソールで作成されたエージェントにアクセスするには、Conversational Analytics API を使用して呼び出すこともできます。

会話

会話とは、データ エージェントまたはデータソースとの永続化されたチャットです。テーブル フィールド名を指定したり、データのフィルタ条件を定義したりすることなく、「売上」や「最も人気がある」といった一般的な言葉を使用してデータ エージェントにマルチパートの質問をすることができます。PDF などのオブジェクトにあるデータについて質問することもできます。エージェントは、レスポンスを構築するときに、クエリするデータソースを特定し、テーブル パーティションや検索インデックスなどの最適化を利用できます。

チャットで返信されたレスポンスには、次の機能があります。

  • 質問に対する回答(テキスト、コード、画像(マルチモーダル))。回答には、サポートされている BigQuery AI 関数と ML 関数を含めることができます。
  • 必要に応じてグラフを生成します。
  • 結果の背後にあるエージェントの推論。
  • 会話に関するメタデータ(使用されたエージェントやデータソースなど)。

データソースとの直接会話を作成すると、Conversational Analytics API は、データ エージェントから提供されるコンテキストと処理の指示を使用せずにユーザーからの質問を解釈します。そのため、直接会話の結果は正確さが低い可能性があります。正確さが求められる場合は、データ エージェントを使用してください。

BigQuery で会話を作成して管理するには、Google Cloud コンソールを使用します。詳細については、会話でデータを分析するをご覧ください。

BigQuery AI と ML のサポート

会話分析は、データ エージェントとデータソースとのチャットに対する応答、および作成した検証済みの SQL クエリで、次の AI 関数をサポートしています。

生成 AI クエリを実行するには、必要な権限が必要です。

エージェントは、自律型エンベディング生成が有効になっているテーブルでのみ AI.SEARCH 関数を使用します。それ以外の場合、エージェントは AI.SIMILARITY 関数を使用します。この関数では、リアルタイムのエンベディング生成が必要です。

ユースケース

サポートされている機能を有効にするには、次の方法で使用します。

  • エージェントを作成して検証済みクエリを追加する場合(たとえば、定期レポートを作成するデータ サイエンティストの場合)、検証済みクエリでサポートされている AI 関数を使用してデフォルトを記述し、レポートを自動化できます。
  • 会話、またはキーワードを使用した検証済みクエリで、データに関する概要レベルの質問をエージェントにすると、エージェントは質問に対する回答として SQL を生成します。

次の表に、AI 関数または ML 関数の使用を有効にするワンショット プロンプトの例を示します。

ユースケース 使用例 一般公開データセット
予測 「来月の旅行数を予測して。」 bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
異常検出 「2017 年を基準として、2018 年の 1 日あたりの乗車数の外れ値を検出して。」 bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
主な要因 「2017 年と 2018 年の乗車数の変化の主な要因を特定してください。」 bigquery-public-data.austin_bikeshare.bikeshare_trips
LLM テキスト生成 「スポーツ カテゴリの各記事について、本文列を 1 ~ 2 文で要約してください。」 bigquery-public-data.bbc_news.fulltext
セマンティック フィルタリング 「テクノロジー カテゴリの記事で、人工知能のブレークスルーについて説明している記事をフィルタして見つけて。」 bigquery-public-data.bbc_news.fulltext
セマンティック スコアリング 「エンタメ カテゴリの記事について、ポジティブな感情の度合いを示す評価を付けてください。」 bigquery-public-data.bbc_news.fulltext
セマンティック分類 「各レビューに、レビュー担当者の主な焦点(演技、プロット、撮影、演出、その他)のタグを付けます。」 bigquery-public-data.imdb.reviews
セマンティック検索 「『緊張感のある心理スリラー』に最も近い上位 5 件のレビューを探して」 bigquery-public-data.imdb.reviews

グラフのサポート

会話分析では、データソースとしてグラフを使用できます。グラフに関する質問をすると、エージェントは GQL クエリまたは SQL クエリを作成して回答します。エージェントは、グラフのラベルとプロパティで定義した 説明と同義語を使用して、結果の品質を向上させることができます。エージェントは、グラフで定義された指標を利用して、マルチレベルの集計を実行することもできます。レスポンスにグラフパスが含まれている場合は、グラフの可視化が提供されます。

たとえば、[エージェント] ページの BigQuery で Look Graph サンプル エージェントを使用して、bigquery-public-data.thelook_ecommerce.graph グラフについて次のような質問をすることができます。

  • Which product is most popular among 25-year-olds?
  • Show me the connection between bow tie orders and distribution centers

制限事項

グラフをデータソースとして使用する場合は、次の制限事項が適用されます。

  • エージェントまたは会話ごとに、データソースとして使用できるグラフは 1 つだけです。
  • テーブルとグラフをデータソースとして組み合わせることはできません。

セキュリティ

BigQuery の会話型分析へのアクセスは、Conversational Analytics API の IAM ロールと権限を使用して管理できます。特定のオペレーションに必要なロールについては、データ エージェントに必要なロール会話に必要なロールをご覧ください。

会話分析には、次のセキュリティ機能と保護機能が含まれています。

  • アクセス権のあるデータとリソースにのみアクセスできます。
  • VPC-SC セキュリティ管理が適用されます。
  • 書き込みオペレーションを実行できず、DML クエリを実行できません。
  • リモート関数を実行できません。
  • 明示的に選択したナレッジソースにのみアクセスできます。
  • 会話履歴は自分のみと共有されます。他のユーザーと共有することはできません。
  • データ エージェントを作成する場合は、追加するすべてのナレッジソースに対してクエリを実行する権限が必要です。

ロケーション

会話分析では、エージェントと会話リソースの保存を管理する 3 つのロケーションと、ML 処理に使用されるロケーションがサポートされています。

  • US MREP
  • EU MREP
  • グローバル

エージェントと会話を作成する際には、次のデフォルトの動作が適用されます。

  • すべてのナレッジソースが米国のリージョンから取得されている場合は、米国の MREP が使用されます。
  • ナレッジソースがすべて EU のリージョンに由来する場合は、EU MREP が使用されます。
  • それ以外の場合は、グローバル ロケーションが使用されます。

エージェントを作成するときに、必要に応じて別のロケーションを選択できます。エージェントを保存した後に、そのロケーションを変更することはできません。

2026 年 6 月 4 日より前に作成されたエージェントは、グローバル ロケーションにあります。

料金

データ エージェントを作成し、データ エージェントまたはデータソースと会話するときに実行されるクエリに対して、BigQuery のコンピューティング料金が発生します。詳細については、エージェントの料金をご覧ください。

ベスト プラクティス

会話分析を使用する際は、次のベスト プラクティスに従ってください。

  • テーブルをデータソースとして追加する前に、テーブルのデータ クリーニングを行います。

  • 関連するテーブルをビューで結合し、そのビューをデータソースとして使用します。エージェントにデータの正しい結合方法を判断させるのではなく、

  • データに対してプロファイル スキャンを実行します。

  • エージェントのスコープを設定します。範囲が広すぎるエージェントは、指示の競合、曖昧な出力、パフォーマンスの不整合が発生する可能性があります。エージェントで 20 個を超えるデータソースが必要な場合、異なる指標定義を持つチーム間でエージェントを使用する場合、あるタイプの結果を優先して別のタイプの結果を犠牲にする場合は、追加のエージェントの作成を検討してください。

  • エージェントにコンテキストを提供します。コンテキストのタイプには、次の優先順位を付けます。

    1. 検証済みのクエリ。ユーザー プロンプトと一致したときに実行される決定論的 SQL。
    2. 用語集。列をセマンティック コンテキストにリンクする用語の定義。
    3. エージェントの手順。自然言語で記述されたグローバルな動作ルールと定義(会計カレンダーの定義や書式設定ルールなど)。
  • テーブルにテーブルと列の説明を追加します。

  • Knowledge Catalog と BigQuery カスタム用語集で用語集の定義を重複させないでください。

  • プロジェクト レベル、ユーザーレベル、クエリレベルで利用上限を設定して、エージェントの費用を管理します。

  • 会話の中で効果的な質問をする

  • データ エージェントと会話のデータの保持と削除の仕組みを理解します。

制限事項

クエリ、会話、データ、可視化の制限事項について詳しくは、会話分析 API の既知の制限事項をご覧ください。

動的共有割り当て

Gemini Enterprise Agent Platform の動的共有割り当て(DSQ)は、Gemini モデルの容量を管理します。従来の割り当てとは異なり、DSQ では、モデル スループットのプロジェクトごとの固定上限なしで、大規模な共有リソースプールにアクセスできます。

レイテンシなどのパフォーマンスは、システム全体の負荷によって異なる場合があります。共有プール全体で需要が高い場合、一時的な 429 Resource Exhausted エラーが発生することがあります。これらのエラーは、共有プールの容量が一時的に制限されていることを示しますが、プロジェクトの特定の割り当て上限に達したことを示すものではありません。容量を確認するには、少し待ってからリクエストを再試行してください。

エージェントが生成したクエリを特定して分析する

データ エージェントによって実行される BigQuery ジョブには、特定のラベルが含まれます。これらのラベルを使用すると、エージェントのジョブを特定、フィルタ、分析できます。

これらのラベルは、次のタスクに使用できます。

Google Cloud コンソールでデータ エージェントのラベルを特定する

BigQuery は、データ エージェントによって実行されるジョブにラベルを適用します。フィルタリングやその他の分析用のラベルキーを取得するには、Google Cloud コンソールでラベルキーを表示します。

データ エージェントのラベルキーを表示する手順は次のとおりです。

  1. Google Cloud コンソールで、ジョブの詳細を表示します。

  2. [クエリジョブの詳細] ペインで、[ラベル] セクションを見つけて、ca で始まるラベル(ca-bq-job: true など)を探します。

エージェント生成ジョブを分析する

ラベルを使用して、エージェントによって生成されたジョブを分析します。たとえば、データ エージェントによって実行されたジョブの数を確認するには、INFORMATION_SCHEMA.JOBS ビューに対して次のクエリを実行します。

SELECT
  COUNT(*) AS job_count
FROM
  `PROJECT_ID`.`region-REGION`.INFORMATION_SCHEMA.JOBS
WHERE
  EXISTS (
    SELECT 1
    FROM UNNEST(labels) AS label
    WHERE label.key = 'ca-bq-job' AND label.value = 'true'
  );

次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • REGION: ジョブが実行されるリージョン(useu など)。

次のステップ