Di chuyển để sử dụng Vertex AI SDK thay vì SDK AI của Google

Trang này mô tả cách di chuyển từ SDK ứng dụng Google AI sang SDK ứng dụng Vertex AI in Firebase trong ứng dụng di động hoặc web. SDK Vertex AI in Firebase có thể sử dụng cho các nền tảng của Apple (Swift), Android (Kotlin và Java), Web (JavaScript) và Flutter (Dart).

Chuyển thẳng đến hướng dẫn di chuyển

Tại sao nên chuyển sang sử dụng Vertex AI?

Có thể bạn đã dùng thử phiên bản thay thế của Gemini API bằng Google AI Studio hoặc SDK ứng dụng Google AI. Các SDK này rất hữu ích khi bắt đầu với Gemini API và tạo nguyên mẫu. Tuy nhiên, đối với các ứng dụng web và ứng dụng di động phát hành công khai hoặc quy mô doanh nghiệp gọi trực tiếp phía máy khách Gemini API, Firebase đặc biệt khuyến khích bạn gọi Vertex AI Gemini API bằng Firebase SDK.

Các tính năng bảo mật cho ứng dụng di động và web

Đối với ứng dụng web và di động, tính bảo mật là yếu tố quan trọng và cần được cân nhắc đặc biệt vì mã của bạn (bao gồm cả lệnh gọi đến Gemini API) đang chạy trong một môi trường không được bảo vệ.

  • Theo mặc định, Vertex AI Gemini API được uỷ quyền bởi Google Cloud IAM (thay vì khoá API như Google AI Gemini API). Các SDK Vertex AI in Firebase được tạo để gọi Vertex AI Gemini API an toàn hơn.

  • Đối với ứng dụng di động và web, bạn cần bảo vệ Gemini API và tài nguyên dự án (chẳng hạn như mô hình được điều chỉnh) khỏi hành vi lạm dụng của các ứng dụng trái phép. Bạn có thể sử dụng Firebase App Check để xác minh rằng tất cả các lệnh gọi API đều đến từ ứng dụng thực tế của bạn. Tính năng này chỉ hoạt động nếu bạn sử dụng SDK Vertex AI in Firebase.

Hệ sinh thái được xây dựng cho ứng dụng web và ứng dụng di động

Firebase là nền tảng của Google để phát triển ứng dụng web và ứng dụng di động. Việc sử dụng SDK Vertex AI in Firebase có nghĩa là ứng dụng của bạn đang hoạt động trong một hệ sinh thái tập trung vào nhu cầu của các nhà phát triển và ứng dụng toàn diện. Ví dụ: bạn được thiết lập để thực hiện bất kỳ thao tác nào sau đây và nhiều thao tác khác:

  • Sử dụng Cloud Storage for Firebase để đưa các tệp lớn vào các yêu cầu đa phương thức. Ngoài ra, hãy tận dụng SDK ứng dụng khách để xử lý hoạt động tải tệp lên và tải xuống (ngay cả trong điều kiện mạng kém) và cung cấp tính năng bảo mật cao hơn cho dữ liệu của người dùng cuối. Tìm hiểu thêm trong hướng dẫn giải pháp về cách sử dụng Cloud Storage for Firebase.

  • Quản lý dữ liệu có cấu trúc bằng cách sử dụng SDK cơ sở dữ liệu được tạo cho ứng dụng di động và web (chẳng hạn như Cloud Firestore).

  • Đặt cấu hình thời gian chạy (chẳng hạn như vị trí) hoặc hoán đổi các giá trị trong ứng dụng (chẳng hạn như tên mô hình) một cách linh động mà không cần phát hành phiên bản ứng dụng mới bằng cách sử dụng Firebase Remote Config.

Các lợi ích khác của việc sử dụng Vertex AI từ Google Cloud

Khi việc sử dụng AI tạo sinh trong ứng dụng và quy trình làm việc của bạn đã hoàn thiện, bạn có thể cần một nền tảng cung cấp các giải pháp toàn diện để xây dựng và triển khai các ứng dụng AI tạo sinh. Google Cloud cung cấp một hệ sinh thái công cụ toàn diện để giúp bạn khai thác sức mạnh của AI tạo sinh, từ các giai đoạn đầu của quá trình phát triển ứng dụng cho đến triển khai ứng dụng, lưu trữ ứng dụng và quản lý dữ liệu phức tạp trên quy mô lớn.

Nền tảng Vertex AI của Google Cloud cung cấp một bộ công cụ MLOps giúp đơn giản hoá việc sử dụng, triển khai và giám sát các mô hình AI để đạt được hiệu quả và độ tin cậy. Ngoài ra, việc tích hợp với cơ sở dữ liệu, công cụ DevOps (Phát triển và vận hành), ghi nhật ký, giám sát và IAM sẽ mang đến một cách tiếp cận toàn diện để quản lý toàn bộ vòng đời của AI tạo sinh.

