本指南說明如何開始使用所選平台的 Vertex AI in Firebase SDK,直接從應用程式呼叫 Vertex AI Gemini API。
其他與 Gemini API 相關的選項
您可以選擇嘗試 Gemini API
的「Google AI」替代版本,使用 Google AI Studio 和 Google AI 用戶端 SDK 取得免付費存取權 (在限制範圍內且適用情況下)。這些 SDK 應僅用於行動應用程式和網頁應用程式的原型設計。熟悉 Gemini API 的運作方式後,請遷移至我們的 Vertex AI in Firebase SDK (本說明文件),其中提供許多對行動和網頁應用程式重要的額外功能,例如使用 Firebase App Check 保護 API 免遭濫用,以及支援要求中的大型媒體檔案。
視需要呼叫 Vertex AI Gemini API 伺服器端 (例如使用 Python、Node.js 或 Go)
使用伺服器端 Vertex AI SDK、Firebase Genkit 或 Firebase Extensions 來處理 Gemini API。
請注意,您也可以使用這份指南,開始使用 Vertex AI in Firebase SDK 存取 Imagen 模型。
事前準備
本指南假設您已熟悉如何使用 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 連結的應用程式
設定 Firebase 專案
登入 Firebase 控制台。
按一下「建立專案」,然後使用下列任一選項:
選項 1:在「建立專案」工作流程的第一個步驟中輸入新專案名稱,即可建立全新的 Firebase 專案 (以及其底層 Google Cloud 專案)。
選項 2:在現有的 Google Cloud 專案中「新增 Firebase」,方法是在「建立專案」工作流程的第一個步驟中,從下拉式選單中選取 Google Cloud 專案名稱。
請注意,在系統提示時,您不需要設定 Google Analytics 來使用 Vertex AI in Firebase SDK。
在 Firebase 主控台中,前往「運用 Gemini 建構內容」頁面。
按一下 Vertex AI in Firebase 資訊卡,即可啟動工作流程,協助您完成下列工作:
升級專案,採用即付即用 Blaze 定價方案。
在專案中啟用必要的 API (Vertex AI API 和 Vertex AI in Firebase API)。
將應用程式連結至 Firebase
安裝必要的指令列工具:
如果您尚未安裝,請安裝 Firebase CLI。
執行下列指令,使用 Google 帳戶登入 Firebase:
firebase login
請從任何目錄執行下列指令,安裝 FlutterFire CLI:
dart pub global activate flutterfire_cli
將應用程式設為使用 Firebase:
使用 FlutterFire CLI 設定 Flutter 應用程式,以便連線至 Firebase。
在 Flutter 專案目錄中執行下列指令,即可啟動應用程式設定工作流程:
flutterfire configure
這個
flutterfire configure
工作流程有什麼功能?flutterfire configure
工作流程會執行以下操作:要求您選取 Flutter 應用程式支援的平台 (iOS、Android、網頁)。FlutterFire CLI 會針對每個所選平台,在 Firebase 專案中建立新的 Firebase 應用程式。
您可以選擇使用現有的 Firebase 專案,或建立新的 Firebase 專案。如果您已在現有 Firebase 專案中註冊應用程式,FlutterFire CLI 會根據目前的 Flutter 專案設定嘗試比對。
建立 Firebase 設定檔 (
firebase_options.dart
),並將其新增至 Flutter 應用程式的lib/
目錄。
在本指南的後續步驟中,您將在應用程式中新增 Vertex AI in Firebase SDK,並完成使用 SDK 和 Gemini API 所需的初始化作業。
步驟 2:新增 SDK
Firebase 專案設定完成,應用程式已連結至 Firebase (請參閱上一個步驟),現在您可以將 Vertex AI in Firebase SDK 新增至應用程式。
Flutter 的 Vertex AI in Firebase 外掛程式 (firebase_vertexai
) 提供 API 存取權,可用於與 Gemini 和 Imagen 模型互動。
在 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 呼叫並提示 Gemini 模型。
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
final model =
FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');
完成這份入門指南後,請瞭解如何選擇適合用途和應用程式的模型和 (選用) 位置。
步驟 4:向模型傳送提示要求
您已將應用程式連結至 Firebase、新增 SDK,並初始化 Vertex AI 服務和生成模型,因此可以向 Gemini 模型傳送提示要求。
您可以使用 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
final model =
FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-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 API 的其他功能
- 進一步瞭解如何透過文字提示產生文字,包括如何串流回應。
- 使用多模態提示 (包括文字、圖片、PDF、影片和音訊) 來生成文字。
- 建構多輪對話 (聊天)。
- 從文字和多模態提示產生結構化輸出內容 (例如 JSON)。
- 使用函式呼叫,將生成模型連結至外部系統和資訊。
瞭解如何控管內容產生
- 瞭解提示設計,包括最佳做法、策略和提示範例。
- 設定模型參數,例如溫度和輸出符記數量上限 (適用於 Gemini),或顯示比例和人物生成 (適用於 Imagen)。
- 使用安全性設定,調整可能會收到有害回應的機率。
針對 Vertex AI in Firebase 的使用體驗提供意見回饋