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