Tìm hiểu thêm về các trường hợp sử dụng Vertex AI trong tài liệu về Google Cloud.

Di chuyển sang SDK Vertex AI in Firebase

Để di chuyển sang SDK Vertex AI in Firebase, bạn cần thực hiện ba bước chính:

  1. Thiết lập dự án Firebase mới hoặc hiện có và kết nối ứng dụng của bạn với Firebase.

  2. Di chuyển cơ sở mã của bạn, chỉ cần thay đổi SDK và mã khởi chạy (bao gồm cả tên mô hình). Bạn không cần sửa đổi bất kỳ mã nào thực sự gọi Gemini API.

  3. Xoá mọi khoá API không dùng đến và tắt các API không dùng đến.

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

Ngay cả khi bạn đã quen thuộc với Firebase, hãy xem lại phần này để đảm bảo rằng dự án và ứng dụng Firebase của bạn được thiết lập để sử dụng SDK Vertex AI in Firebase.

Bước 2: Di chuyển cơ sở mã

Chọn nền tảng của ứng dụng để xem hướng dẫn dành riêng cho nền tảng.

SDK Google AI và SDK Vertex AI in Firebase được xây dựng để việc di chuyển giữa hai nền tảng diễn ra đơn giản nhất có thể.

Để di chuyển, bạn chỉ cần thay đổi SDK mà bạn tích hợp vào cơ sở mã của ứng dụng, cũng như quá trình khởi chạy dịch vụ và mô hình tạo sinh. Bạn không cần sửa đổi bất kỳ mã nào thực sự gọi Gemini API!

Thay đổi SDK

Google AI

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")

  // Required for one-shot operations (to use `ListenableFuture` from Reactive Streams)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Guava Android)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

Vertex AI in Firebase

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.2")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.2")

  // 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")
}

Thay đổi quá trình khởi chạy

Google AI

Kotlin+KTX

val generativeModel = GenerativeModel(modelName = "MODEL_NAME",
    // Access your API key as a Build Configuration variable
    apiKey = BuildConfig.apiKey
)

Java

GenerativeModel gm = new GenerativeModel("MODEL_NAME",
    // Access your API key as a Build Configuration variable
    BuildConfig.apiKey
);

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

Vertex AI in Firebase

Kotlin+KTX

val generativeModel = Firebase.vertexAI.generativeModel("MODEL_NAME")

Java

GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("MODEL_NAME");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Cập nhật lệnh nhập

Các đoạn mã sau đây sử dụng các lớp Chat, ContentGenerativeModelFutures làm ví dụ, nhưng bạn cũng có thể áp dụng tương tự cho các lớp khác trong cùng một tên gói.

Google AI

Kotlin+KTX

import com.google.ai.client.generativeai.Chat
import com.google.ai.client.generativeai.type.Content
import com.google.ai.client.generativeai.java.GenerativeModuleFutures

Java

import com.google.ai.client.generativeai.Chat;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.java.GenerativeModuleFutures;

Vertex AI in Firebase

Kotlin+KTX

import com.google.firebase.vertexai.Chat
import com.google.firebase.vertexai.type.Content
import com.google.firebase.vertexai.java.GenerativeModuleFutures

Java

import com.google.firebase.vertexai.Chat;
import com.google.firebase.vertexai.type.Content;
import com.google.firebase.vertexai.java.GenerativeModuleFutures;

Bước 3: Xoá mọi khoá API không dùng đến và tắt các API không dùng đến

Nếu bạn không cần sử dụng khoá API Google AI nữa, hãy làm theo các phương pháp hay nhất về bảo mật và xoá khoá đó. Bạn có thể xem và xoá khoá API Google AI trong phần Khoá API của Google AI Studio.

Ngoài ra, nếu bạn không còn sử dụng Google AI Gemini API, hãy tắt Google AI Gemini API trong dự án. Bạn có thể làm việc này trong bảng điều khiển Google Cloud trên trang API Ngôn ngữ tạo sinh (generativelanguage.googleapis.com). ("API Ngôn ngữ tạo sinh" là tên chính thức của Google AI Gemini API.)

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

  • Cả Google AIVertex AI đều cung cấp trải nghiệm "sân chơi" giao diện người dùng web có tên là "AI Studio" để thử nghiệm với các câu lệnh và tham số mô hình. Tìm hiểu cách di chuyển lời nhắc Google AI Studio sang Vertex AI Studio trong tài liệu về Google Cloud.