将 Firebase AI Logic(Gemini API)集成到 Web 应用中的官方技能。涵盖设置、多模态推理、结构化输出和安全性。
Firebase AI Logic 基础
概述
Firebase AI Logic 是 Firebase 的一个产品,允许开发者使用客户端 SDK 为移动和 Web 应用添加生成式 AI 功能。你可以直接从应用调用 Gemini 模型,无需管理专用后端。Firebase AI Logic 以前称为“Vertex AI for Firebase”,代表了 Google 面向移动和 Web 开发者的 AI 集成平台的演进。
它支持两个 Gemini API 提供商:
- Gemini Developer API:提供免费套餐,适合原型开发,生产环境按需付费
- Vertex AI Gemini API:适合大规模企业级生产环境,需要 Blaze 套餐
默认使用 Gemini Developer API,仅当应用需要时才使用 Vertex AI Gemini API。
设置与初始化
前提条件
- 开始前,请确保已安装 Node.js 16+ 和 npm。如果尚未安装,请先安装。
- 在开始之前,确定用户希望构建的平台:Android、iOS、Flutter 或 Web。
- 如果平台不受支持,请引导用户查阅 Firebase 文档,了解如何为其应用设置 AI Logic(与用户分享此链接 https://firebase.google.com/docs/ai-logic/get-started)
安装
该库是标准 Firebase Web SDK 的一部分。
npm install -g firebase@latest
如果你在包含 firebase.json 的 Firebase 目录中,使用以下命令可以查看当前选中的项目(标记为“current”):
npx -y firebase-tools@latest projects:list
确保当前项目至少关联一个应用:
npx -y firebase-tools@latest apps:list
使用 init 命令初始化 AI Logic SDK:
npx -y firebase-tools@latest init ailogic
这将自动在 Firebase 控制台中启用 Gemini Developer API。
更多信息请参阅 Firebase AI Logic 入门指南
核心功能
[!WARNING]
关键:使用当前模型名称:
始终查看 Firebase AI Logic 模型文档 以获取当前支持的模型名称。不要使用gemini-2.0-pro或gemini-2.0-flash或其他已停用的旧模型。
纯文本生成
多模态(文本 + 图像/音频/视频/PDF 输入)
Firebase AI Logic 允许 Gemini 模型直接从你的应用分析图像文件。这可以实现生成标题、回答关于图像的问题、检测对象和分类图像等功能。除了图像,Gemini 还可以通过将其他媒体类型(如音频、视频和 PDF)作为内联数据(附带 MIME 类型)传递来分析它们。对于大于 20 MB 的文件(作为内联数据可能导致 HTTP 413 错误),请将其存储在 Cloud Storage for Firebase 中,并将 URL 传递给 Gemini Developer API。
聊天会话(多轮)
使用 startChat 自动维护历史记录。
流式响应
为了改善用户体验,在结果到达时显示部分结果(类似打字效果),请使用 generateContentStream 代替 generateContent,以更快地显示结果。
使用 Nano Banana 生成图像
[!WARNING]
使用当前图像模型名称:
始终查看 Firebase AI Logic 模型文档 以获取当前支持的图像生成(Nano Banana)模型名称。
- 需要升级到 Blaze 按需付费套餐。
使用内置的 googleSearch 工具进行搜索接地
支持的平台和框架
支持的平台和框架包括:Android 的 Kotlin 和 Java、iOS 的 Swift、Web 应用的 JavaScript、Flutter 的 Dart 以及 Unity 的 C#。
高级功能
结构化输出(JSON)
强制要求响应符合特定的 JSON 模式。
设备端 AI(混合)
Web 应用的混合设备端推理,Firebase JavaScript SDK 会自动检查 Gemini Nano 的可用性(安装后),并在设备端或云端执行提示之间切换。这需要在 Chrome 浏览器中执行特定步骤以启用模型使用,更多信息请参阅 混合设备端推理文档。
安全与生产
App Check
[!WARNING]
关键安全要求: 为了安全使用 AI Logic,你必须在应用中设置 App Check。这可以防止未经授权的客户端使用你的 API 配额并访问你的后端资源。
请参阅 App Check 与 reCAPTCHA Enterprise 了解设置说明。
Remote Config
考虑无需硬编码模型名称(例如特定的模型版本字符串)。使用 Firebase Remote Config 动态更新模型版本,无需部署新的客户端代码。请参阅 远程更改模型名称
[!WARNING]
关键:需要后端配置
对于所有平台(Flutter、Android、iOS、Web),你必须运行npx firebase-tools init ailogic来配置服务。flutterfire configure仅处理客户端配置,不会启用 AI 服务,会导致PERMISSION_DENIED错误。
初始化代码参考
| 语言、框架、平台 | Gemini API 提供商 | 上下文 URL |
|---|---|---|
| Web 模块化 API | Gemini Developer API(开发者 API) | firebase://docs/ai-logic/get-started |
| iOS (Swift) | Gemini Developer API | ios_setup.md |
| Flutter (Dart) | Gemini Developer API | flutter_setup.md |
[!WARNING]
关键:使用当前模型名称:
始终查看 Firebase AI Logic 模型文档 以获取当前支持的模型名称。不要使用gemini-2.0-pro或gemini-2.0-flash或其他已停用的旧模型。






