データ エージェントを作成する

会話型データ エージェントを使用すると、自然言語インターフェースを使用してデータベース データを操作できます。これらのエージェントを構築することで、ユーザーは複雑な SQL クエリを記述することなく、運用データベースから分析情報を取得できます。

大まかに言うと、データ エージェントは、ペルソナ、一連のデータソース、目的のために不可欠な一連のビジネス知識へのアクセスを組み合わせたものです。

アプリケーション デベロッパーにとって、これらのエージェントには次のようなメリットがあります。

  • 高い精度: 作成されたコンテキストを使用することで、特定のビジネス上の質問に対して高い精度を実現できます。作成されたコンテキストは、エージェント作成者が精度を高めるために使用できる主な要素です。これには、スキーマの説明、システム指示、想定されるデータベース クエリに関する追加情報を提供する構造化されたコンテキストが含まれます。
  • 複雑さの軽減: エージェントは、自然言語を SQL クエリ、実行、さらにはデータの要約や可視化に変換します。
  • 柔軟性: 個人テスト用のエージェントを作成することも、公開してプロジェクト内の他のユーザーが利用できるようにすることも、API を使用してプログラムで利用できるようにすることもできます。

始める前に

  1. Google Cloud プロジェクトに対して課金が有効になっていることを確認します

  2. Cloud SQL、Data Analytics API with Gemini、Gemini for Google Cloud APIs を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。

    API を有効にする

必要なロール

データ エージェントを操作するには、ユースケースに一致する IAM 権限が必要です。次の表に、エージェントの作成と公開、Gemini Enterprise でのエージェントのプロビジョニング、エージェントの検出と使用のいずれを行うかに基づいて、必要なロールを示します。詳細については、Conversational Analytics API の Identity and Access Management ロールをご覧ください。

ユースケース 必要なロール
エージェントの作成、編集、公開、共有、削除
  • プロジェクトにデータ エージェントを作成する: プロジェクトに対する Gemini データ分析データ エージェント作成者(roles/geminidataanalytics.dataAgentCreator)。このロールにより、作成したデータ エージェントに対する Gemini データ分析データ エージェント オーナーのロールが自動的に付与されます。
  • データ エージェントを編集、共有、削除する: エージェントまたはプロジェクトに対する Gemini データ分析データ エージェント オーナー(roles/geminidataanalytics.dataAgentOwner)。
  • プロジェクト内のデータ エージェントを編集する: プロジェクトに対する Gemini データ分析データ エージェント編集者(roles/geminidataanalytics.dataAgentEditor)。
  • プロジェクト内のデータ エージェントを表示する: プロジェクトに対する Gemini データ分析データ エージェント閲覧者(roles/geminidataanalytics.dataAgentViewer)。
  • また、データ エージェントを作成または編集するには、次のロールが必要です。
Gemini Enterprise でエージェントをプロビジョニングする

公開されたエージェントを Gemini Enterprise のユーザーが利用できるようにするには、Gemini Enterprise 管理コンソールで A2A エージェントを登録して管理する権限が必要です。

エージェントを見つけて使用する
  • データ エージェントとチャットする: Gemini データ分析データ エージェント ユーザー(roles/geminidataanalytics.dataAgentUser)。
  • プロジェクト内のすべてのデータ エージェントを表示する: Gemini データ分析データ エージェント閲覧者(roles/geminidataanalytics.dataAgentViewer)。

Cloud SQL for MySQL データベース リソースへのアクセスを管理する場合は、次の権限レイヤを考慮してください。

  • Google Cloud IAM: クラウド リソースとしてデータベース インスタンスへのアクセスを制御します。これには、executeSql 権限を使用して接続、インスタンスの管理、SQL クエリの実行を行う権限が含まれます。
  • データベース権限: テーブル、ビュー、スキーマなどのデータベース内のオブジェクトへのアクセスを制御します。これらは、GRANT などの SQL コマンドと、データベース固有のユーザーとロールのシステムを使用して管理されます。

