使用 AI 輔助功能處理 Data Connect

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 生成結構定義、查詢和異動

您可以在許多工作流程中使用 Data Connect 的 AI 輔助功能。

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 伺服器,請按照下列步驟操作:

  1. 按照這份指南設定 MCP 用戶端。
  2. 詢問與 Data Connect 相關的問題。提示範例:
    1. 「為披薩外送應用程式設定 Data Connect 專案。」
    2. 「修正 Data Connect 編譯錯誤。」
    3. 「在首頁中,我需要顯示有效的聊天室和好友名單。 Generate a Data Connect query."
    4. 「我的本機 Data Connect 模擬器中有哪些使用者?」
    5. 「我的Data Connect服務位於哪些 Google Cloud 區域?」

生成作業的用途範例

以下各節說明使用範例:

依評分遞減順序傳回前五部電影

如要使用 AI assistance for Data Connect 根據自然語言生成 GraphQL:

  1. 在專案中開啟 Data Connect,然後在「服務」下方選取資料來源。

  2. 按一下 [Data] (資料)。

  3. 按一下「幫我寫 GraphQL」pen_spark 圖示。使用自然語言描述要產生的查詢異動,然後按一下「產生」

    舉例來說,如果您使用「使用 Data Connect (網頁) 建構」程式碼研究室中參照的電影資料來源,可以提出「傳回 2022 年排名前五名的電影,並依評分降序排列」這類問題,系統可能會傳回下列結果:

    query TopMovies2022 {
      movies(where: {releaseYear: {eq: 2022}}, orderBy: [{rating: DESC}], limit: 5) {
        id
        title
        rating
        releaseYear
      }
    }
    
  4. 查看回覆:

    • 如果回覆內容正確無誤,請按一下「插入」,將回覆內容插入程式碼編輯器。
    • 如果回覆內容不盡理想,請按一下「編輯」,更新提示,然後按一下「重新生成」
  5. 接受回應後,請在「Parameters」(參數) 區段中設定下列項目 (如適用):

    • 變數:如果查詢或突變包含變數,請在此定義變數。使用 JSON 定義這些屬性,例如 {"title":"The Matrix", "releaseYear":"1999"}
    • 授權:選擇要執行查詢或變異的授權內容 (管理員、已驗證或未驗證)。
  6. 在程式碼編輯器中點選「執行」,然後查看結果。

如要在程式碼編輯器中測試多個查詢或變動,請務必為這些項目命名。舉例來說,下列查詢名為 GetMovie。將游標移至查詢或變動的第一行,即可啟用「執行」按鈕。

query GetMovie($myKey: Movie_Key!) {
  movie(key: $myKey) { title }
}

建立變動,根據使用者輸入內容將電影新增至資料庫

本範例說明如何使用自然語言生成 GraphQL 突變,以填入資料庫。本範例假設您使用的是Firebase Data Connect說明文件和「使用 Data Connect (網頁) 建構」程式碼研究室中使用的電影資料庫結構定義。

  1. Firebase 控制台開啟 Data Connect

  2. 選取服務和資料來源,然後開啟「資料」分頁。

  3. 按一下「幫我寫 GraphQL」pen_spark 圖示,然後說明變動:

    Create a movie based on user input.
    
  4. 點選「產生」,系統會傳回變動。舉例來說,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
      })
    }
    
  5. 查看輸出內容。視需要點選「編輯」來修正提示,然後點選「重新生成」

  6. 接著,按一下「插入」,將變異插入資料編輯器。

  7. 如要執行突變,您需要新增變數。在「Parameters」部分開啟「Variables」,並加入一些測試變數:

    {"title":"My amazing movie", "releaseYear":2024, "genre": "Comedy",
    "rating": 8, "description": "A new movie to test mutations",
    "imageUrl": "", "tags": ["comedy","space travel"]}
    
  8. 按一下「執行」

  9. 接著,建立查詢來確認電影已新增。按一下「幫我寫 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
        }
    }
    
  10. 插入並執行查詢。新增的電影應會顯示在「記錄」欄位中。

建立查詢,根據使用者提供的類型和評分列出評論

本範例說明如何使用自然語言生成 GraphQL 查詢。本範例假設您使用 Firebase Data Connect說明文件和「使用 (網頁) 建構Data Connect」程式碼研究室中使用的電影資料庫。

  1. Firebase 控制台開啟 Data Connect

  2. 選取服務和資料來源,然後開啟「資料」分頁。

  3. 按一下「幫我寫 GraphQL」pen_spark 圖示,然後說明查詢內容:

    List all movie reviews, based on user-configurable genre and ratings.
    
  4. 點選「產生」,系統會傳回查詢。舉例來說, 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
      }
    }
    
  5. 查看輸出內容。視需要點選「編輯」來修正提示,然後點選「重新生成」

  6. 接著,按一下「插入」,將變異插入資料編輯器。

  7. 如要測試這項查詢,請新增變數。在「參數」部分開啟「變數」,並加入要用於測試的變數:

    {"genre":"sci-fi", "minRating":4, "maxRating":9}
    
  8. 按一下「執行」

為第三方 AI 輔助工具設計提示

與所有 AI 輔助工具一樣,提示越清楚,輸出結果就越實用。

當您以自然語言向 Gemini 版 Firebase下達提示時,助理會在幕後將輸入內容翻譯成更完整的提示。

如果您使用 Cursor 或 Windsurf 等第三方 AI 工具,可以透過類似的詳細提示,取得更優質的Data Connect建議。

我們已發布提示範本,供您下載、調整及複製到 IDE:

下載並修改後,請在您熟悉的工具 (例如 Cursor 或 Windsurf) 中建立提示,如下所示:

  • 在 Cursor 中 (請務必參閱 Cursor 的最新指示):

    1. 按一下右上方的「設定」圖示。
    2. 選取「規則」分頁標籤。
    3. 在「專案規則」下方,按一下「新增規則」按鈕。
    4. 複製並貼上規則。
  • 在 Windsurf 中 (請務必參閱 Windsurf 的最新說明):

    1. 按一下右上角的「Cascade」(重疊) 按鈕,開啟 Cascade 視窗。
    2. 在 Cascade 中,按一下右上滑桿選單中的「自訂」圖示,然後前往「規則」面板。
    3. 按一下「+ 全域」或「+ Workspace」按鈕,分別在全域或 Workspace 層級建立新規則。
    4. 複製並貼上規則。

疑難排解 AI assistance for Data Connect

請參閱「Firebase 中的 Gemini 疑難排解」

定價

AI assistance for Data Connect 是 Gemini 的一部分,可在 Firebase 中使用,且已提供給個人使用者。

詳情請參閱「Gemini in Firebase 定價」一文。

後續步驟