Bắt đầu sử dụng API Gemini bằng SDK Logic AI Firebase

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.

    Tải ứng dụng mẫu 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 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.

    Tải ứng dụng mẫu 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 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.

    Tải ứng dụng mẫu 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 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.

    Tải ứng dụng mẫu 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 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.

    Tải ứng dụng mẫu 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ó 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

  1. Đăng nhập vào bảng điều khiển Firebase, sau đó chọn dự án Firebase của bạn.

  2. Trong bảng điều khiển Firebase, hãy chuyển đến trang Firebase AI Logic.

  3. 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.

  4. 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 APIkhô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 APIbắ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.

  5. 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.

  6. 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 GeminiImagen. 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.

  1. 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).

  2. 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
    
  3. Chọn phiên bản SDK mới nhất.

  4. 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 GeminiImagen.

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 GeminiImagen.

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 GeminiImagen. Thư viện này được đưa vào là một phần của SDK JavaScript Firebase cho Web.

  1. Cài đặt SDK JS Firebase cho web bằng npm:

    npm install firebase
    
  2. 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 GeminiImagen.

  1. 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
    
  2. 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';
    
  3. Ngoài ra, trong tệp lib/main.dart, hãy khởi chạy Firebase bằng đối tượng DefaultFirebaseOptions do tệp cấu hình xuất:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Tạo lại ứng dụng Flutter:

    flutter run
    

Unity

  1. 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.

  2. 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).

  3. Trong SDK đã trích xuất, hãy chọn gói FirebaseAI.

  4. Trong cửa sổ Import Unity Package (Nhập gói Unity), hãy nhấp vào Import (Nhập).

  5. 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.

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ột 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.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ứcgiá của các mô hình đó.

Thử các tính năng khác

Tìm hiểu cách kiểm soát việc tạo nội dung

Bạn cũng có thể thử nghiệm với các lời nhắc và cấu hình mô hình, thậm chí nhận được một đoạn mã được tạo bằng Google AI Studio.


Gửi ý kiến phản hồi về trải nghiệm của bạn với Firebase AI Logic