您可以在 Firebase 中使用 Gemini,以便构建要包含在客户端代码中的架构、查询和变更。
您可以描述应用并总结其数据模型,或者使用自然语言描述您要生成的查询或更改,Firebase 中的 Gemini 将为您提供等效的 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 查询和变更。
使用 Gemini in Firebase 生成 GraphQL 架构、查询和变更
Data Connect 的 AI 辅助功能可在许多情境和工作流中使用。
在 Firebase 控制台中创建新应用及其初始架构和操作
当您创建新的 Firebase 项目并设置开发新应用时,Firebase 控制台会自动提供 AI 协助来生成架构和操作。
通过此设置流程,您可以先描述应用,然后再描述 AI 助理:
- 生成完整的 Data Connect 架构
- 生成一组实用的核心查询和更改,您可以将其与客户端代码集成。
您可以将在控制台中创建的这些资源同步到本地开发环境,以便继续与客户端集成。
入门指南中介绍了此工作流。
添加了要在 Firebase 控制台中运行的新查询和更改
如需使用 AI assistance for Data Connect 基于自然语言生成 GraphQL,请执行以下操作:
在项目中打开 Data Connect,然后在服务下选择您的数据源。
点击数据。
点击帮我写 GraphQL pen_spark 图标。
在显示的文本字段中,以自然语言描述您希望生成的查询或变更,然后点击生成。
例如,如果您使用的是“使用 Data Connect (Web) 构建”Codelab 中引用的电影数据源,则可以提出以下问题:“返回 2022 年排名前五位的电影,按评分降序顺序排列”,这可能会返回如下结果:
query TopMovies2022 { movies(where: {releaseYear: {eq: 2022}}, orderBy: [{rating: DESC}], limit: 5) { id title rating releaseYear } }
查看回答:
- 如果回答看起来正确无误,请点击插入,将该回答插入到代码编辑器中。
- 如果可以对回答进行优化,请点击修改,更新提示,然后点击重新生成。
在接受该回答后,如果适用,请在参数部分中设置以下内容:
- 变量:如果查询或变更包含变量,请在此处定义它们。使用 JSON 定义它们,例如
{"title":"The Matrix", "releaseYear":"1999"}
。 - 授权:选择用于运行查询或变更的授权上下文(已通过身份验证的管理员或未通过身份验证的管理员)。
- 变量:如果查询或变更包含变量,请在此处定义它们。使用 JSON 定义它们,例如
点击代码编辑器中的运行,然后查看结果。
如需在代码编辑器中测试多个查询或变更,请确保为它们命名。例如,以下查询命名为 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 架构
- 生成一组实用的核心查询和更改,您可以将其与客户端代码集成。
本地原型设计入门指南介绍了此工作流程。
更多 AI assistance for Data Connect 用例
以下部分介绍了一些示例用例,其中包括一个用例,您可以让 Gemini 帮助您创建用于填充 Data Connect 的更改,然后查询该更改以验证结果。
创建一个用于根据用户输入将电影添加到数据库的更改
在本部分中,您将通过一个示例了解如何使用自然语言为可用于填充数据库的更改生成 GraphQL。此示例假定您使用的是 Firebase Data Connect 文档和“使用 Data Connect (Web) 构建”Codelab 中使用的电影数据库架构。
在 Firebase 控制台中,打开 Data Connect。
选择您的服务和数据源,然后打开数据标签页。
点击帮我写 GraphQLpen_spark 图标,然后在随即显示的框中输入您的查询:
Create a movie based on user input.
点击生成。系统会返回该更改。例如,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 }) }
查看输出。如有必要,请点击修改以优化提示,然后点击重新生成。
接下来,点击插入将更改插入到数据编辑器中。
如需执行更改,您需要添加变量。在参数部分,打开变量并添加一些测试变量:
{"title":"My amazing movie", "releaseYear":2024, "genre": "Comedy", "rating": 8, "description": "A new movie to test mutations", "imageUrl": "", "tags": ["comedy","space travel"]}
点击运行。
接下来,创建一个查询来验证您的电影是否已添加。点击帮我写 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 } }
插入并运行查询。您添加的电影应显示在历史记录字段中。
创建一个查询,用于根据用户提供的类型和评分列出评价
在本部分中,您将通过一个示例了解如何使用自然语言为查询生成 GraphQL。本例假定您使用的是 Firebase Data Connect 文档和“使用 Data Connect (Web) 构建”Codelab 中使用的电影数据库。
在 Firebase 控制台中,打开 Data Connect。
选择您的服务和数据源,然后打开数据标签页。
点击帮我写 GraphQLpen_spark 图标,然后在随即显示的框中输入您的查询:
List all movie reviews, based on user-configurable genre and ratings.
点击生成。系统会返回查询。例如,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 } }
查看输出。如有必要,请点击修改以优化提示,然后点击重新生成。
接下来,点击插入将更改插入到数据编辑器中。
如需测试此查询,您需要添加变量。在参数部分,打开变量,然后添加要用于测试的变量:
{"genre":"sci-fi", "minRating":4, "maxRating":9}
点击运行。
设计要与第三方 AI 辅助工具搭配使用的提示
与所有 AI 辅助工具和客服人员一样,提示越准确,输出结果就越实用。
当您在 Firebase 中向 Gemini 提供自然语言提示时,该助理会在后台将您的输入转换为更完整的提示。
如果您未使用 Firebase 中的 Gemini 或其他 Firebase AI 助理,而是使用 Cursor 或 Windsurf 等第三方 AI 工具,则可以使用类似的详细提示来获得有关 Data Connect 的更实用建议。
我们发布了一些提示模板,供您下载、修改并复制到您的 IDE 中:
下载并修改后,在熟悉的工具(例如 Cursor 或 Windsurf)中创建提示,如下所示:
在 Cursor 中(请务必查看 Cursor 中的最新说明):
- 点击右上角的“设置”图标。
- 选择规则标签页。
- 在项目规则下,点击添加新规则按钮。
- 复制并粘贴该规则。
在 Windsurf 中(请务必查看 Windsurf 的最新说明):
- 点击右上角的叠加按钮,打开“叠加”窗口。
- 点击“Cascade”右上角滑块菜单中的自定义图标,然后前往规则面板。
- 点击 + 全局或 + 工作区按钮,分别在全局级别或工作区级别创建新规则。
- 复制并粘贴该规则。
AI assistance for Data Connect 问题排查
价格
AI assistance for Data Connect 作为 Gemini in Firebase 的一部分提供(对于个人用户免费提供)。
如需了解详情,请参阅 Gemini in Firebase 价格。
后续步骤
- 如需详细了解查询和变更,请参阅 Data Connect 架构、查询和变更。
- 详细了解 Firebase 中的 Gemini。