Cloud SQL for MySQL の場合、インスタンスに接続してクエリを送信する権限を付与するには、適切な Cloud SQL IAM ロールが必要です。テーブルやビューなどのオブジェクトを操作するには、接続するデータベース ユーザーに、Cloud SQL for MySQL GRANT システムを使用して必要な権限が付与されている必要があります。詳細については、Cloud SQL for MySQL ユーザーについてをご覧ください。エージェントがサービス アカウントを使用している場合は、データベース ロールを割り当てることができます。たとえば、IAM データベース認証でユーザーを管理するをご覧ください。

データ エージェントを作成する

以降のセクションでは、データ エージェントを作成する方法について説明します。エージェントを作成したら、設定を編集できます。

基本の構成

  1. Google Cloud コンソールで、Cloud SQL for MySQL ページに移動します。

    Cloud SQL に移動

  2. リストからインスタンスを選択します。

  3. ナビゲーション メニューで [エージェント] をクリックします。

  4. [エージェント] タブをクリックします。

  5. データベースを選択し、IAM アカウントを使用してログインします。

  6. [新しいエージェント] をクリックします。[新しいエージェント] ページが開きます。

  7. [エディタ] セクションの [エージェント名] フィールドに、データ エージェントのわかりやすい名前(Q4 sales dataUser activity logs など)を入力します。

  8. [エージェントの説明] フィールドに、データ エージェントの説明を入力します。適切な説明を付けておくと、エージェントの動作や使用するデータがわかり、会話に使用するデータ エージェントとして適切かどうかを判断する際に役立ちます(例: What are the top 10 selling products in Q2?)。

  9. [ナレッジ ソース] セクションで、[ソースを追加] をクリックします。[データを追加] ページが開きます。

  10. エージェントが質問に回答する際に焦点を当てるテーブルを選択します。他のナレッジソースを表示するには、 [さらに表示] を選択します。

  11. [追加] をクリックします。新しいエージェント ページが再度開きます。

テーブルとフィールドの説明をカスタマイズする

会話型データ エージェントの精度を高めるために、必要に応じて追加のテーブル メタデータを提供できます。このメタデータはデータ エージェントによってのみ使用されるもので、ソーステーブルには影響しません。次のメタデータを追加できます。

  • スキーマの説明: エージェントがデータを理解できるように、テーブルと列の説明を追加します。説明を追加しない場合、エージェントはデータ定義のスキーマの説明を使用します。

テーブルとフィールドの説明を追加する際は、次のベスト プラクティスに従ってください。

  • データ エージェントの定義だけでなく、データ定義にも説明を追加します。これにより、他のエージェントも説明のメリットを享受できます。
  • データ エージェントがデータを理解するのに役立つ適切な説明をプロトタイプするには、特定のエージェントに説明を追加します。説明が意図した影響を与えていることを確認したら、データ定義に説明を追加するかどうかを決定できます。

テーブルとフィールドの説明を構成する手順は次のとおりです。

  1. [エージェント カタログ] タブで、カスタマイズするエージェントを開きます。
  2. [エージェントを編集] をクリックします。
  3. [ナレッジ ソース] で、カスタマイズするテーブルを見つけて [カスタマイズ] をクリックします。
  4. テーブルの説明を入力します。
  5. フィールドの説明を編集するには、フィールドの横にある [編集] をクリックします。[フィールドを編集] ペインが開きます。
    1. [ID] フィールドに、フィールドの説明を入力します。
    2. フィールドの説明を保存するには、[更新] をクリックします。
  6. 説明とフィールドの更新を保存するには、[更新] をクリックします。新しいエージェント ページが再度開きます。
  7. カスタマイズするテーブルごとに、この手順を繰り返します。

データ エージェントにラベルを追加する

