本文說明如何使用Google Cloud中的 AI 技術輔助協作工具 Gemini,在 AlloyDB for PostgreSQL 中執行以下作業:
瞭解 Gemini for Google Cloud 如何使用您的資料。
本文適用於熟悉 AlloyDB,且對 SQL 和資料分析有一定瞭解的資料庫管理員和資料工程師。如果您是 AlloyDB 新手,請參閱 AlloyDB 總覽。
事前準備
確認您已為 Google Cloud 使用者帳戶和專案設定 Gemini Cloud Assist。
選用:如要按照本文中的範例操作,請使用下列結構定義建立
Singers資料表:CREATE TABLE Singers ( BirthDate TIMESTAMPTZ, SingerId BIGINT PRIMARY KEY, FirstName VARCHAR(1024), LastName VARCHAR(1024), SingerInfo BYTEA );建立
Singers資料表後,請按一下「重新整理」,更新資料庫結構定義。
如要在 AlloyDB 停用 Gemini 功能,請重複這個步驟,然後取消選取要停用的 Gemini 功能。
必要角色和權限
如要搭配使用 Gemini 和 AlloyDB,您必須具備下列權限:
alloydb.clusters.getalloydb.databases.listalloydb.instances.executeSqlalloydb.instances.listalloydb.users.listcloudaicompanion.companions.generateCodecloudaicompanion.instances.generateCodeserviceusage.services.get或serviceusage.services.list
您可以透過roles/alloydb.admin角色取得這項權限。如果您不具備這個角色,請聯絡機構管理員要求存取權。您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。
此外,請確認您擁有用於驗證的資料庫資料庫層級權限。
使用自然語言提示生成 SQL 查詢
您可以提供自然語言註解 (或提示) 給 Gemini,要求 Gemini 根據結構定義產生查詢。舉例來說,您可以提示 Gemini 根據下列提示生成 SQL:
- 「請建立表格,追蹤顧客滿意度調查結果。」
- 「在 Singers 表格中新增名為「生日」的日期欄。」
- 「有多少歌手出生於 90 年代?」
如果結構定義有變更 (例如新增資料表或資料欄),您必須先點按「重新整理」更新結構定義,才能使用 Gemini。
如要透過 Gemini 輔助在 AlloyDB 中生成 SQL,請按照下列步驟操作:
在 Google Cloud 控制台中,開啟「AlloyDB」AlloyDB頁面。
從清單中選取叢集。
在導覽選單中,按一下「AlloyDB」。
選取資料庫和使用者,然後輸入使用者的密碼。
按一下「驗證」。「Explorer」窗格會顯示資料庫中的物件清單。
如要查詢資料庫,請按一下「New SQL editor tab」(新的 SQL 編輯器分頁) 。確認已啟用 SQL 生成功能。
如要生成 SQL,請在查詢編輯器中輸入以
--開頭的註解,然後按下 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頁面。
從清單中選取叢集。
在導覽選單中,按一下「AlloyDB」。
選取資料庫和使用者,然後輸入使用者的密碼。
按一下「驗證」。「Explorer」窗格會顯示資料庫中的物件清單。
如要查詢資料庫,請按一下「新分頁」。
按一下查詢編輯器旁的「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頁面。
從清單中選取叢集。
在導覽選單中,按一下「AlloyDB」。
選取資料庫和使用者,然後輸入使用者的密碼。
按一下「驗證」。「Explorer」窗格會顯示資料庫中的物件清單。
如要查詢資料庫,請按一下「新分頁」。
在查詢編輯器中貼上查詢。
醒目顯示您希望 Gemini 說明的查詢,然後按一下「pen_spark Explain this query」(說明這項查詢)。
SQL 說明會顯示在 Gemini「對話」視窗中。
使用 Gemini 修正查詢中的錯誤
Gemini 提供擴充功能,可協助您修正 AlloyDB 查詢中的錯誤,不必離開查詢編輯器。
查詢編輯器整合了 Gemini 的 AI 輔助功能,可提供下列優點:
- 使用查詢編輯器,並排比較原始查詢和建議變更的新查詢。
- 醒目顯示原始查詢中可能導致問題的區隔,並以自然語言提供變更摘要。
- 參考與查詢相關的確切錯誤訊息和結構定義資訊,提供準確且相關的修正建議。
- 不必再依賴第三方通用 LLM,這類模型提供的協助可能不夠細緻,也可能導致資料暴露於潛在安全風險。
- 針對語法、結構定義和執行階段錯誤等常見問題,提供更快速有效率的疑難排解方式。
所需權限
開始前,請確認您具備下列權限:
- 必要權限中列出的權限。
- Gemini for Google Cloud API 權限,
cloudaicompanion.googleapis.com/instances.generateCode。
使用 Gemini 修正查詢
如要使用 Gemini 的功能修正查詢中的特定錯誤,請完成下列步驟:
在 Google Cloud 控制台中,開啟 AlloyDB for PostgreSQL 頁面。
從清單中選取叢集。
在導覽選單中,按一下「AlloyDB Studio」。
選取資料庫和使用者,然後輸入使用者的密碼。
按一下「驗證」。「Explorer」窗格會顯示資料庫中的物件清單。
在工作列中,按一下「pen_spark『Gemini』」,即可查看 AlloyDB 中的 Gemini 功能。
如要查詢資料庫,請按一下「新分頁」。
在查詢編輯器中輸入可能不正確或不完整的查詢。
按一下「執行」。
如果查詢含有問題,系統會在「結果」分頁中傳回錯誤。
按一下「修正」。
查詢視窗會在分頁中開啟差異編輯器 (「差異比較編輯器」),逐行比較現有查詢與建議的變更。查詢編輯器也會提供建議的編輯內容摘要。
查看系統建議的查詢變更,並視需要更新。
如要接受變更並執行新查詢,請按一下「接受並執行」。
限制
- 這項功能只能在Google Cloud 控制台的 AlloyDB Studio 查詢編輯器中使用。
- 適用目前的 Gemini 脈絡窗口限制。