mcpField
F
firebase-ai-logic

firebase-ai-logic

github.com/firebase开发49134.5k 次安装1 天前更新
代码仓库

关于 firebase-ai-logic

面向开发者的技能,介绍如何通过客户端 SDK 将 Firebase AI Logic 接入移动和 Web 应用。涵盖 Gemini 模型调用、多模态输入、聊天、流式响应及生产环境安全措施。

主要功能

  1. 01Gemini API 提供方配置
  2. 02文本与多模态生成
  3. 03多轮聊天会话
  4. 04流式响应
  5. 05JSON 结构化输出
  6. 06搜索 grounding 与混合端侧推理

适用场景

  1. 01为移动应用添加 Gemini 功能
  2. 02分析图像、音频、视频或 PDF
  3. 03构建保留会话历史的聊天功能
  4. 04逐步展示生成内容

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/firebase/agent-skills --skill firebase-ai-logic

安装后在 Claude Code 中输入/firebase-ai-logic确认已加载。

附带文件references/usage_patterns_web.md

详细介绍

Firebase AI Logic 基础知识

概述

Firebase AI Logic 是 Firebase 的一款产品,开发者可以通过客户端 SDK 将生成式 AI 集成到移动应用和 Web 应用中。你可以直接从应用调用 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 目录中(其中包含 firebase.json),此命令会将当前选定的项目标记为“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 # Choose AI logic

这会自动在 Firebase 控制台中启用 Gemini Developer API。

更多信息请参阅 Firebase AI Logic 入门指南

核心功能

纯文本生成
多模态(文本 + 图像/音频/视频/PDF 输入)

Firebase AI Logic 可让 Gemini 模型直接分析应用中的图像文件。借助此功能,你可以生成说明文字、回答有关图像的问题、检测对象以及为图像分类。除了图像之外,Gemini 还可以分析音频、视频和 PDF 等其他媒体类型,只需将它们连同 MIME 类型作为内联数据传入即可。对于大于 20 megabytes 的文件(作为内联数据传入时可能导致 HTTP 413 错误),请将文件存储在 Cloud Storage for Firebase 中,并将其 URL 传递给 Gemini Developer API。

聊天会话(多轮)

使用 startChat 自动保留历史记录。

流式响应

若要通过在结果到达时逐步显示(类似打字效果)来改善用户体验,请使用 generateContentStream,而不是 generateContent,以更快地显示结果。

使用 Nano Banana 生成图像
  • 大多数用例都从 Gemini 开始;对于图像质量和特定风格至关重要的专业任务,则选择 Imagen。(例如:gemini-2.5-flash-image)
  • 需要升级到 Blaze 按需付费结算方案。
使用内置的 googleSearch 工具进行搜索溯源

支持的平台和框架

支持的平台和框架包括:适用于 Android 的 Kotlin 和 Java、适用于 iOS 的 Swift、适用于 Web 应用的 JavaScript、适用于 Flutter 的 Dart,以及适用于 Unity 的 C Sharp。

高级功能

结构化输出(JSON)

强制响应遵循特定的 JSON 架构。

设备端 AI(混合模式)

面向 Web 应用的混合设备端推理:Firebase Javascript SDK 会自动检查 Gemini Nano 是否可用(安装后),并在设备端和云端提示词执行之间切换。你需要按照特定步骤在 Chrome 浏览器中启用模型使用。更多信息请参阅混合设备端推理文档。

安全与生产环境

App Check

警告

关键安全要求: 为了安全地使用 AI Logic,你必须在应用中设置 App Check。这可以防止未经授权的客户端使用你的 API 配额并访问后端资源。

请参阅 使用 reCAPTCHA Enterprise 的 App Check 了解设置说明。

Remote Config

请注意,你无需将模型名称硬编码(例如 gemini-flash-lite-latest)。使用 Firebase Remote Config 动态更新模型版本,无需部署新的客户端代码。请参阅远程更改模型名称

初始化代码参考

语言、框架、平台Gemini API 提供方上下文 URL
Web Modular APIGemini Developer API(Developer API)firebase://docs/ai-logic/get-started

除非文档或用户要求使用其他模型,否则始终使用最新版本的 Gemini(gemini-flash-latest)。切勿使用 gemini-1.5-flash

参考资料

Web SDK 代码示例和用法模式

评论

支持 Markdown