[エージェント設定] セクションでは、 Google Cloud リソースを整理するためのラベルを作成できます。ラベルは、関連するオブジェクトをまとめてグループ化したり、他の Google Cloudリソースと組み合わせてグループ化できる Key-Value ペアです。

  1. [エージェント カタログ] タブで、ラベルを追加するエージェントを開きます。
  2. [エージェントを編集] をクリックします。
  3. [エージェントの設定] セクションで、[ラベルを追加] をクリックします。[ラベルの管理] ペインが開きます。
  4. [ラベルを追加] をクリックします。
  5. [キー] フィールドと [] フィールドに、ラベルの Key-Value ペアを入力します。
  6. ラベルをさらに追加する場合は、[ラベルを追加] をもう一度クリックします。
  7. ラベルを削除するには、[削除] をクリックします。
  8. 完了したら、[追加] をクリックします。新しいエージェント ページが再度開きます。

次のセクションに進んで、エージェントをドラフト モードにするか、エージェントを公開します。

エージェントをプレビューして公開する

  1. [プレビュー] セクションの [質問する] フィールドに質問の例を入力し、Enter キーを押します。

    データ エージェントが想定どおりのデータを返したことを確認するには、エージェントのレスポンスを確認します。回答が適切でない場合は、[エディタ] セクションで設定を変更して、満足のいく回答が得られるまでデータ エージェントの構成を調整します。エージェントのテストと修正を反復することで、エージェントの結果を改善できます。

  2. [保存] をクリックします。

  3. データ エージェントを後で再編集できる下書きモードにするには、 [戻る] をクリックして [エージェント カタログ] ページに戻ります。エージェントが下書きモードになったため、[エージェント カタログ] タブの [マイ下書きエージェント] セクションに表示されます。

    エージェントを公開するには、エージェントの作成ページで次の手順に進みます。

  4. データ エージェントを公開してプロジェクトで使用できるようにするには、[公開] をクリックします。エージェントを公開すると、同じデータベース テーブルにアクセスできる他のユーザーが、作成した手順とコンテキストを利用して、エージェントを表示し、会話できるようになります。

    データ エージェントとの会話は、 Google Cloud コンソールの [エージェント] ページを使用して作成できます。また、Conversational Analytics API を使用して、データ エージェントとチャットする独自のインターフェースを構築することもできます。

  5. 省略可: [エージェントが公開されました] ダイアログで [共有] をクリックして、データ エージェントを他のユーザーと共有します。

    1. [共有権限] ペインで、[プリンシパルを追加] をクリックします。
    2. [新しいプリンシパル] フィールドに、1 つ以上のプリンシパルを入力します。
    3. [ロールを選択] リストをクリックします。
    4. [ロール] リストで、次のいずれかのロールを選択します。
      • Gemini データ分析データ エージェント ユーザー(roles/geminidataanalytics.dataAgentUser): データ エージェントとチャットする権限を付与します。
      • Gemini データ分析データ エージェント編集者(roles/geminidataanalytics.dataAgentEditor): データ エージェントを編集する権限を付与します。
      • Gemini データ分析データ エージェント閲覧者(roles/geminidataanalytics.dataAgentViewer): データ エージェントを表示する権限を付与します。
    5. [保存] をクリックします。
  6. 省略可: データ エージェントを Gemini Enterprise に公開できます。詳細については、Gemini Enterprise でデータ エージェントを公開するをご覧ください。

  7. 新しいエージェント ページに戻るには、[閉じる] をクリックします。エージェントを保存または公開すると、エージェント カタログに表示されます。

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

既存のエージェントは [エージェント カタログ] タブで確認できます。このタブは次の 3 つのセクションで構成されています。

  • エージェント: 作成して公開したすべてのエージェントのリスト。公開したエージェントは、変更して他のユーザーと共有できます。
  • 下書きのエージェント: まだ公開していないエージェント。ドラフト エージェントを共有することはできません。
  • 組織内の他のユーザーが共有: 他のユーザーが作成して共有したエージェント。他のユーザーから権限が付与されている場合は、これらの共有エージェントを編集できます。

