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

相关推荐
Larcher13 小时前
新手也能学会,100行代码玩AI LOGO
前端·llm·html
架构师日志14 小时前
使用大模型+LangExtract从复杂文本提取结构化数据(三)——提取表格列表类型数据
llm
智泊AI15 小时前
AI圈炸锅了!大模型的下一片蓝海,彻底爆发了!
llm
常先森16 小时前
【解密源码】 RAGFlow 切分最佳实践- naive parser 语义切块(excel & csv & txt 篇)
架构·llm·agent
大模型教程17 小时前
RAG核心基础 Embedding 概念与技术详解
程序员·llm·agent
大模型教程17 小时前
一文搞懂大模型:何为深入理解Agent?
程序员·llm·agent
sunly_17 小时前
Flutter:视频预览功能
javascript·flutter·音视频
AI大模型17 小时前
一文搞懂RAG:阿里70K算法岗为什么都在用它?
程序员·llm·agent
AI大模型17 小时前
面试官狂问的 28 个 RAG 问题全解析:一次讲透,从基础到架构优化
程序员·llm·agent
一见20 小时前
多头注意力论文的作用
大模型·llm