使用 AI 輔助功能處理 Firebase Data Connect 查詢和變異式

您可以在 Firebase 控制台中使用 Firebase 中的 Gemini,協助您編寫要納入用戶端程式碼中的查詢和變異。請以自然語言描述要產生的查詢或異動,Firebase 中的 Gemini 就會提供對應的 GraphQL。在 Firebase 主控台中執行並測試輸出內容,然後將完成的查詢和變異式複製到程式碼中。

如要進一步瞭解查詢和變異數,請參閱「Data Connect 結構定義、查詢和變異數」一文。

AI assistance for Data Connect in the Firebase console 如何使用您的資料

如要進一步瞭解 Firebase 中的 Gemini 如何使用您的資料,請參閱「Firebase 中的 Gemini 如何使用您的資料」。

設定「AI assistance for Data Connect in the Firebase console

如要在 Data Connect 中設定 AI 協助功能,請按照「Firebase 中設定 Gemini」一文所述,在 Firebase 中啟用 Gemini,然後繼續按照「Firebase 中使用 Gemini 產生 GraphQL 查詢與異動」一文的說明操作。

Firebase 中運用 Gemini 生成 GraphQL 查詢和異動

如要使用 AI assistance for Data Connect in the Firebase console 根據自然語言產生 GraphQL,請按照下列步驟操作:

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

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

  3. 按一下「幫我寫 GraphQL」pen_spark 圖示。

  4. 在隨即顯示的文字欄位中,以自然語言說明您要產生的查詢或變異式,然後按一下「產生」

    舉例來說,如果您使用 Firebase Data Connect 快速入門指南Data Connect程式碼研究室中參照的電影資料來源,可以要求「返回 2022 年最受歡迎的五部電影,並依評分由高至低排序」,系統可能會傳回以下結果:

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

    • 如果回應看起來正確無誤,請按一下「插入」,將回應插入程式碼編輯器。
    • 如果回覆需要調整,請按一下「編輯」,更新提示,然後點選「重新產生」
  6. 接受回應後,請在「參數」部分中設定下列項目 (如適用):

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

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

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

AI assistance for Data Connect in the Firebase console 用途

以下各節將說明範例用途,包括您可以要求 Gemini 協助建立變異來填入 Data Connect,然後查詢該變異以驗證結果。

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

在本節中,您將逐步瞭解如何使用自然語言為變異產生 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. 如要執行變異,您必須新增變數。在「參數」部分,開啟「變數」並加入一些測試變數:

    {"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 thse 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. 插入並執行查詢。你新增的電影應會顯示在「History」欄位中。

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

在本節中,您將逐步瞭解如何使用自然語言為查詢產生 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 assistance for Data Connect in the Firebase console 問題

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

定價

AI assistance for Data Connect in the Firebase console 可透過 Gemini 版 Firebase 取得,在 Data Connect 預先發布版期間,這項功能會免費提供,或是可透過 Gemini Code Assist 取得。詳情請參閱Gemini 在 Firebase 中的定價

後續步驟