本文說明如何使用Google Cloud中的 AI 技術輔助協作工具 Gemini,在 AlloyDB for PostgreSQL 中執行以下作業:
瞭解 Gemini for Google Cloud 如何使用您的資料。
本文適用於熟悉 AlloyDB,且對 SQL 和資料分析有一定瞭解的資料庫管理員和資料工程師。如果您是 AlloyDB 新手,請參閱 AlloyDB 總覽。
事前準備
選用:如要按照本文中的範例操作,請使用下列結構定義建立
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 根據下列提示生成 SQL:
- 「請建立表格,追蹤顧客滿意度問卷調查結果。」
- 「Add a date column called birthday to the Singers table.」(在 Singers 資料表中新增名為「birthday」的日期欄。)
- 「有多少歌手出生於 90 年代?」
如果結構定義有變更 (例如新增資料表或資料欄),您必須先點選「重新整理」更新結構定義,才能使用 Gemini。
如要透過 Gemini 輔助在 AlloyDB 中生成 SQL,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「AlloyDB」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」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」AlloyDB。
選取資料庫和使用者,然後輸入使用者的密碼。
按一下「驗證」。「Explorer」窗格會顯示資料庫中的物件清單。
如要查詢資料庫,請按一下「新分頁」。
在查詢編輯器中貼上查詢。
反白選取要讓 Gemini 說明的查詢,然後按一下 astrophotography_mode「說明這項查詢」。
SQL 說明會顯示在 Gemini Cloud Assist 窗格中。
使用 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」窗格會顯示資料庫中的物件清單。
在工作列中,按一下 settings_suggestion「Gemini」Gemini,即可查看 AlloyDB 中的 Gemini 功能。
如要查詢資料庫,請按一下「新分頁」。
在查詢編輯器中輸入可能不正確或不完整的查詢。
按一下「執行」。
如果查詢含有問題,系統會在「結果」分頁中傳回錯誤。
按一下「修正」。
查詢視窗會在分頁中開啟差異編輯器 (「差異比較編輯器」),逐行比較現有查詢與建議的變更。查詢編輯器也會提供建議的編輯內容摘要。
查看系統建議的查詢變更,並視需要更新。
如要接受變更並執行新查詢,請按一下「接受並執行」。
限制
- 這項功能只能在Google Cloud 控制台的 AlloyDB Studio 查詢編輯器中使用。
- 適用目前的 Gemini 脈絡窗口限制。