データ エージェントを編集する

データ エージェントを編集する手順は次のとおりです。

  1. Google Cloud コンソールで、Cloud SQL for MySQL ページに移動します。

    Cloud SQL に移動

  2. リストからインスタンスを選択します。

  3. ナビゲーション メニューで [エージェント] をクリックします。

  4. Identity and Access Management(IAM)認証を使用して Agents にログインします。

  5. [エージェント カタログ] タブをクリックします。

  6. 変更するデータ エージェントのエージェント カードを見つけます。

  7. エージェント エディタでデータ エージェントを開くには、エージェント カードで [アクションを開く] をクリックし、[編集] をクリックします。

  8. 必要に応じて、データ エージェントの構成を編集します。

  9. 変更を公開せずに保存するには、[保存] をクリックします。

  10. 変更を公開するには、[公開] をクリックします。[共有] ダイアログで、エージェントを他のユーザーと共有するか、[キャンセル] をクリックします。

  11. [エージェント] ペインに戻るには、 [戻る] をクリックします。

データ エージェントを共有する

公開されたデータ エージェントを共有する手順は次のとおりです。下書きエージェントは共有できません。

  1. Google Cloud コンソールで、Cloud SQL for MySQL ページに移動します。

    Cloud SQL に移動

  2. リストからインスタンスを選択します。

  3. ナビゲーション メニューで [エージェント] をクリックします。

  4. Identity and Access Management(IAM)認証を使用して Agents にログインします。

  5. [エージェント カタログ] タブをクリックします。

  6. 変更するデータ エージェントのエージェント カードを見つけます。

  7. エージェント エディタでデータ エージェントを開くには、 [アクションを開く] > エージェント カードの [編集] をクリックします。

  8. データ エージェントを他のユーザーと共有するには、[共有] をクリックします。

  9. [共有権限] ペインで、[プリンシパルを追加] をクリックします。

  10. [プリンシパルの追加] フィールドに、1 つ以上のプリンシパルを入力します。

  11. [ロールを選択] をクリックします。

  12. [ロール] リストで、次のいずれかのロールを選択します。

    • Gemini データ分析データ エージェント ユーザー(roles/geminidataanalytics.dataAgentUser): データ エージェントとチャットする権限を付与します。
    • Gemini データ分析データ エージェント編集者(roles/geminidataanalytics.dataAgentEditor): データ エージェントを編集する権限を付与します。
    • Gemini データ分析データ エージェント閲覧者(roles/geminidataanalytics.dataAgentViewer): データ エージェントを表示する権限を付与します。
  13. [保存] をクリックします。

  14. エージェントの編集ページに戻るには、[閉じる] をクリックします。

  15. [エージェント] ペインに戻るには、 [戻る] をクリックします。

データ エージェントを削除する

  1. Google Cloud コンソールで、Cloud SQL for MySQL ページに移動します。

    Cloud SQL に移動

  2. リストからインスタンスを選択します。

  3. ナビゲーション メニューで [エージェント] をクリックします。

  4. Identity and Access Management(IAM)認証を使用して Agents にログインします。

  5. [エージェント カタログ] タブを選択します。

  6. [エージェント カタログ] タブの [エージェント] セクションで、削除するデータ エージェントのエージェント カードを見つけます。

  7. [アクションを開く] > [削除] をクリックします。

  8. [エージェントを削除しますか?] ダイアログで、[削除] をクリックします。エージェントを削除すると、プロジェクトから完全に削除されます。

    エージェントを削除すると、既存の会話は表示専用モードで利用できます。削除されたエージェントに新しい質問をすることはできません。

Gemini Enterprise でデータ エージェントを公開する

