Hướng dẫn này cho bạn biết cách bắt đầu thực hiện các lệnh gọi đến Gemini API ngay từ ứng dụng của bạn bằng cách sử dụng Firebase AI Logic SDK máy khách cho nền tảng bạn chọn.
Bạn cũng có thể sử dụng hướng dẫn này để bắt đầu truy cập vào các mô hình Imagen bằng cách sử dụng các SDK Firebase AI Logic.
Điều kiện tiên quyết
Swift
Hướng dẫn này giả định rằng bạn đã quen thuộc với việc sử dụng Xcode để phát triển ứng dụng cho các nền tảng của Apple (chẳng hạn như iOS).
Đảm bảo rằng môi trường phát triển và ứng dụng của bạn trên các nền tảng của Apple đáp ứng những yêu cầu sau:
- Xcode 16.2 trở lên
- Ứng dụng của bạn nhắm đến iOS 15 trở lên hoặc macOS 12 trở lên
(Không bắt buộc) Xem ứng dụng mẫu.
Tải ứng dụng bắt đầu nhanh xuống
Bạn có thể nhanh chóng dùng thử SDK, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc sử dụng ứng dụng mẫu nếu không có ứng dụng nền tảng Apple của riêng mình. Để sử dụng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.
Kotlin
Hướng dẫn này giả định rằng bạn đã quen với việc sử dụng Android Studio để phát triển ứng dụng cho Android.
Đảm bảo rằng môi trường phát triển và ứng dụng Android của bạn đáp ứng các yêu cầu sau:
- Android Studio (phiên bản mới nhất)
- Ứng dụng của bạn nhắm đến API cấp 21 trở lên
(Không bắt buộc) Xem ứng dụng mẫu.
Bạn có thể nhanh chóng dùng thử SDK, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc sử dụng ứng dụng mẫu nếu không có ứng dụng Android của riêng mình. Để sử dụng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.
Java
Hướng dẫn này giả định rằng bạn đã quen với việc sử dụng Android Studio để phát triển ứng dụng cho Android.
Đảm bảo rằng môi trường phát triển và ứng dụng Android của bạn đáp ứng các yêu cầu sau:
- Android Studio (phiên bản mới nhất)
- Ứng dụng của bạn nhắm đến API cấp 21 trở lên
(Không bắt buộc) Xem ứng dụng mẫu.
Bạn có thể nhanh chóng dùng thử SDK, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc sử dụng ứng dụng mẫu nếu không có ứng dụng Android của riêng mình. Để sử dụng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.
Web
Hướng dẫn này giả định rằng bạn đã quen thuộc với việc sử dụng JavaScript để phát triển ứng dụng web. Hướng dẫn này không phụ thuộc vào khung.
Đảm bảo rằng môi trường phát triển và ứng dụng web của bạn đáp ứng các yêu cầu sau:
- (Không bắt buộc) Node.js
- Trình duyệt web hiện đại
(Không bắt buộc) Xem ứng dụng mẫu.
Bạn có thể nhanh chóng dùng thử SDK, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc dùng ứng dụng mẫu nếu không có ứng dụng web riêng. Để dùng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.
Dart
Hướng dẫn này giả định rằng bạn đã quen thuộc với việc phát triển ứng dụng bằng Flutter.
Đảm bảo rằng môi trường phát triển và ứng dụng Flutter của bạn đáp ứng các yêu cầu sau:
- Dart 3.2.0 trở lên
(Không bắt buộc) Xem ứng dụng mẫu.
Bạn có thể nhanh chóng dùng thử SDK, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc dùng ứng dụng mẫu nếu không có ứng dụng Flutter của riêng mình. Để dùng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.
Unity
Hướng dẫn này giả định rằng bạn đã quen với việc phát triển trò chơi bằng Unity.
Đảm bảo rằng môi trường phát triển và trò chơi Unity của bạn đáp ứng các yêu cầu sau:
- Unity Editor 2021 LTS trở lên
(Không bắt buộc) Xem ứng dụng mẫu.
Bạn có thể dùng thử SDK một cách nhanh chóng, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc dùng ứng dụng mẫu nếu không có trò chơi Unity của riêng mình. Để sử dụng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.
Bước 1: Thiết lập một dự án Firebase và kết nối ứng dụng của bạn
Đăng nhập vào bảng điều khiển Firebase, sau đó chọn dự án Firebase của bạn.
Trong bảng điều khiển Firebase, hãy chuyển đến trang Firebase AI Logic.
Nhấp vào Bắt đầu để chạy một quy trình có hướng dẫn giúp bạn thiết lập các API bắt buộc và tài nguyên cho dự án của mình.
Chọn nhà cung cấp "Gemini API" mà bạn muốn sử dụng với các SDK Firebase AI Logic. Gemini Developer API là lựa chọn nên dùng cho người dùng mới. Bạn có thể thêm thông tin thanh toán hoặc thiết lập Vertex AI Gemini API sau nếu muốn.
Gemini Developer API – billing optional (có trong gói giá Spark không tốn phí và bạn có thể nâng cấp sau nếu muốn)
Bảng điều khiển sẽ bật các API bắt buộc và tạo khoá API Gemini trong dự án của bạn.
Đừng thêm khoá API Gemini này vào cơ sở mã của ứng dụng. Tìm hiểu thêm.Vertex AI Gemini API – bắt buộc phải có thông tin thanh toán (yêu cầu gói giá Blaze trả theo mức sử dụng)
Bảng điều khiển sẽ giúp bạn thiết lập thông tin thanh toán và bật các API bắt buộc trong dự án của mình.
Nếu được nhắc trong quy trình của bảng điều khiển, hãy làm theo hướng dẫn trên màn hình để đăng ký ứng dụng và kết nối ứng dụng đó với Firebase.
Tiếp tục chuyển sang bước tiếp theo trong hướng dẫn này để thêm SDK vào ứng dụng của bạn.
Bước 2: Thêm SDK
Sau khi thiết lập dự án Firebase và kết nối ứng dụng với Firebase (xem bước trước), giờ đây, bạn có thể thêm SDK Firebase AI Logic vào ứng dụng của mình.
Swift
Sử dụng Swift Package Manager để cài đặt và quản lý các phần phụ thuộc của Firebase.
Thư viện Firebase AI Logic cung cấp quyền truy cập vào các API để tương tác với các mô hình Gemini và Imagen. Thư viện này được đưa vào làm một phần của Firebase SDK cho các nền tảng của Apple (firebase-ios-sdk
).
Nếu bạn đang sử dụng Firebase, hãy đảm bảo rằng gói Firebase của bạn là phiên bản 11.13.0 trở lên.
Trong Xcode, khi dự án ứng dụng của bạn đang mở, hãy chuyển đến File (Tệp) > Add Package Dependencies (Thêm phần phụ thuộc của gói).
Khi được nhắc, hãy thêm kho lưu trữ SDK Firebase cho các nền tảng của Apple:
https://github.com/firebase/firebase-ios-sdk
Chọn phiên bản SDK mới nhất.
Chọn thư viện
FirebaseAI
.
Khi hoàn tất, Xcode sẽ tự động bắt đầu phân giải và tải các phần phụ thuộc xuống ở chế độ nền.
Kotlin
Firebase AI Logic SDK cho Android (firebase-ai
) cung cấp quyền truy cập vào các API để tương tác với các mô hình Gemini và Imagen.
Trong tệp Gradle (cấp ứng dụng) của mô-đun (chẳng hạn như <project>/<app-module>/build.gradle.kts
), hãy thêm phần phụ thuộc cho thư viện Firebase AI Logic cho Android.
Bạn nên sử dụng Firebase Android BoM để kiểm soát việc tạo phiên bản thư viện.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.15.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }
Bằng cách sử dụng Firebase Android BoM, ứng dụng của bạn sẽ luôn sử dụng những phiên bản tương thích của thư viện Android trên Firebase.
Java
Firebase AI Logic SDK cho Android (firebase-ai
) cung cấp quyền truy cập vào các API để tương tác với các mô hình Gemini và Imagen.
Trong tệp Gradle (cấp ứng dụng) của mô-đun (chẳng hạn như <project>/<app-module>/build.gradle.kts
), hãy thêm phần phụ thuộc cho thư viện Firebase AI Logic cho Android.
Bạn nên sử dụng Firebase Android BoM để kiểm soát việc tạo phiên bản thư viện.
Đối với Java, bạn cần thêm 2 thư viện bổ sung.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.15.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") // Required for one-shot operations (to use `ListenableFuture` from Guava Android) implementation("com.google.guava:guava:31.0.1-android") // Required for streaming operations (to use `Publisher` from Reactive Streams) implementation("org.reactivestreams:reactive-streams:1.0.4") }
Bằng cách sử dụng Firebase Android BoM, ứng dụng của bạn sẽ luôn sử dụng những phiên bản tương thích của thư viện Android trên Firebase.
Web
Thư viện Firebase AI Logic cung cấp quyền truy cập vào các API để tương tác với các mô hình Gemini và Imagen. Thư viện này được đưa vào dưới dạng một phần của Firebase JavaScript SDK cho Web.
Cài đặt Firebase JS SDK cho Web bằng npm:
npm install firebase
Khởi động Firebase trong ứng dụng của bạn:
import { initializeApp } from "firebase/app"; // TODO(developer) Replace the following with your app's Firebase configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize FirebaseApp const firebaseApp = initializeApp(firebaseConfig);
Dart
Trình bổ trợ Firebase AI Logic cho Flutter (firebase_ai
) cung cấp quyền truy cập vào các API để tương tác với các mô hình Gemini và Imagen.
Trong thư mục dự án Flutter, hãy chạy lệnh sau để cài đặt trình bổ trợ cốt lõi và trình bổ trợ Firebase AI Logic:
flutter pub add firebase_core && flutter pub add firebase_ai
Trong tệp
lib/main.dart
, hãy nhập trình bổ trợ Firebase Core, trình bổ trợ Firebase AI Logic và tệp cấu hình mà bạn đã tạo trước đó:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';
Ngoài ra, trong tệp
lib/main.dart
, hãy khởi động Firebase bằng đối tượngDefaultFirebaseOptions
do tệp cấu hình xuất:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Tạo lại ứng dụng Flutter:
flutter run
Unity
Tải Firebase Unity SDK xuống, sau đó trích xuất SDK ở một nơi thuận tiện.
SDK Firebase Unity không dành riêng cho nền tảng.
Trong dự án Unity đang mở, hãy chuyển đến Assets (Tài sản) > Import Package (Nhập gói) > Custom Package (Gói tuỳ chỉnh).
Trong SDK đã trích xuất, hãy chọn gói
FirebaseAI
.Trong cửa sổ Import Unity Package (Nhập gói Unity), hãy nhấp vào Import (Nhập).
Trong bảng điều khiển Firebase, trong quy trình thiết lập, hãy nhấp vào Tiếp theo.
Bước 3: Khởi chạy dịch vụ và tạo một thực thể mô hình
Nhấp vào nhà cung cấp Gemini API để xem nội dung và mã dành riêng cho nhà cung cấp trên trang này. |
Trước khi gửi câu lệnh đến một mô hình Gemini, hãy khởi chạy dịch vụ cho nhà cung cấp API mà bạn đã chọn và tạo một phiên bản GenerativeModel
.
Swift
import FirebaseAI
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")
Kotlin
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-2.5-flash")
Java
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-2.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-flash" });
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// 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');
Unity
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.5-flash");
Xin lưu ý rằng tuỳ thuộc vào chức năng mà bạn đang sử dụng, không phải lúc nào bạn cũng tạo một thực thể GenerativeModel
.
- Để truy cập vào một mô hình Imagen, hãy tạo một thực thể
ImagenModel
.
Ngoài ra, sau khi hoàn tất hướng dẫn bắt đầu này, hãy tìm hiểu cách chọn một mô hình cho trường hợp sử dụng và ứng dụng của bạn.
Bước 4: Gửi yêu cầu cho mô hình
Giờ đây, bạn đã thiết lập xong để gửi yêu cầu về câu lệnh cho một mô hình Gemini.
Bạn có thể dùng generateContent()
để tạo văn bản từ một câu lệnh có chứa văn bản:
Swift
import FirebaseAI
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")
Kotlin
Đối với Kotlin, các phương thức trong SDK này là hàm tạm ngưng và cần được gọi qua Phạm vi Coroutine.
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-2.5-flash")
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
Đối với Java, các phương thức trong SDK này sẽ trả vềListenableFuture
.
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-2.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-flash" });
// Wrap in an async function so you can use await
async function run() {
// Provide a prompt that contains text
const prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
const result = await model.generateContent(prompt);
const response = result.response;
const text = response.text();
console.log(text);
}
run();
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// 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);
Unity
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.5-flash");
// Provide a prompt that contains text
var prompt = "Write a story about a magic backpack.";
// To generate text output, call GenerateContentAsync with the text input
var response = await model.GenerateContentAsync(prompt);
UnityEngine.Debug.Log(response.Text ?? "No text in response.");
Bạn có thể làm gì khác?
Tìm hiểu thêm về các mô hình được hỗ trợ
Tìm hiểu về các mô hình có sẵn cho nhiều trường hợp sử dụng và hạn mức cũng như giá của các mô hình đó.
Dùng thử các tính năng khác
- Tìm hiểu thêm về cách tạo văn bản từ các câu lệnh chỉ có văn bản, bao gồm cả cách truyền trực tuyến phản hồi.
- Tạo văn bản bằng cách đưa ra câu lệnh với nhiều loại tệp, chẳng hạn như hình ảnh, tệp PDF, video và tệp âm thanh.
- Xây dựng cuộc trò chuyện nhiều lượt (chat).
- Tạo đầu ra có cấu trúc (chẳng hạn như JSON) từ cả văn bản và câu lệnh đa phương thức.
- Tạo hình ảnh từ câu lệnh dạng văn bản (Gemini hoặc Imagen).
- Đầu vào và đầu ra của luồng (bao gồm cả âm thanh) bằng Gemini Live API.
- Sử dụng lệnh gọi hàm để kết nối các mô hình tạo sinh với hệ thống và thông tin bên ngoài.
Tìm hiểu cách kiểm soát hoạt động tạo nội dung
- Tìm hiểu về cách thiết kế câu lệnh, bao gồm các phương pháp hay nhất, chiến lược và ví dụ về câu lệnh.
- Định cấu hình các tham số mô hình như nhiệt độ và số lượng mã thông báo đầu ra tối đa (đối với Gemini) hoặc tỷ lệ khung hình và thế hệ người (đối với Imagen).
- Sử dụng chế độ cài đặt an toàn để điều chỉnh khả năng nhận được những câu trả lời có thể bị coi là gây hại.
Gửi ý kiến phản hồi về trải nghiệm của bạn với Firebase AI Logic