会話型分析の概要

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

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

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

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

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

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

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

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

データ エージェント

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

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

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

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

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

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

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

会話

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

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

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

データソースとの直接会話を作成すると、 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 ロールと 権限を使用して管理できます。特定の操作に必要なロールについては、データ エージェント に必要なロール会話に必要な ロールをご覧ください。

ロケーション

会話型分析はグローバルに運用されており、使用するリージョンを選択することはできません。

料金

データ エージェントを作成し、データ エージェントまたはデータソースと会話するときに実行されるクエリに対して、BigQuery のコンピューティング 料金が発生します。プレビュー期間中は、データ エージェントおよび会話の作成と使用に対して追加料金はかかりません。

ベスト プラクティス

Conversational Analytics API を使用する際のベスト プラクティスについては、次のガイドをご覧ください。

制限事項

クエリ、会話、データ、 ビジュアリゼーションの制限事項について詳しくは、 Conversational Analytics API の既知の制限事項をご覧ください。

動的共有割り当て

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

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

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

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

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

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

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

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

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

  2. In the [クエリジョブの詳細] ペインで、[ラベル] セクションを見つけて、 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 など)。

次のステップ