データ エージェントの公開には、データ アナリスト、Gemini Enterprise 管理者、ビジネス ユーザー間のコラボレーションが必要です。これらのユーザーに必要なロールについては、必要なロールをご覧ください。

エージェントを作成して公開する

エージェントを作成、編集、公開する手順は次のとおりです。

  1. Cloud SQL for MySQL でデータ エージェントを作成または編集します。
  2. エージェントを公開します。エージェントを公開するときに、公開オプションとして [Gemini Enterprise] を選択します。
  3. A2A エンドポイント JSON をコピーするには、[JSON をコピー] をクリックします。
  4. A2A エンドポイント JSON とユーザーのリストを Gemini Enterprise 管理者と共有します。これにより、管理者は Google Cloud コンソールでカスタム エージェントを登録し、アクセス権限を構成できます。詳細については、エージェントをプロビジョニングするをご覧ください。
  5. アクセス権限が必要なユーザーとグループとエージェントを共有します。

エージェントをプロビジョニングする

公開したエージェントを Google Cloud コンソールのユーザーが利用できるようにする手順は次のとおりです。

  1. Google Cloud コンソールで、[Gemini Enterprise] に移動します。

    Gemini Enterprise

  2. エージェントを登録するアプリの名前をクリックします。

  3. [エージェント] > [エージェントの追加] をクリックします。

  4. [エージェント タイプの選択] セクションで、[A2A によるカスタム エージェント] の [追加] をクリックします。

  5. [エージェント カードの JSON] フィールドに、データ アナリストから以前に受け取ったエージェント カードの詳細を JSON 形式で入力します。

  6. [エージェントの詳細をプレビュー] > [次へ] をクリックします。

  7. エージェントがユーザーに代わって Google Cloud リソースにアクセスできるようにするには、次の操作を行います。

    1. 認可の詳細を構成するで生成したクライアント IDクライアント シークレットを入力します。

    2. [Authorization URI] フィールドに、次のように入力します。

      https://accounts.google.com/o/oauth2/v2/auth?client_id=client_id&redirect_uri=https%3A%2F%2Fvertexaisearch.cloud.google.com%2Fstatic%2Foauth%2Foauth.html&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&include_granted_scopes=true&response_type=code&access_type=offline&prompt=consent

      client_id は、認可の詳細を構成するで生成したクライアント ID に置き換えます。

    3. [トークン URI] フィールドに、次のように入力します。

      https://oauth2.googleapis.com/token
    4. [スコープ] フィールドに、次のように入力します。

      https://www.googleapis.com/auth/cloud-platform
  8. [完了] をクリックします。

  9. ユーザーまたはグループとエージェントを共有します。

詳細については、A2A エージェントを登録して管理するをご覧ください。

エージェントを検索して使用する

Gemini Enterprise でデータ エージェントを見つけて使用するには、次のいずれかの方法を使用します。

  • Agent Gallery でエージェントを見つけて、専用のチャットを開始します。
  • エージェントの専用 URL を使用して、特定の Cloud SQL for MySQL データ エージェントとのセッションで Gemini Enterprise を直接開きます。
  • Gemini Enterprise コアチャットで @mention@sales_pipeline_agent など)を記述して、エージェントを呼び出します。
  • 「過去 3 か月間の販売パイプラインの傾向はどうですか?」などの一般的な分析に関する質問をすると、Gemini Enterprise がクエリを関連するデータ エージェントに自動的に転送します。

エージェントを見つけたら、次のいずれかの方法で操作できます。

  • 1 回限りの OAuth ログインを完了して、Cloud SQL for MySQL に対して安全に認証します。
  • 自然言語で質問します。会話分析エージェントはリクエストを処理し、レスポンスをテキスト、マークダウン、グラフ、表として Gemini Enterprise にストリーミングします。
  • 会話の履歴は、履歴ペインで確認できます。会話は自動的に保存されます。

ロケーション

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

次のステップ