このドキュメントでは、Google Cloudの AI を活用したコラボレーターである Gemini を使用して、AlloyDB for PostgreSQL で次のことを行う方法について説明します。
Gemini for Google Cloud がデータを使用する方法とタイミングに関する説明をご覧ください。
このドキュメントは、AlloyDB に精通しており、SQL とデータ分析にもある程度精通しているデータベース管理者とデータ エンジニアを対象としています。AlloyDB を初めて使用する場合は、AlloyDB の概要をご覧ください。
始める前に
Gemini Cloud Assist が Google Cloud ユーザー アカウントとプロジェクト用に設定されていることを確認します。
省略可: このドキュメントの例に沿って操作する場合は、次のスキーマを使用して
Singers
テーブルを作成します。CREATE TABLE Singers ( BirthDate TIMESTAMPTZ, SingerId BIGINT PRIMARY KEY, FirstName VARCHAR(1024), LastName VARCHAR(1024), SingerInfo BYTEA );
Singers
テーブルを作成した後に、refresh [更新] をクリックしてデータベース スキーマを更新します。
AlloyDB で Gemini の機能を無効にするには、この手順を繰り返して、無効にする Gemini 機能の選択を解除します。
必要なロールと権限
AlloyDB で Gemini を使用するには、次の権限が必要です。
alloydb.clusters.get
alloydb.databases.list
alloydb.instances.executeSql
alloydb.instances.list
alloydb.users.list
この権限は、roles/alloydb.admin
ロールを介して取得できます。このロールを付与されていない場合は、組織管理者に連絡してアクセス権をリクエストしてください。必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
また、認証に使用しているデータベースに対して、データベース レベルの権限があることを確認します。
自然言語プロンプトを使用して SQL クエリを生成する
Gemini に自然言語でのコメント(プロンプトともいいます)を与えて、スキーマに基づくクエリを生成できます。たとえば、Gemini へのプロンプトを次のように指定すると、その応答として SQL が生成されます。
- 「顧客満足度アンケートの結果を追跡する表を作成します。」
- 「Singers テーブルに誕生日という日付列を追加します。」
- 「90 年代に生まれた歌手は何人ですか?」
スキーマが変化する(たとえば新しいテーブルや列の追加)場合は、Gemini を使用する前に、refresh [更新] をクリックしてスキーマを更新する必要があります。
Gemini のアシスト機能を使用して AlloyDB で SQL を生成する手順は以下のとおりです。
Google Cloud コンソールで、[AlloyDB] ページを開きます。
リストからクラスタを選択します。
ナビゲーション メニューで [AlloyDB] をクリックします。
データベースとユーザーを選択し、ユーザーのパスワードを入力します。
[認証] をクリックします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。
データベースにクエリを実行するには、SQL の生成が有効になっていることを確認します。
[新しい SQL エディタ] タブをクリックします。SQL を生成するには、
--
で始まり 単一行コメントが続くコメントを Query Editor に入力してから、Return キーを押します。たとえば、プロンプト
-- add a row to table singers
を入力して Return を押すと、Gemini によって次のような SQL が生成されます。INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate) VALUES (1, Alex, 'M.', '1977-10-16');
Singers
テーブルを使用して例を続行するために、プロンプト-- show all singers born in the 70s
を入力すると、Gemini によって次のような SQL が生成されます。SELECT * FROM Singers WHERE Singers.BirthDate BETWEEN '1970-01-01' AND '1979-12-31'
SQL の提案を確認し、次のいずれかの操作を行います。
- Gemini によって生成された SQL を受け入れるためのオプションを表示するには、クエリの上にポインタを置きます。次のオプションが表示されます。
- 同意: 提案されたクエリを受け入れるには、
Tab
キーを押してから [実行] をクリックします。 - 単語を採用: 提案されたクエリを部分的に受け入れるには、
Control
+Right arrow
(macOS ではCommand
+Right arrow
)キーを押してから [実行] をクリックします。
- 同意: 提案されたクエリを受け入れるには、
- 元の SQL を編集するには、
Tab
キーを押し、SQL を編集してから、[実行] をクリックします。 - 提案を受け入れない場合は、
Esc
キーを押すか、キーボードからの入力を続けます。
- Gemini によって生成された SQL を受け入れるためのオプションを表示するには、クエリの上にポインタを置きます。次のオプションが表示されます。
コーディング サポート ツール
「コーディングをサポート」ツールを使用するには、次の操作を行います。
Google Cloud コンソールで、[AlloyDB] ページを開きます。
リストからクラスタを選択します。
ナビゲーション メニューで [AlloyDB] をクリックします。
データベースとユーザーを選択し、ユーザーのパスワードを入力します。
[認証] をクリックします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。
データベースに対してクエリを実行するために、
[新しいタブ] をクリックします。クエリエディタの横にある pen_spark [コーディングをサポート] をクリックします。
[コーディングをサポート] ウィンドウで、プロンプトを入力します。たとえば、
add a row to table singers
と入力して [生成] をクリックします。Gemini によって次のような SQL が生成されます。
INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate) VALUES (1, Alex, 'M.', '1977-10-16');
生成された SQL を確認し、次のいずれかを行います。
- Gemini によって生成された SQL を受け入れるには、[挿入] をクリックしてそのステートメントをクエリエディタに挿入します。その後で、[実行] をクリックして提案された SQL を実行します。
- 新しいクエリを生成するよう Gemini にリクエストするには、[編集] をクリックします。メッセージを編集したら、[更新] をクリックします。生成された新しいステートメントを受け入れるか、提案を閉じるを判断します。
- 提案を受け入れない場合は、[コーディングをサポート] ウィンドウを閉じます。
クエリエディタで SQL ステートメントの説明を取得する
自然言語クエリを入力して、SQL クエリの説明をリクエストできます。これらの説明は、クエリが複雑な場合や長い場合に構文、基礎となるスキーマ、ビジネス コンテキストを理解するのに役立ちます。
Google Cloud コンソールで、[AlloyDB] ページを開きます。
リストからクラスタを選択します。
ナビゲーション メニューで [AlloyDB] をクリックします。
データベースとユーザーを選択し、ユーザーのパスワードを入力します。
[認証] をクリックします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。
データベースに対してクエリを実行するために、
[新しいタブ] をクリックします。クエリエディタで、クエリを貼り付けます。
Gemini による説明を取得したいクエリをハイライト表示してから、pen_spark [このクエリを説明する] をクリックします。
SQL の説明が Gemini の [チャット] ウィンドウに表示されます。
次のステップ
- Gemini for Google Cloud の概要を読む。
- Gemini がユーザーのデータをどのように使用するかについて学習する。
- Google Cloud で Gemini を使用してデータを分析する方法について学習する。