本文說明如何使用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:
- 「建立表格來追蹤顧客滿意度調查結果。」
- 「在 Singers 資料表中新增名為 birthday 的日期欄。」
- 「有多少歌手出生於 90 年代?」
如果結構定義有異動 (例如新增資料表或資料欄),請務必點按「重新整理」更新結構定義,再使用 Gemini。
如要在 AlloyDB 中生成 SQL,並使用 Gemini 輔助,請按照下列步驟操作:
在 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」窗格會顯示資料庫中的物件清單。
如要查詢資料庫,請按一下「New tab」(新分頁) 。
按一下查詢編輯器旁邊的「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」窗格會顯示資料庫中的物件清單。
如要查詢資料庫,請按一下「New tab」(新分頁) 。
在查詢編輯器中貼上查詢。
反白選取要讓 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 功能。
如要查詢資料庫,請按一下「New tab」(新分頁)。
在查詢編輯器中,輸入可能不正確或不完整的查詢。
按一下「執行」。
如果查詢有問題,系統會在「結果」分頁中傳回錯誤。
按一下「修正」。
查詢視窗的索引標籤會開啟差異編輯器 (「差異比較編輯器」),逐行比較現有查詢與建議的變更。查詢編輯器也會提供建議編輯內容的摘要。
查看系統建議的查詢變更,並視需要更新。
如要接受變更並執行新查詢,請按一下「接受並執行」。
限制
- 這項功能只能在Google Cloud 控制台的 AlloyDB Studio 查詢編輯器中使用。
- 適用目前的 Gemini 脈絡窗口限制。