Hướng dẫn này cho bạn biết cách bắt đầu thực hiện lệnh gọi đến Gemini API ngay từ ứng dụng của bạn bằng cách sử dụng SDK ứng dụng Firebase AI Logic cho nền tảng mà 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 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 (như iOS).
Đảm bảo rằng môi trường phát triển và ứng dụng trên nền tảng Apple của bạn đáp ứng các 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 đầy đủ 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 trên 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 thuộc 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 đầy đủ 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 thuộc 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 đầy đủ 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 đầy đủ 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 web 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.
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 đầy đủ 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 Flutter 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.
Unity
Hướng dẫn này giả định rằng bạn đã quen thuộc 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ể nhanh chóng dùng thử SDK, xem cách triển khai đầy đủ nhiều trường hợp sử dụng hoặc sử 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 dự án Firebase và kết nối ứng dụng
Đă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 để bắt đầu quy trình làm việc 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 SDK Firebase AI Logic. Bạn luôn có thể thiết lập và sử dụng nhà cung cấp API khác sau này nếu muốn.
Gemini Developer API – không bắt buộc phải thanh toán (có trong gói giá Spark không tính phí)
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. Bạn có thể thiết lập thông tin thanh toán sau nếu muốn nâng cấp gói giá.Vertex AI Gemini API – bắt buộc phải 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 hệ thống thanh toán và bật các API bắt buộc trong dự án.
Nếu được nhắc trong quy trình làm việc 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 bước tiếp theo trong hướng dẫn này để thêm SDK vào ứng dụng.
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.
Swift
Sử dụng Trình quản lý gói Swift để cài đặt và quản lý các phần phụ thuộc 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 mô hình Gemini và Imagen. Thư viện này được đưa vào
trong SDK Firebase cho các nền tảng Apple (firebase-ios-sdk
).
Nếu bạn đang sử dụng Firebase, hãy đảm bảo gói Firebase của bạn là phiên bản v11.13.0 trở lên.
Trong Xcode, khi dự án ứng dụng đang mở, hãy chuyển đến File > Add Package Dependencies (Tệp > Thêm phần phụ thuộc gói).
Khi được nhắc, hãy thêm kho lưu trữ SDK của các nền tảng Apple của Firebase:
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
SDK Firebase AI Logic 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 dành 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.13.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
SDK Firebase AI Logic 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 dành 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 hai thư viện bổ sung.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.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 mô hình Gemini và Imagen. Thư viện này được đưa vào là một phần của SDK JavaScript Firebase cho Web.
Cài đặt SDK JS Firebase cho web bằng npm:
npm install firebase
Khởi động Firebase trong ứng dụng:
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.
Từ 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ợ lõi Firebase, 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 chạy 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 SDK Firebase Unity xuống, sau đó giải nén 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).
Quay lại 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. |
Khi sử dụng SDK ứng dụng Firebase AI Logic với Gemini Developer API, bạn KHÔNG thêm khoá API Gemini vào cơ sở mã của ứng dụng. Tìm hiểu thêm.
Trước khi gửi lời nhắc đến 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 thực thể 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.0-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.0-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.0-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.0-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.0-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.0-flash");
Xin lưu ý rằng tuỳ thuộc vào chức năng bạn đang sử dụng, bạn có thể không phải lúc nào cũng tạo được thực thể GenerativeModel
.
- Để truy cập vào mô hình Imagen, hãy tạo một thực thể
ImagenModel
.
Ngoài ra, sau khi bạn 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 lời nhắc đến một mô hình
Bây giờ, bạn đã thiết lập để gửi yêu cầu lời nhắc đến mô hình Gemini.
Bạn có thể sử dụng generateContent()
để tạo văn bản từ một câu lệnh 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.0-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 từ 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.0-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 trả về mộtListenableFuture
.
// 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.0-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.0-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.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);
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.0-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ẫu đượ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, cũng như hạn mức và giá của các mô hình đó.
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ừ lời nhắc chỉ có văn bản, bao gồm cả cách truyền trực tuyến nội dung phản hồi.
- Tạo văn bản bằng cách nhắc với nhiều loại tệp, chẳng hạn như hình ảnh, tệp PDF, video và âm thanh.
- Xây dựng cuộc trò chuyện nhiều lượt (trò chuyện).
- Tạo kết quả có cấu trúc (như JSON) từ cả lời nhắc bằng văn bản và đa phương thức.
- Tạo hình ảnh từ câu lệnh dạng văn bản.
- Đầu vào và đầu ra của luồng (bao gồm cả âm thanh) bằng Gemini Live API.
- Sử dụng tính năng 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 việc tạo nội dung
- Tìm hiểu về thiết kế câu lệnh, bao gồm cả các phương pháp hay nhất, chiến lược và câu lệnh mẫu.
- Định cấu hình các tham số mô hình như nhiệt độ và mã thông báo đầu ra tối đa (đối với Gemini) hoặc tỷ lệ khung hình và tạo 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à có hại.
Gửi ý kiến phản hồi về trải nghiệm của bạn với Firebase AI Logic