Làm quen với Gemini sử dụng công nghệ AI của Vertex sản phẩm trong Firebase{4} SDK


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 Vertex AI Gemini API ngay từ ứng dụng của bạn bằng cách sử dụng SDK Vertex AI in Firebase cho nền tảng mà bạn đã chọn.

Điều kiện tiên quyết

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 Android của bạn phải 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.

Bước 1: Thiết lập dự án Firebase và kết nối ứng dụng với Firebase

Nếu bạn đã có một dự án Firebase và một ứng dụng được kết nối với Firebase

  1. Trong bảng điều khiển Firebase, hãy chuyển đến trang Tạo bằng Gemini.

  2. Nhấp vào thẻ Vertex AI in Firebase để khởi chạy quy trình công việc giúp bạn hoàn thành các nhiệm vụ sau:

  3. Tiếp tục bước tiếp theo trong hướng dẫn này để thêm SDK vào ứng dụng.

Nếu bạn chưa có dự án Firebase và ứng dụng được kết nối với Firebase


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 Vertex AI in Firebase vào ứng dụng.

SDK Vertex AI in Firebase cho Android (firebase-vertexai) cung cấp quyền truy cập vào Vertex AI Gemini API.

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 Vertex AI in Firebase 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.

Kotlin+KTX

dependencies {
    // ... other androidx dependencies

    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.6.0"))

    // Add the dependency for the Vertex AI in Firebase library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-vertexai")
}

Java

Đố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.6.0"))

    // Add the dependency for the Vertex AI in Firebase library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-vertexai")

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

Bước 3: Khởi chạy dịch vụ Vertex AI và mô hình tạo sinh

Trước khi có thể thực hiện bất kỳ lệnh gọi API nào, bạn cần khởi chạy dịch vụ Vertex AI và mô hình tạo sinh.

Kotlin+KTX

Đố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 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
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")

Java

Đối với Java, các phương thức truyền trực tuyến trong SDK này trả về một loại Publisher từ thư viện Luồng phản ứng.
// 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
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Khi bạn đã hoàn tất hướng dẫn bắt đầu, hãy tìm hiểu cách chọn một mô hình Gemini và (không bắt buộc) một vị trí phù hợp với trường hợp sử dụng và ứng dụng của bạn.

Bước 4: Gọi Vertex AI Gemini API

Giờ đây, khi đã kết nối ứng dụng với Firebase, thêm SDK và khởi chạy dịch vụ Vertex AI cũng như mô hình tạo sinh, bạn đã sẵn sàng gọi Vertex AI Gemini API.

Bạn có thể sử dụng generateContent() để tạo văn bản từ một yêu cầu chỉ có văn bản:

Kotlin+KTX

Đố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 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
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.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 trả về một ListenableFuture.
// 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
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// 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);

Bạn có thể làm gì khác?

Tìm hiểu thêm về các mô hình Gemini

Tìm hiểu về các mô hình có sẵn cho nhiều trường hợp sử dụnghạn mức và mức giá của các mô hình đó.

Thử các tính năng khác của Gemini API

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 câu lệnh và cấu hình mô hình bằng cách sử dụng Vertex AI Studio.


Đưa ra ý kiến phản hồi về trải nghiệm của bạn với Vertex AI in Firebase