Flutter集成Firebase AI Logic

Firebase AI Logic简介

Firebase AI Logic可让您使用Google最新的生成式AI模型:Gemini模型和 Imagen模型,可以使用 Firebase AI Logic客户端SDK。Gemini支持多模态(图片,视频,文档等格式)和自然语言输入。

Firebase AI Logic开启

  1. 登录Firebase控制台,然后选择您的Firebase项目。
  2. 在Firebase控制台中,前往Firebase AI Logic页面。
  3. 点击开始,启动引导式工作流,帮助您为项目设置必需的API和资源。 选择要与 Firebase AI Logic SDK 搭配使用的"Gemini API"提供方。Gemini Developer API 建议首次使用该功能的用户选择此选项。如果您愿意,可以随时添加结算信息或设置 Vertex AI Gemini API。

添加Firebase AI Logic的SDK

按照上图中的步骤,将Firebase添加到您的Flutter应用。 在您的Flutter项目目录中,运行以下命令以安装核心插件和 Firebase AI Logic 插件:

在lib/main.dart文件中,导入Firebase 核心插件、Firebase AI Logic插件以及您之前生成的配置文件。 同样在lib/main.dart 文件中,使用配置文件导出的 DefaultFirebaseOptions对象初始化 Firebase。 安卓设备运行时候会ndk版本过低的错误,错误如下所示:

可以按照图片中的修复方案进行修复。

初始化服务并创建模型实例并调用相应的API

scss 复制代码
  // Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
  final model =
  FirebaseAI.googleAI().generativeModel(model: 'gemini-2.5-flash');

// Provide a prompt that contains text
  final prompt = [Content.text('Write a story about a magic backpack.')];

// To generate text output, call generateContent with the text input
  final response = await model.generateContent(prompt);
  print(response.text);

示例代码如上所示。

LLM(大语言模型)简介

LLM如何通信,步骤:

  1. 用户输入:用户在聊天界面中输入文本,或者其他格式的输入。
  2. 请求格式设置:应用将文本格式设置为Gemini API的Content对象。
  3. API通信:系统会通过Firebase AI逻辑将文本发送到 Gemini API。
  4. LLM处理:Gemini模型会处理文本并生成回答。
  5. 响应处理:应用接收响应并更新界面。 LLM通讯其实也就是和CS建构相似的一种架构,通过协议来处理请求处理数据,并把相应结果返回的请求者。 LLM调用本地函数的过程如下所示:
  6. 函数选择:LLM会根据用户的请求决定是否有必要进行函数调用。
  7. 参数生成:LLM 会生成符合函数架构的参数值。
  8. 函数调用格式:LLM 会在响应中发送结构化函数调用对象。
  9. 应用处理:您的应用会收到此调用并执行相关函数(在下一步中实现)。
  10. 响应集成:在多轮对话中,LLM 会预期返回函数的结果。 效果图如下所示:

参考资料

codelabs.developers.google.com/codelabs/fl... firebase.google.com/docs/ai-log...

firebase.flutter.dev/docs/overvi...

相关推荐
掰头战士1 小时前
MCP、Skill、Plugin,都是给agent拓展能力,到底有何区别?
typescript·llm·agent
DigitalOcean3 小时前
Kimi K3 + Claude:AI Agent 多模型路由实战
llm·agent
风早爽太4 小时前
Flutter 开发笔记:share_plus 分享插件
笔记·flutter
●VON4 小时前
Flutter 鸿蒙插件适配实战:用 boot_time_plugin 1.0.0 读取启动时间与运行时长
flutter·华为·harmonyos
武子康4 小时前
SGLang 一加并发就出问题,先查显存还是队列
人工智能·llm·agent
挖掘狂人5 小时前
从 LLM 到 Agent Skill:9 个底层概念,一次理清整个 AI 技术栈
llm·agent·ai编程
dong_junshuai5 小时前
每天一个开源项目#97 LLM Wiki:把RAG结果变成可维护知识资产
开源·llm·github
ProbeX5 小时前
一文搞懂 AI 里的 Harness:它和 Agent、Skill、LLM 到底啥关系?
llm
不羁的木木7 小时前
给鸿蒙 App 增加唤起系统邮件发送能力 —— flutter_email_sender 的鸿蒙使用指南
flutter·华为·harmonyos
●VON7 小时前
Flutter 鸿蒙插件适配实战:用 accurate_storage_info 0.1.1 查询总量、可用量与已用量
flutter·华为·harmonyos