本指南說明如何開始使用所選平台的 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 的體驗提供意見回饋