使用 AI 辅助功能来处理 Firebase Data Connect 架构、查询和变更

您可以使用 Gemini in Firebase 帮助您设计架构、查询和变更,以便将其纳入客户端代码中。

用自然语言描述应用并总结其数据模型,或描述您要生成的查询或变更,然后 Gemini in Firebase 会为您提供相应的 GraphQL 等效项。

此 AI 辅助功能可在多种开发环境中提供:

  • Firebase 控制台中,运行并测试输出,将架构和操作部署到生产环境,然后将其同步到本地开发环境。
  • 在本地,在 Data Connect VS Code 扩展程序中,使用 Gemini Code Assist 和本地 PostgreSQL 数据库及模拟器设计、运行和测试。

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

AI assistance for Data Connect会如何使用您的数据

如需详细了解 Gemini in Firebase 如何使用您的数据,请参阅 Gemini in Firebase 如何使用您的数据

设置 AI assistance for Data Connect

如需设置 Data Connect 中的 AI 辅助功能,请按照设置 Gemini in Firebase 中的说明启用 Gemini in Firebase,然后继续执行使用 Gemini in Firebase 生成 GraphQL 查询和变更的步骤。

使用 Firebase 中的 Gemini 生成 GraphQL 架构、查询和变更

在许多情境和工作流程中,您都可以使用 Data Connect 的 AI 辅助功能。

Firebase 控制台中创建新应用及其初始架构和操作

当您创建新的 Firebase 项目并设置开发新应用时,Firebase 控制台会自动提供 AI 辅助功能,用于生成架构和操作。

在此设置流程中,您可以描述应用,然后 AI 助理:

  • 生成完整的 Data Connect 架构
  • 生成一组实用的核心查询和突变,然后您可以将其与客户端代码集成。

您可以将控制台中创建的这些资源同步到本地开发环境,以便继续与客户端集成。

如需了解此工作流程,请参阅我们的入门指南

添加了可在 Firebase 控制台中运行的新查询和突变

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

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

  2. 点击数据

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

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

    例如,如果您使用的是“使用 Data Connect (Web) 构建”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 }
}

在本地原型设计期间创建初始架构和操作

当您使用 Visual Studio Code 和 Data Connect VS Code 扩展程序时,Gemini Code Assist 可为您的本地原型设计工作提供 AI 辅助功能。

借助此扩展程序,您可以描述应用,然后执行以下操作Gemini Code Assist

  • 生成完整的 Data Connect 架构
  • 生成一组实用的核心查询和突变,然后您可以将其与客户端代码集成。

如需了解此工作流程,请参阅我们的本地原型设计入门指南

在本地原型设计中使用 Firebase MCP 服务器

Firebase CLI 中提供的 Firebase MCP 服务器可让 AI 赋能的开发工具能够与 Firebase 项目协同运作。Firebase MCP 服务器可与任何可充当 MCP 客户端的 AI 助理 IDE 配合使用,包括 Cursor、Visual Studio Code Copilot 和 Windsurf Editor。

您可以使用 MCP 服务器生成架构、查询和突变,并收集输入内容,以便使用 Firebase CLI 执行常见操作。

如需使用 MCP 服务器,请执行以下操作:

  1. 按照此指南安装服务器。
  2. 调用 dataconnect_generate_schema 工具,描述应用,然后查看生成的推荐架构。
  3. 调用 dataconnect_generate_operation 工具,描述您要对架构执行的操作,然后查看生成的建议查询或突变。

如需了解更多 Data Connect 工具,请参阅 MCP 服务器指南

更多 AI assistance for Data Connect 使用场景

以下部分介绍了示例使用情形,包括您可以让 Gemini 帮助您创建填充 Data Connect 的 mutation,然后查询该 mutation 以验证结果。

创建一种根据用户输入向数据库添加电影的 mutation

在本部分中,您将了解如何使用自然语言生成 GraphQL,以用于填充数据库的突变。此示例假定您使用的是Firebase Data Connect 文档“使用 Data Connect (Web) 构建”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. 接下来,创建一个用于验证电影是否已添加的查询。点击帮我写 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 (Web) 构建”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 辅助工具使用

与所有 AI 辅助工具和智能体一样,提示越好,输出结果就越有用。

当您在 Firebase 中向 Gemini 提供自然语言提示时,该助理会在后台将您的输入内容转换为更完善的提示。

如果您未使用 Gemini in Firebase 或其他 Firebase AI 辅助功能,而是使用 Cursor 或 Windsurf 等第三方 AI 工具,则可以通过使用类似的完整提示来获得有关 Data Connect 的更优质建议。

我们发布了提示模板,供您下载、调整和复制到 IDE 中:

下载并修改后,在熟悉的工具(例如 Cursor 或 Windsurf)中创建提示,如下所示:

  • 在 Cursor 中(请务必查看 Cursor 的最新说明):

    1. 点击右上角的“设置”图标。
    2. 选择规则标签页。
    3. 项目规则下,点击添加新规则按钮。
    4. 复制并粘贴规则。
  • 在 Windsurf 中(请务必查看 Windsurf 的最新说明):

    1. 点击右上角的层叠按钮,打开 Cascade 窗口。
    2. 在 Cascade 中,点击右上角滑动菜单中的自定义图标,然后前往规则面板。
    3. 点击 + 全局+ 工作区按钮,分别可在全局或工作区级层创建新规则。
    4. 复制并粘贴规则。

AI assistance for Data Connect 问题排查

请参阅排查 Gemini in Firebase 问题

价格

AI assistance for Data Connect 作为 Gemini in Firebase 的一部分提供,并包含在个人用户方案中。

如需了解详情,请参阅 Gemini in Firebase 价格

后续步骤