本指南介绍了如何开始使用适用于所选平台的 Vertex AI in Firebase SDK 直接从应用调用 Vertex AI Gemini API。
前提条件
本指南假定您熟悉如何使用 Flutter 开发应用。
确保您的开发环境和 Flutter 应用满足以下要求:
- Dart 3.2.0 或更高版本
(可选)查看示例应用。
您可以快速试用该 SDK,查看各种用例的完整实现,或者使用示例应用(如果您没有自己的 Flutter 应用)。如需使用示例应用,您需要将其关联到 Firebase 项目。
第 1 步:设置 Firebase 项目并将应用连接到 Firebase
如果您已有 Firebase 项目和已与 Firebase 相关联的应用
在 Firebase 控制台中,前往使用 Gemini 进行构建页面。
点击 Vertex AI in Firebase 卡片可启动一个工作流,帮助您完成以下任务:
升级您的项目,以使用随用随付 Blaze 定价方案。
在项目中启用所需的 API(Vertex AI API 和 Vertex AI in Firebase API)。
继续执行本指南中的下一步,将 SDK 添加到您的应用。
如果您还没有 Firebase 项目和与 Firebase 关联的应用
第 2 步:添加 SDK
设置完 Firebase 项目并将应用关联到 Firebase(请参阅上一步)后,您现在可以将 Vertex AI in Firebase SDK 添加到应用了。
Flutter 的 Vertex AI in Firebase 插件 (firebase_vertexai
) 可提供对 Vertex AI Gemini API 的访问权限。
在您的 Flutter 项目目录中,运行以下命令以安装核心插件和 Vertex AI in Firebase 插件:
flutter pub add firebase_core && flutter pub add firebase_vertexai
在
lib/main.dart
文件中,导入您之前生成的 Firebase 核心插件、Vertex AI in Firebase 插件和配置文件:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_vertexai/firebase_vertexai.dart'; import 'firebase_options.dart';
同样在
lib/main.dart
文件中,使用配置文件导出的DefaultFirebaseOptions
对象初始化 Firebase:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
重新构建 Flutter 应用:
flutter run
第 3 步:初始化 Vertex AI 服务和生成式模型
您需要先初始化 Vertex AI 服务和生成式模型,然后才能进行任何 API 调用。
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
final model =
FirebaseVertexAI.instance.generativeModel(model: 'gemini-1.5-flash');
完成本入门指南后,了解如何选择适合您的应用场景和应用的 Gemini 模型和(可选)位置。
第 4 步:调用 Vertex AI Gemini API
现在,您已将应用与 Firebase 相关联、添加了 SDK,并初始化了 Vertex AI 服务和生成式模型,接下来就可以调用 Vertex AI Gemini API 了。
您可以使用 generateContent()
根据纯文本提示请求生成文本:
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
final model =
FirebaseVertexAI.instance.generativeModel(model: 'gemini-1.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);
您还可以执行以下操作
详细了解 Gemini 型号
了解适用于各种用例的模型及其配额和价格。
试用 Gemini API 的其他功能
- 详细了解如何根据仅包含文本的提示生成文本,包括如何流式传输回答。
- 从多模态提示(包括文本、图片、PDF、视频和音频)生成文本。
- 构建多轮对话(聊天)。
- 根据文本和多模态提示生成结构化输出(例如 JSON)。
- 使用函数调用将生成式模型连接到外部系统和信息。
了解如何控制内容生成
您还可以使用 Vertex AI Studio 对提示和模型配置进行实验。就您使用 Vertex AI in Firebase 的体验提供反馈