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...

相关推荐
2601_949847753 小时前
Form-data 跨端三方库仓颉适配全流程
前端·javascript·flutter
DigitalOcean4 小时前
WorkBuddy 接入自定义模型教程:配置 GPT、Claude 等大模型
llm·agent
iiiiii116 小时前
大模型批量生成中的左填充 (left padding)与右填充 (right padding):从生成正确性到 GRPO 的混合策略
人工智能·机器学习·语言模型·大模型·llm·attention·注意力
大龄秃头程序员6 小时前
Flutter 中我为什么把 GetX 定位为高效率方案,而不是默认架构方案
flutter
Eloudy8 小时前
从 huggingFace 下载大模型命令备忘
llm·gpu·rdma
lucas_AI8 小时前
不用一行恶意代码,就能教坏你的 AI Agent:SkillPoison 只用了 15 条『成功经验』
llm
lucas_AI8 小时前
把图转成文字再答题,为什么反而错得更狠?图森破了:答案就吊在那一条边上
llm
传奇开心果编程8 小时前
组合优先开发范式:从汉字造字原理到声明式UI组件组合思想
android·flutter·ios·swiftui·移动开发·harmonyos·android jetpack
lucas_AI9 小时前
DeepMind 发布 Genie 4:世界模型会「出声」了,一句话实时改写世界
人工智能·llm
lucas_AI10 小时前
为什么大模型总敢一本正经地胡说?研究者关掉了它脑内的 8 个「自信开关」
人工智能·llm