会話型分析の概要
BigQuery の会話型分析では、自然言語を使用してデータについてエージェントとチャットできます。データに関する回答を得るには、次の操作を行います。
- 選択したテーブル、ビュー、グラフ、ユーザー定義関数(UDF)などのナレッジソースのセットに対して、データ コンテキストとクエリ処理の指示を自動的に定義するデータ エージェントを作成します。
- 必要に応じて、カスタム テーブルとフィールドのメタデータ、データを解釈してクエリを実行するためのエージェントへの指示の形式でエージェントのコンテキストと指示を作成できます。また、検証済みクエリ(以前はゴールデン クエリと呼ばれていました)を作成して、特定のユースケースの質問に対してデータ エージェントが効果的に回答するように構成することもできます。
エージェントをカスタマイズする前に、エージェントが作成するコンテキストと指示を使用することをおすすめします。
エージェントに提供するコンテキストと指示の例を次に示します。
- コンテキスト 。売上分析用のデータ エージェントは、「トップ パフォーマー」が単に成約数の多い営業担当者ではなく、収益が最も高い営業担当者を指すことを理解するように構成できます。
- 指示 。「傾向」について質問されたときに、常に最新四半期のデータにフィルタする、またはデフォルトで「商品カテゴリ」で結果をグループ化するようにデータ エージェントに指示できます。
データ エージェントを作成したら、 会話を通じて自然言語を使用して BigQuery データに関する質問をすることができます。また、1 つ以上の データソースとの 直接会話を作成し、単発の質問の答えをすぐに得ることもできます。
会話型分析は Gemini for Google Cloud を基盤としており、一部の BigQuery AI と ML の機能をサポートしています。詳細については、BigQuery AI と ML のサポートをご覧ください。
Gemini for Google Cloud がデータを使用する方法とタイミングに関する説明をご覧ください。
データ エージェント
データ エージェントは、1 つ以上のナレッジソースと、そのデータを処理するためのユースケース固有の指示のセットで構成されています。データ エージェントを作成するときに、次のオプションを使用して構成できます。
- テーブル、ビュー、UDF などのナレッジソースをデータ エージェントで使用します。 ソースとしてボーダーレス レイクハウス テーブルに接続することもできます。詳細については、 自然言語でレイクハウス テーブルにクエリを実行するをご覧ください。
- 特定のユースケースに最適な形でデータを記述するカスタム テーブルとフィールドのメタデータを提供します。
- データの解釈とクエリの指示を提供します。たとえば、次のように定義します。
- フィールド名の類義語とビジネス用語
- 最も重要なフィールドとフィルタリングとグループ化のデフォルト
- データ エージェントがエージェントのレスポンス構造を形成し、組織で使用するビジネス ロジックを学習するために使用できる検証済みクエリを作成します。 検証済みクエリは、以前はゴールデン クエリと呼ばれていました。 検証済み クエリでは、サポートされている BigQuery AI と ML の関数 を使用でき、クエリ パラメータをサポートしています。
- エージェントごとに BigQuery カスタム用語集の用語を作成するか、Knowledge Catalog からビジネス用語集の用語をインポートします。これらの用語は、エージェントがユーザー プロンプトを解釈するのに役立ちます。各タイプを使用するタイミングについては、 用語集の用語を作成または確認するをご覧ください。
データ エージェントを管理する
コンソールの Google Cloud [エージェント カタログ]タブで、次の種類のデータ エージェントを作成、管理、操作できます。
- プロジェクト Google Cloud ごとに事前定義されたサンプル エージェント。
- 下書き、作成、公開したエージェントのリスト。
- 他のユーザーが作成して共有したエージェントのリスト。
詳細については、データ エージェントを作成するをご覧ください。
データ エージェントをサポートするプロジェクト内の他のサービス( Conversational Analytics API や データポータルなど)は、 BigQuery で作成したデータ エージェントにアクセスできます。また、 Conversational Analytics APIを使用して呼び出すことで、 Google Cloud コンソールで作成したエージェントに アクセスすることもできます。
会話
会話とは、データ エージェントまたはデータソースとの永続化されたチャットです。ユーザーは、テーブル フィールド名を指定したり、データのフィルタ条件を定義したりすることなく、「売上」や「最も人気がある」といった一般的な言葉を使用してデータ エージェントにマルチパートの質問をすることができます。PDF などのオブジェクトにあるデータについて質問することもできます。エージェントは、レスポンスを構築するときに、クエリを実行するデータソースを特定し、テーブル パーティションや検索インデックスなどの最適化を利用できます。
返信されるチャット レスポンスには、次の機能があります。
- 質問への回答をテキスト、コード、画像(マルチモーダル)で表示します。回答には、サポートされている BigQuery AI と ML の関数を含めることができます。
- 必要に応じてグラフを生成します。
- 結果の背後にあるエージェントの推論。
- 使用されたエージェントやデータソースなど、会話に関するメタデータ。
データソースとの直接会話を作成すると、 Conversational Analytics API は、 データエージェントから提供されるコンテキストと処理の指示を使用せずにユーザーからの質問を解釈します。そのため、直接会話の結果は正確さが低い可能性があります。正確さが求められる場合は、データ エージェントを使用してください。
Google Cloud コンソールを使用して、BigQuery で会話を作成して管理できます。詳細については、会話でデータを分析するをご覧ください。
BigQuery AI と ML のサポート
会話型分析は、データ エージェントとデータソースとのチャットへの応答、および作成した検証済み SQL クエリで、次の AI と ML の関数をサポートしています。
AI.FORECASTAI.DETECT_ANOMALIESAI.KEY_DRIVERSAI.GENERATEAI.IFAI.SCOREAI.CLASSIFYAI.SIMILARITYAI.SEARCHAI.AGGAI.PREDICTML.DETECT_CHANGE_POINTSML.SEASONALITYML.TRENDML.DESCRIBE_DATAML.CORRELATION
生成 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 |
| セマンティック集計 | 「イングリッシュ ペイシェントのレビューを要約してください。」 | bigquery-public-data.imdb.reviews |
| 予測モデリング | 「ペンギンの体重を予測してください。」 | bigquery-public-data.ml_datasets.penguins |
| 変化ポイントの検出 | 「1 日あたりの乗車数の変化ポイントを検出してください。」 | bigquery-public-data.san_francisco_bikeshare.bikeshare_trips |
| 季節性分析 | 「2017 年の 1 日あたりの乗車数の季節性パターンを分析してください。」 | bigquery-public-data.san_francisco_bikeshare.bikeshare_trips |
| トレンド分析 | 「2017 年の 1 日あたりの乗車数の長期的な傾向を分析してください。」 | bigquery-public-data.san_francisco_bikeshare.bikeshare_trips |
| データのプロファイリング | 「テーブルをプロファイリングして、データの不整合がないか確認してください。」 | bigquery-public-data.ml_datasets.census_adult_income |
| 相関分析 | 「体重は、フリッパーの長さ、嘴の長さ、嘴の奥行きとどのように相関していますか?」 | bigquery-public-data.ml_datasets.penguins |
分析タスクのサポート
会話型分析は、 購入パターンを明らかにする手法である マーケット バスケット分析( アソシエーション ルール学習とも呼ばれます)をサポートしています。この分析では、1 回のトランザクションで一緒に購入されることが多いアイテム間の関係を特定します。
たとえば、データソースとして bigquery-public-data.iowa_liquor_sales.sales
テーブルを使用する会話で、次の質問をすることができます。
What are the best product bundling opportunities based on data from 2025?
会話型分析では、組み込みの SQL テンプレートを使用して、レバレッジ、サポート、信頼度、リフトの指標を含む正確なレスポンスを返します。
グラフのサポート
会話型分析では、グラフ をデータソースとして使用できます。グラフについて質問すると、エージェントは回答するための SQL クエリを作成します。エージェントは、 グラフのラベルと プロパティで定義した 説明と類義語を使用して、結果の品質を向上させることができます。 エージェントは、グラフで定義された指標 を利用して、マルチレベル集計を実行することもできます。Enterprise または Enterprise Plus エディションをご利用の場合、 エージェントはグラフに対して GQL クエリを実行できます。 レスポンスにグラフパスが含まれている場合は、グラフの可視化が提供されます。
たとえば、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
- グローバル
エージェントと会話を作成する場合、次のデフォルトの動作が適用されます。
- すべてのナレッジソースが米国のリージョンからのものである場合は、US MREP が使用されます。
- すべてのナレッジソースが EU のリージョンからのものである場合は、EU MREP が使用されます。
- それ以外の場合は、グローバル ロケーションが使用されます。
エージェントを作成するときに、別のロケーションを選択することもできます。エージェントを保存した後は、そのロケーションを変更できません。
2026 年 6 月 4 日より前に作成されたエージェントは、グローバル ロケーションにあります。
料金
データ エージェントを作成し、データ エージェントまたはデータソースと会話するときに実行されるクエリに対して、BigQuery のコンピューティング 料金が発生します。詳細については、 エージェントの料金をご覧ください。
ベスト プラクティス
会話型分析を使用する場合は、次のベスト プラクティスに従ってください。
テーブルをデータソースとして追加する前に、テーブルでデータ クリーニングを実行します。
エージェントにデータの結合方法を判断させるのではなく、関連するテーブルをビューに結合し、そのビューをデータソースとして使用します。
エージェントのスコープを設定します。スコープが広いエージェントでは、指示の競合、曖昧な出力、パフォーマンスの不整合が発生する可能性があります。エージェントで 20 個を超えるデータソースが必要な場合、指標の定義が異なるチームで使用されている場合、またはあるタイプの結果を優先して別のタイプの結果を犠牲にする場合は、追加のエージェントの作成を検討してください。
エージェントにコンテキストを提供します。コンテキストのタイプは、次の優先順位で設定します。
- 検証済みクエリ 。ユーザー プロンプトに一致したときに実行される決定論的 SQL。
- 用語集 。列をセマンティック コンテキストにリンクする用語の定義。
- エージェントの指示 。会計カレンダーの定義や書式設定ルールなど、自然言語で記述されたグローバルな動作ルールと定義。
テーブルにテーブルと列の説明を追加します。
Knowledge Catalog と BigQuery カスタム用語集で用語集の定義を重複させないでください。
プロジェクト レベル、ユーザーレベル、クエリレベルで利用上限を設定して、 エージェントの費用を管理します。
データ エージェントと会話の データの保持と削除 の仕組みを理解します。
制限事項
エージェントに追加できるナレッジソースは 100 個までです。
クエリ、会話、データ、 可視化の制限事項について詳しくは、 Conversational Analytics API の既知の制限事項をご覧ください。
動的共有割り当て
Gemini Enterprise Agent Platform の動的共有割り当て(DSQ)は、Gemini モデルの容量を管理します。従来の割り当てとは異なり、DSQ では、モデルのスループットに対するプロジェクトごとの固定上限なしで、リソースの大きな共有プールにアクセスできます。
レイテンシなどのパフォーマンスは、システム全体の負荷によって異なる場合があります。共有プール全体で需要が高い場合は、一時的に 429 Resource Exhausted エラーが発生することがあります。これらのエラーは、共有プールの容量が一時的に制限されていることを示しますが、プロジェクトの特定の割り当て上限に達したことを示すものではありません。容量を確認するには、しばらく待ってからリクエストを再試行してください。
エージェントが生成したクエリを特定して分析する
データ エージェントによって実行される BigQuery ジョブには、特定のラベルが含まれます。これらのラベルを使用すると、エージェントのジョブを特定、フィルタ、分析できます。
これらのラベルは、次のタスクに使用できます。
- ラベルで請求レポートをフィルタして 、エージェントの費用を把握します。
- エージェントのアクティビティを監査します。
- クエリ パフォーマンスを分析します。
データ エージェントのラベルを特定する
BigQuery は、会話型分析によって実行されるジョブにラベルを適用します。これらのラベルは、ジョブリソースの 64 個のラベル上限にカウントされます。フィルタリングやその他の分析に使用するラベルを取得するには、 Google Cloud コンソールでラベルを表示します。カスタムラベルをデータエージェントに 適用 することもできます。カスタムラベルを使用して、システム生成ラベルをオーバーライドすることはできません。
データ エージェントのラベルを表示する手順は次のとおりです。
コンソール Google Cloud で、 ジョ/ブの詳細を表示します。
[クエリジョブの詳細] パネルで、[ラベル] セクションを見つけて、次のラベルを探します。
ca-bq-job: trueは、会話型分析を使用してジョブが実行されたことを示します。data-agent-id: DATA_AGENT_IDは、 ジョブがデータ エージェントによって実行されたことを示します。値は、データ エージェント リソース名から抽出されたリソース ID セグメントです。conversation-id: CONVERSATION_IDは、 ジョブが会話に関連付けられていることを示します。値は、会話リソース名から抽出された ID セグメントです。
エージェントが生成したジョブを分析する
ラベルを使用して、エージェントが生成したジョブを分析します。たとえば、データ エージェントによって実行されたジョブの数を確認するには、
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: ジョブが実行されるリージョン(usやeuなど)。
次のステップ
- Conversational Analytics API について詳細を確認する。
- データ エージェントを作成する。
- 会話でデータを分析する。
- レイクハウスで会話型分析を使用する。
- ラベルを使用してリソースをフィルタする方法を学習する。