会話型データ エージェントを使用すると、自然言語インターフェースを使用してデータベース データを操作できます。これらのエージェントを構築することで、ユーザーは複雑な SQL クエリを記述することなく、運用データベースから分析情報を取得できます。
大まかに言うと、データ エージェントは、ペルソナ、一連のデータソース、目的のために不可欠な一連のビジネス知識へのアクセスを組み合わせたものです。
アプリケーション デベロッパーにとって、これらのエージェントには次のようなメリットがあります。
- 高精度: 作成されたコンテキストを使用することで、特定のビジネス上の質問に対して高精度を実現できます。作成されたコンテキストは、エージェント作成者が精度を高めるために使用できる主な要素です。これには、スキーマの説明、システム指示、予期されるデータベース クエリに関する追加情報を提供する構造化されたコンテキストが含まれます。
- 複雑さの軽減: エージェントは、自然言語を SQL クエリ、実行、さらにはデータの要約や可視化に変換します。
- 柔軟性: 個人テスト用のエージェントを作成することも、公開してプロジェクト内の他のユーザーが利用できるようにすることも、API を使用してプログラムで利用できるようにすることもできます。
始める前に
-
AlloyDB for PostgreSQL、Data Analytics API with Gemini、Gemini for Google Cloud APIs を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。
必要なロール
データ エージェントを操作するには、次のいずれかの Conversational Analytics API Identity and Access Management(IAM)ロールが必要です。
QueryDataメソッドを使用して、サポートされているデータベース ソースからデータをクエリする: プロジェクト レベルの Gemini データ分析データクエリ ユーザー(roles/geminidataanalytics.queryDataUser)。- プロジェクトで独自のデータ エージェントを作成する: プロジェクト レベルの Gemini データ分析データ エージェント作成者(
roles/geminidataanalytics.dataAgentCreator)。このロールにより、作成したデータ エージェントに対する Gemini データ分析データ エージェント オーナーのロールが自動的に付与されます。 - プロジェクト内のすべてのデータ エージェントを編集、共有、削除する: プロジェクト レベルの Gemini データ分析データ エージェント オーナー(
roles/geminidataanalytics.dataAgentOwner)。 - プロジェクト内のすべてのデータ エージェントを表示、編集する: プロジェクト レベルの Gemini データ分析データ エージェント編集者(
roles/geminidataanalytics.dataAgentEditor)。 - プロジェクト内のすべてのデータ エージェントを表示する: プロジェクト レベルの Gemini データ分析データ エージェント閲覧者(
roles/geminidataanalytics.dataAgentViewer)。
また、データ エージェントを作成または編集するには、次のロールが必要です。
- データベース レベルでクラスタに追加された IAM ユーザーまたはサービス アカウント。詳細については、データベース ユーザーを管理するをご覧ください。
- プロジェクト レベルで IAM ユーザーに付与された
alloydb.databaseUserロールとserviceusage.serviceUsageConsumer権限。詳細については、プロジェクトの IAM ポリシー バインディングを追加するをご覧ください。
テーブルの表示やクエリの実行など、AlloyDB リソースを操作するには、AlloyDB の IAM ロールと権限をご覧ください。
データ エージェントを作成する
以降のセクションでは、データ エージェントを作成する方法について説明します。エージェントを作成したら、設定を編集できます。
基本の構成
Google Cloud コンソールで、AlloyDB ページに移動します。
リストからクラスタを選択します。
ナビゲーション メニューで [エージェント] をクリックします。
[エージェント] タブをクリックします。
データベースを選択し、IAM アカウントを使用してログインします。
[新しいエージェント] をクリックします。[新しいエージェント] ページが開きます。
[エディタ] セクションの [エージェント名] フィールドに、データ エージェントのわかりやすい名前(
Q4 sales dataやUser activity logsなど)を入力します。[エージェントの説明] フィールドに、データ エージェントの説明を入力します。適切な説明を付けると、エージェントの機能や使用するデータがわかり、会話に使用するデータ エージェントとして適切かどうかを判断するのに役立ちます。たとえば、
What are the top 10 selling products in Q2?[ナレッジソース] セクションで、[ソースを追加] をクリックします。[データを追加] ページが開きます。
エージェントが質問に回答する際に焦点を当てるテーブルを選択します。他のナレッジソースを表示するには、 [さらに表示] を選択します。
[追加] をクリックします。新しいエージェント ページが再度開きます。
テーブルとフィールドの説明をカスタマイズする
会話型データ エージェントの精度を高めるために、必要に応じて追加のテーブル メタデータを提供できます。このメタデータはデータ エージェントによってのみ使用されるもので、ソーステーブルには影響しません。次のメタデータを追加できます。
- スキーマの説明: エージェントがデータを理解できるように、テーブルと列の説明を追加します。説明を追加しない場合、エージェントはデータ定義のスキーマの説明を使用します。
テーブルとフィールドの説明を追加する際は、次のベスト プラクティスに従ってください。
- データ エージェントの定義だけでなく、データ定義にも説明を追加します。これにより、他のエージェントも説明を利用できるようになります。
- データ エージェントがデータを理解するのに役立つ適切な説明をプロトタイプするには、特定のエージェントに説明を追加します。説明が意図した影響を与えていることを確認したら、データ定義に説明を追加するかどうかを決定できます。
テーブルとフィールドの説明を構成する手順は次のとおりです。
- [エージェント カタログ] タブで、カスタマイズするエージェントを開きます。
- [エージェントを編集] をクリックします。
- [ナレッジ ソース] で、カスタマイズするテーブルを見つけて [カスタマイズ] をクリックします。
- テーブルの説明を入力します。
- フィールドの説明を編集するには、フィールドの横にある [編集] をクリックします。[フィールドを編集] ペインが開きます。
- [ID] フィールドに、フィールドの説明を入力します。
- フィールドの説明を保存するには、[更新] をクリックします。
- 説明とフィールドの更新を保存するには、[更新] をクリックします。新しいエージェント ページが再度開きます。
- カスタマイズするテーブルごとに、この手順を繰り返します。
データ エージェントにラベルを追加する
[エージェント設定] セクションでは、 Google Cloud リソースを整理するためのラベルを作成できます。ラベルは、関連するオブジェクトをまとめてグループ化したり、他の Google Cloudリソースと組み合わせてグループ化できる Key-Value ペアです。
- [エージェント カタログ] タブで、ラベルを追加するエージェントを開きます。
- [エージェントを編集] をクリックします。
- [エージェント設定] セクションで、[ラベルを追加] をクリックします。[ラベルを管理] ペインが開きます。
- [ラベルを追加] をクリックします。
- [キー] フィールドと [値] フィールドに、ラベルの Key-Value ペアを入力します。
- ラベルをさらに追加する場合は、[ラベルを追加] をもう一度クリックします。
- ラベルを削除するには、[削除] をクリックします。
- 完了したら、[追加] をクリックします。新しいエージェント ページが再度開きます。
次のセクションに進んで、エージェントをドラフト モードにするか、エージェントを公開します。
エージェントをプレビューして公開する
[プレビュー] セクションの [質問する] フィールドに質問の例を入力し、Enter キーを押します。
データ エージェントが想定どおりのデータを返すことを確認するには、エージェントのレスポンスを確認します。レスポンスが想定どおりでない場合は、[エディタ] セクションで設定を変更して、満足のいくレスポンスが得られるまでデータ エージェントの構成を調整します。エージェントのテストと修正を反復することで、エージェントの結果を改善できます。
[保存] をクリックします。
データ エージェントを後で再編集できる下書きモードにするには、 [戻る] をクリックして [エージェント カタログ] ページに戻ります。エージェントは下書きモードになっているため、[エージェント カタログ] タブの [下書きエージェント] セクションに表示されます。
エージェントを公開するには、エージェントの作成ページで次の手順に進みます。
データ エージェントを公開してプロジェクトで使用できるようにするには、[公開] をクリックします。エージェントを公開すると、同じデータベース テーブルにアクセスできる他のユーザーが、作成した手順とコンテキストを利用して、エージェントを表示して会話できるようになります。
Google Cloud コンソールの [エージェント] ページを使用して、データ エージェントとの会話を作成できます。また、Conversational Analytics API を使用して、データ エージェントとチャットする独自のインターフェースを構築することもできます。
省略可: [エージェントが公開されました] ダイアログで [共有] をクリックして、データ エージェントを他のユーザーと共有します。
- [共有権限] ペインで、[プリンシパルを追加] をクリックします。
- [新しいプリンシパル] フィールドに、1 つ以上のプリンシパルを入力します。
- [ロールを選択] リストをクリックします。
- [ロール] リストで、次のいずれかのロールを選択します。
- Gemini データ分析データ エージェント ユーザー(
roles/geminidataanalytics.dataAgentUser): データ エージェントとチャットする権限を付与します。 - Gemini データ分析データ エージェント編集者(
roles/geminidataanalytics.dataAgentEditor): データ エージェントを編集する権限を付与します。 - Gemini データ分析データ エージェント閲覧者(
roles/geminidataanalytics.dataAgentViewer): データ エージェントを表示する権限を付与します。
- Gemini データ分析データ エージェント ユーザー(
[保存] をクリックします。
新しいエージェント ページに戻るには、[閉じる] をクリックします。エージェントを保存または公開すると、エージェント カタログに表示されます。
データ エージェントを管理する
既存のエージェントは、[エージェント カタログ] タブで確認できます。このタブは次の 3 つのセクションで構成されています。
- マイ エージェント: 作成して公開したすべてのエージェントのリスト。公開したエージェントは、変更して他のユーザーと共有できます。
- 下書きエージェント: まだ公開していないエージェント。下書きエージェントは共有できません。
- 組織内の他のユーザーが共有: 他のユーザーが作成して共有したエージェント。他のユーザーから権限が付与されている場合は、これらの共有エージェントを編集できます。
データ エージェントを編集する
データ エージェントを編集する手順は次のとおりです。
Google Cloud コンソールで、AlloyDB ページに移動します。
リストからクラスタを選択します。
ナビゲーション メニューで [エージェント] をクリックします。
Identity and Access Management(IAM)認証を使用して Agents にログインします。
[エージェント カタログ] タブをクリックします。
変更するデータ エージェントのエージェント カードを見つけます。
エージェント エディタでデータ エージェントを開くには、エージェント カードで [アクションを開く] をクリックし、[編集] をクリックします。
必要に応じて、データ エージェントの構成を編集します。
変更を公開せずに保存するには、[保存] をクリックします。
変更を公開するには、[公開] をクリックします。[共有] ダイアログで、エージェントを他のユーザーと共有するか、[キャンセル] をクリックします。
[エージェント] ペインに戻るには、 [戻る] をクリックします。
データ エージェントを共有する
公開されたデータ エージェントを共有する手順は次のとおりです。下書きエージェントは共有できません。
Google Cloud コンソールで、AlloyDB ページに移動します。
リストからクラスタを選択します。
ナビゲーション メニューで [エージェント] をクリックします。
Identity and Access Management(IAM)認証を使用して Agents にログインします。
[エージェント カタログ] タブをクリックします。
変更するデータ エージェントのエージェント カードを見つけます。
エージェント エディタでデータ エージェントを開くには、 [アクションを開く] > エージェント カードの [編集] をクリックします。
データ エージェントを他のユーザーと共有するには、[共有] をクリックします。
[共有権限] ペインで、[プリンシパルを追加] をクリックします。
[プリンシパルの追加] フィールドに、1 つ以上のプリンシパルを入力します。
[ロールを選択] をクリックします。
[ロール] リストで、次のいずれかのロールを選択します。
- Gemini データ分析データ エージェント ユーザー(
roles/geminidataanalytics.dataAgentUser): データ エージェントとチャットする権限を付与します。 - Gemini データ分析データ エージェント編集者(
roles/geminidataanalytics.dataAgentEditor): データ エージェントを編集する権限を付与します。 - Gemini データ分析データ エージェント閲覧者(
roles/geminidataanalytics.dataAgentViewer): データ エージェントを表示する権限を付与します。
- Gemini データ分析データ エージェント ユーザー(
[保存] をクリックします。
エージェントの編集ページに戻るには、[閉じる] をクリックします。
[エージェント] ペインに戻るには、 [戻る] をクリックします。
データ エージェントを削除する
Google Cloud コンソールで、AlloyDB ページに移動します。
リストからクラスタを選択します。
ナビゲーション メニューで [エージェント] をクリックします。
Identity and Access Management(IAM)認証を使用して Agents にログインします。
[エージェント カタログ] タブを選択します。
[エージェント カタログ] タブの [エージェント] セクションで、削除するデータ エージェントのエージェント カードを見つけます。
[アクションを開く] > [削除] をクリックします。
[エージェントを削除しますか?] ダイアログで、[削除] をクリックします。エージェントを削除すると、プロジェクトから完全に削除されます。
エージェントを削除すると、既存の会話は表示専用モードで利用できます。削除したエージェントに新しい質問をすることはできません。
ロケーション
会話型分析はグローバルに運用されており、使用するリージョンを選択することはできません。
次のステップ
- AlloyDB の会話型分析の詳細を確認する。
- Conversational Analytics API について詳細を確認する。
- 会話でデータを分析する。
- Gemini データ分析データ エージェント閲覧者(
roles/geminidataanalytics.dataAgentViewer)ロールがデータ エージェントを表示する権限を付与する方法について学習する。