在 Firebase 中使用 Gemini,協助製作用戶端程式碼的結構定義、查詢和突變。
以自然語言描述應用程式、資料模型,或所需的查詢或異動,Gemini Firebase 會生成對應的 Data Connect。
這項 AI 輔助功能適用於下列開發情境:
- 在 Firebase 控制台中,您可以產生、測試及部署結構定義和作業。
- 在本機環境中,您可以使用 Firebase CLI 和 Data Connect VS Code 擴充功能,透過模擬器產生、測試及開發應用程式。
- AI 輔助開發工具可使用 Firebase MCP 伺服器生成、測試及開發應用程式。
如要進一步瞭解Data Connect 結構定義、 查詢和 突變語法,請參閱指南。
AI assistance for Data Connect 如何使用您的資料
詳情請參閱「Gemini 版 Firebase 如何使用您的資料」。
設定「AI assistance for Data Connect」
如要在 Data Connect 中使用 AI 輔助功能,請按照「在 Firebase 中設定 Gemini」一文的說明,在 Firebase 中啟用 Gemini。
在 Firebase 中使用 Gemini 生成結構定義、查詢和異動
您可以在許多工作流程中使用 AI 輔助功能 Data Connect。
在 Firebase 控制台中
建立 Data Connect 服務時,Firebase 控制台會提供「開始使用 Gemini」體驗。
您可以描述應用程式構想,AI 輔助功能會生成下列內容:
- 根據您的應用程式構想,提供完整的結構定義。
- 作業和資料突變範例。
在資料頁面中,您可以使用「幫我撰寫 GraphQL」pen_spark 按鈕,根據自然語言生成及執行作業。請參閱幾個使用案例。
如需這項工作流程的說明,請參閱入門指南。您可以在本機開發環境中,繼續使用已部署的結構定義和作業。
在本機環境中
您也可以透過 Firebase CLI 和 Data Connect VS Code 擴充功能取得 AI 輔助。
您可以將應用程式構想提供給 firebase init dataconnect,然後生成下列項目:
- 根據您的應用程式構想,提供完整的結構定義。
- 範例作業和種子資料突變。
Data Connect VS Code 擴充功能提供下列功能:
- 生成/修正作業程式碼鏡頭:將 GraphQL 註解轉換為 Data Connect 作業。
- 與 Gemini Code Assist 和 Firebase MCP 伺服器完美整合。
如需這項工作流程的說明,請參閱本機原型設計入門指南。
搭配 AI 輔助開發工具使用 Firebase MCP 伺服器
Firebase MCP 伺服器可與任何能做為 MCP 用戶端的 AI 輔助工具搭配使用,包括 Gemini CLI、Gemini Code Assist、Cursor、Visual Studio Code Copilot、Claude Desktop 和 Windsurf Editor。
Firebase MCP 伺服器可提供額外的背景資訊和功能,協助 AI 輔助開發工具與 Data Connect 搭配運作。可執行下列操作:
- 設定新的專案目錄並產生 SDK。
- 根據編譯錯誤建構及疊代結構定義和作業。
- 根據需求產生新的結構定義和作業。
- 針對本機模擬器或後端服務產生及執行作業。
- 收集現有服務的相關資訊。
如要使用 Firebase MCP 伺服器,請按照下列步驟操作:
- 請按照這份指南設定 MCP 用戶端。
- 詢問與 Data Connect 相關的問題。提示範例:
- 「為披薩外送應用程式設定 Data Connect 專案。」
- 「Fix Data Connect compile errors.」(修正 Data Connect 編譯錯誤)。
- "In the home page, I need to show active chat rooms and friend list. Generate a Data Connect query."
- 「What users are in my local Data Connect emulator?」(我的本機 Data Connect 模擬器中有哪些使用者?)
- 「我的Data Connect服務位於哪些 Google Cloud 區域?」
產生作業的用途範例
以下各節說明使用範例:
依評分遞減順序傳回前五部電影
如要使用 AI assistance for Data Connect 根據自然語言生成 GraphQL,請按照下列步驟操作:
在專案中開啟 Data Connect,然後在「服務」下方選取資料來源。
按一下 [Data] (資料)。
按一下「幫我寫 GraphQL」pen_spark 圖示。使用自然語言描述要產生的查詢或異動,然後按一下「產生」。
舉例來說,如果您使用「使用 Data Connect (網頁) 建構」程式碼研究室中參照的電影資料來源,可以提出「依評分降序排列,傳回 2022 年前五名電影」這類要求,系統可能會傳回下列結果:
query TopMovies2022 { movies(where: {releaseYear: {eq: 2022}}, orderBy: [{rating: DESC}], limit: 5) { id title rating releaseYear } }查看回覆:
- 如果回覆內容正確無誤,請按一下「插入」,將回覆內容插入程式碼編輯器。
- 如果回覆內容不夠完善,請按一下「編輯」,更新提示,然後按一下「重新生成」。
接受回應後,請在「Parameters」(參數) 部分中設定下列項目 (如適用):
- 變數:如果查詢或突變包含變數,請在此定義變數。使用 JSON 定義這些屬性,例如
{"title":"The Matrix", "releaseYear":"1999"}。 - 授權:選擇要執行查詢或變異的授權內容 (管理員、已驗證或未驗證)。
- 變數:如果查詢或突變包含變數,請在此定義變數。使用 JSON 定義這些屬性,例如
在程式碼編輯器中點選「執行」,然後查看結果。
如要在程式碼編輯器中測試多個查詢或突變,請務必為這些項目命名。舉例來說,下列查詢名為 GetMovie。將游標移至查詢或變動的第一行,即可啟用「執行」按鈕。
query GetMovie($myKey: Movie_Key!) {
movie(key: $myKey) { title }
}
建立變動,根據使用者輸入內容將電影新增至資料庫
本範例說明如何使用自然語言產生 GraphQL 突變,以填入資料庫。本範例假設您使用的是Firebase Data Connect說明文件和「使用 Data Connect (網頁) 建構」程式碼研究室中使用的電影資料庫結構定義。
在 Firebase 控制台中,開啟 Data Connect。
選取服務和資料來源,然後開啟「資料」分頁標籤。
按一下「幫我寫 GraphQL」pen_spark 圖示,然後說明變動:
Create a movie based on user input.點選「產生」,系統會傳回變動。舉例來說,Gemini 可能會傳回類似下列內容的變動:
mutation CreateMovie($title: String!, $releaseYear: Int!, $genre: String!, $rating: Float!, $description: String!, $imageUrl: String!, $tags: [String!] = []) @auth(level: USER) { movie_insert(data: { title: $title, releaseYear: $releaseYear, genre: $genre, rating: $rating, description: $description, imageUrl: $imageUrl, tags: $tags }) }查看輸出內容。視需要點選「編輯」來修正提示,然後點選「重新生成」。
接著,按一下「插入」,將突變插入資料編輯器。
如要執行突變,您需要新增變數。在「Parameters」部分開啟「Variables」,並加入一些測試變數:
{"title":"My amazing movie", "releaseYear":2024, "genre": "Comedy", "rating": 8, "description": "A new movie to test mutations", "imageUrl": "", "tags": ["comedy","space travel"]}按一下「執行」。
接著,建立查詢來確認電影已新增。點選「幫我寫 GraphQL」pen_spark,然後在隨即顯示的方塊中輸入提示:
List all movies from 2024 that include all of these tags: 'space travel', 'comedy'.Gemini 可能會傳回類似下方的回覆:
query ComedySpaceTravelMovies2024 @auth(level: PUBLIC) { movies( where: { releaseYear: { eq: 2024 }, tags: { includesAll: ["space travel", "comedy"] } } ) { id title imageUrl releaseYear genre rating description tags } }插入並執行查詢。新增的電影應會顯示在「記錄」欄位中。
建立查詢,根據使用者提供的類型和評分列出評論
本範例說明如何使用自然語言生成 GraphQL 查詢。本範例假設您使用 Firebase Data Connect說明文件和「使用Data Connect (網頁) 建構」程式碼研究室中使用的電影資料庫。
在 Firebase 控制台中,開啟 Data Connect。
選取服務和資料來源,然後開啟「資料」分頁標籤。
按一下「幫我寫 GraphQL」pen_spark 圖示,然後說明查詢:
List all movie reviews, based on user-configurable genre and ratings.點選「產生」,系統會傳回查詢。舉例來說, Gemini 可能會傳回類似下方的查詢:
query ListReviewsByGenreAndRating($genre: String, $minRating: Int, $maxRating: Int) @auth(level: PUBLIC) { reviews(where: { movie: { genre: {eq: $genre} }, rating: {ge: $minRating, le: $maxRating} }) { id user { username } movie { title genre } rating reviewText reviewDate } }查看輸出內容。視需要點選「編輯」來修正提示,然後點選「重新生成」。
接著,按一下「插入」,將突變插入資料編輯器。
如要測試這項查詢,請新增變數。在「參數」部分開啟「變數」,並加入要用於測試的變數:
{"genre":"sci-fi", "minRating":4, "maxRating":9}按一下「執行」。
為第三方 AI 輔助工具設計提示
與所有 AI 輔助工具一樣,提示越清楚,輸出結果就越實用。
當您以自然語言向 Gemini 版 Firebase下達提示時,系統會在幕後將輸入內容翻譯成更完整的提示。
如果您使用 Cursor 或 Windsurf 等第三方 AI 工具,可以透過類似的詳細提示,取得更優質的 Data Connect 建議。
我們已發布提示範本,供您下載、調整及複製到 IDE:
下載並修改後,請在您熟悉的工具 (例如 Cursor 或 Windsurf) 中建立提示,如下所示:
在 Cursor 中 (請務必參閱 Cursor 的最新指示):
- 按一下右上方的「設定」圖示。
- 選取「規則」分頁標籤。
- 在「專案規則」下方,按一下「新增規則」按鈕。
- 複製並貼上規則。
在 Windsurf 中 (請務必詳閱 Windsurf 的最新操作說明):
- 按一下右上角的「Cascade」(重疊) 按鈕,開啟 Cascade 視窗。
- 在 Cascade 中,按一下右上滑桿選單中的「自訂」圖示,然後前往「規則」面板。
- 按一下「+ 全域」或「+ Workspace」按鈕,分別在全域或 Workspace 層級建立新規則。
- 複製並貼上規則。
疑難排解 AI assistance for Data Connect
請參閱「排解 Firebase 中的 Gemini 問題」。
定價
AI assistance for Data Connect 是 Gemini in Firebase 的一部分,個人使用者可免費使用。
詳情請參閱「Gemini in Firebase 定價」一文。