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

您可以在 Firebase 控制台中使用 Gemini in Firebase 来帮助您构建要包含在客户端代码中的查询和更改。用自然语言描述您要生成的查询或变更,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 辅助功能,请按照设置 Gemini in Firebase 中的说明启用 Gemini in Firebase,然后继续执行使用 Gemini in Firebase 生成 GraphQL 查询和变更

使用 Gemini in Firebase 生成 GraphQL 查询和变更

如需使用 AI assistance for Data Connect in the Firebase console 基于自然语言生成 GraphQL,请执行以下操作:

  1. 在项目中打开 Data Connect,然后在服务下选择您的数据源。

  2. 点击数据

  3. 点击帮我写 GraphQL pen_spark 图标。

  4. 在显示的文本字段中,用自然语言描述您要生成的查询或变更,然后点击生成

    例如,如果您使用的是 Firebase Data Connect 快速入门使用 Data Connect Codelab 构建中引用的电影数据源,则可以提出以下问题:“返回 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。将光标移至查询或变更的第一行,以激活运行按钮。

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. 如需执行更改,您需要添加变量。在参数部分,打开变量并添加一些测试变量:

    {"title":"My amazing movie", "releaseYear":2024, "genre": "Comedy",
    "rating": 8, "description": "A new movie to test mutations",
    "imageUrl": "", "tags": ["comedy","space travel"]}
    
  8. 点击运行

  9. 接下来,创建一个查询来验证您的电影是否已添加。点击 Help me write 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 的一部分提供,在 Data Connect 处于预览版阶段时,您可以免费使用该功能;或者作为 Gemini Code Assist 的一部分提供。如需了解详情,请参阅 Gemini in Firebase 价格

后续步骤