使用 AI 辅助进行 Firebase Data Connect 查询和变更

您可以在 Firebase 控制台中使用 Firebase 中的 Gemini,帮助您构建要包含在客户端代码中的查询和更改。使用自然语言描述您要生成的查询或更改,Firebase 中的 Gemini 将为您提供等效的 GraphQL 代码。在 Firebase 控制台中运行并测试输出,然后将最终的查询和更改复制到代码中。

如需详细了解查询和变更,请参阅 Data Connect 架构、查询和变更

AI assistance for Data Connect in the Firebase console 会如何使用您的数据

AI assistance for Data Connect in the Firebase console 不会将您的提示或其回答用作数据来训练其模型。如需了解详情,请参阅 Google Cloud 中的 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. 点击数据

  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. 接受响应后,请在参数部分设置以下内容(如果适用):

    • 变量:如果您的查询或更改包含变量,请在此处定义这些变量。请使用 JSON 进行定义,例如 {"title":"The Matrix", "releaseYear":"1999"}
    • 授权:选择用于运行查询或更改的授权上下文(“管理员”“已验证”或“未验证”)。
  7. 在代码编辑器中点击运行,然后查看结果。

如需在代码编辑器中测试多个查询或变更,请确保已命名它们。例如,以下查询名为 GetMovie。将光标移至查询或变更的第一行,以激活 Run 按钮。

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

AI assistance for Data Connect in the Firebase console 个应用场景

以下部分介绍了一些示例用例,其中包括一个用例,您可以请求 Gemini 帮助您创建用于填充 Data Connect 的更改,然后对其进行查询以验证结果。

创建一个基于用户输入向数据库添加电影的更改

在本部分中,您将通过一个示例,了解使用自然语言为可用于填充数据库的变更生成 GraphQL 示例。此示例假定您使用的是 Firebase Data Connect 文档“使用 Data Connect 构建”Codelab 中使用的电影数据库架构。

  1. Firebase 控制台中,打开 Data Connect

  2. 选择您的服务和数据源,然后打开数据标签页。

  3. 点击帮我写 GraphQLpen_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 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. 插入并运行查询。您添加的电影应显示在历史记录字段中。

创建一个根据用户提供的类型和评分列出评价的查询

在本部分中,您将通过一个示例了解如何使用自然语言为查询生成 GraphQL。此示例假定您使用的是 Firebase Data Connect 文档使用 Data Connect 构建应用 Codelab 中使用的电影数据库。

  1. Firebase 控制台中,打开 Data Connect

  2. 选择您的服务和数据源,然后打开数据标签页。

  3. 点击帮我写 GraphQLpen_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 问题排查

请参阅排查 Gemini in Firebase 问题

价格

AI assistance for Data Connect in the Firebase console 作为 Gemini in Firebase 的一部分提供,而 Gemini in Firebase 包含在 Gemini Code Assist 中。2024 年 11 月 8 日之前,Gemini Code Assist 可免费试用,每个结算账号仅限一位用户试用。如需了解详情,请参阅 Firebase 中的 Gemini 价格

后续步骤