Di chuyển sang SDK Firebase AI Logic từ SDK Google AI Client


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

Tại sao nên di chuyển để sử dụng SDK Firebase AI Logic?

Bạn có thể đã dùng thử một bộ SDK ứng dụng khách di động hoặc web thay thế cho phép bạn truy cập vào Gemini Developer API.

Các SDK ứng dụng đó không được tích hợp vào hệ sinh thái Firebase mạnh mẽ, vốn cung cấp các dịch vụ quan trọng cho ứng dụng di động và ứng dụng web. Các SDK này hiện không còn được dùng nữa và được thay thế bằng SDK ứng dụng Firebase AI Logic, có thể cấp cho bạn quyền truy cập vào Gemini Developer API.

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

Đối với ứng dụng di động và ứng dụng web, 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ệ. Bạn có thể sử dụng Firebase App Check để bảo vệ API khỏi hành vi sai trái của các ứng dụng không được phép.

Khi sử dụng Firebase App Check với Firebase AI Logic, bạn không bao giờ thêm khoá API Gemini cho Gemini Developer API trực tiếp vào toàn bộ mã nguồn của ứng dụng di động hoặc ứng dụng web. Thay vào đó, khoá API Gemini sẽ nằm trên máy chủ và không bị lộ cho các đối tượng xấu.

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

Firebase là nền tảng của Google để phát triển ứng dụng di động và ứng dụng web. Việc sử dụng Firebase AI Logic có nghĩa là ứng dụng của bạn nằm trong một hệ sinh thái tập trung vào nhu cầu của các ứng dụng và nhà phát triển toàn diện. Ví dụ:

  • Đặt cấu hình thời gian chạy hoặc hoán đổi giá trị trong ứng dụng (chẳng hạn như tên và phiên bả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 Firebase Remote Config.

  • Sử dụng Cloud Storage for Firebase để đưa các tệp lớn vào yêu cầu đa phương thức (nếu bạn sử dụng Agent Platform Gemini API (formerly Vertex AI)). Các SDK ứng dụng Cloud Storage giúp bạn xử lý việc tải tệp lên và tải tệp xuống (ngay cả trong điều kiện mạng kém) và tăng cường bảo mật 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 các SDK cơ sở dữ liệu được xây dựng cho ứng dụng di động và ứng dụng web (chẳng hạn như Cloud Firestore).

Di chuyển sang SDK Firebase AI Logic

Tổng quan về các bước di chuyển sang SDK Firebase AI Logic:

  • Bước 1: Thiết lập một 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.

  • Bước 2: Thêm SDK Firebase AI Logic vào ứng dụng của bạn.

  • Bước 3: Cập nhật các lệnh nhập và khởi chạy trong ứng dụng.

  • Bước 4: Cập nhật mã tuỳ thuộc vào các tính năng bạn sử dụng.

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

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

  2. Trong bảng điều khiển Firebase, hãy chuyển đến phần Dịch vụ AI > Logic AI.

  3. Nhấp vào Bắt đầu để khởi chạy quy trình công việc có hướng dẫn giúp bạn thiết lập các API và tài nguyên cần thiết cho dự án của mình.

  4. Chọn biểu tượng Gemini Developer API. Bạn luôn có thể thiết lập và sử dụng nhà cung cấp API khác vào lúc khác nếu muốn.

    Bảng điều khiển sẽ bật các API bắt buộc và tạo một khoá API Gemini mới, chuyên dụng trong dự án của bạn.
    Đừng thêm khoá API Gemini mới này vào toàn bộ mã nguồn của ứng dụng. Tìm hiểu thêm.

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

  6. Hãy tiếp tục xem hướng dẫn di chuyển này để cập nhật thư viện và khởi chạy trong ứng dụng của bạn.

Bước 2: Thêm SDK Firebase AI Logic vào ứng dụng của bạn

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 Trình quản lý gói Swift để cài đặt và quản lý các phần phụ thuộc của Firebase. Tìm hiểu về các lựa chọn cài đặt khác nếu cần.

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. Thư viện này có trong Firebase SDK dành 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 gói Firebase của bạn là phiên bản 12.5.0 trở lên.

  1. Trong Xcode, khi dự án ứng dụng của bạn đang mở, hãy chuyển đến File > Add Package Dependencies (Tệp > Thêm phần phụ thuộc của gói).

  2. Khi được nhắc, hãy thêm kho lưu trữ SDK Firebase cho nền tảng của Apple:

    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 FirebaseAILogic và thư viện FirebaseAppCheck.

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.

Trong tệp Gradle (cấp ứng dụng) trong mô-đun của bạn (chẳng hạn như <project>/<app-module>/build.gradle.kts), hãy thêm các phần phụ thuộc cho thư viện Firebase AI Logic và App Check 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:35.0.0"))

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
  implementation("com.google.firebase:firebase-appcheck-debug")
}

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.

Trong tệp Gradle (ở cấp ứng dụng) trong mô-đun (như <project>/<app-module>/build.gradle.kts), hãy thêm các phần phụ thuộc cho thư viện Firebase AI Logic và App Check 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:35.0.0"))

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
  implementation("com.google.firebase:firebase-appcheck-debug")

  // 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. Thư viện này được đưa vào SDK JavaScript của Firebase cho Web.

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

    npm install firebase
    
  2. Khởi động Firebase trong ứng dụng của bạn:

    import { initializeApp } from "firebase/app";
    import { initializeAppCheck, DebugProvider } from "firebase/app-check";
    
    // 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.

  1. Trong thư mục dự án Flutter, hãy chạy lệnh sau để cài đặt trình bổ trợ Firebase AI Logic và App Check:

    flutter pub add firebase_ai firebase_app_check
    
  2. Trong tệp lib/main.dart, hãy nhập các trình bổ trợ Firebase AI Logic và App Check:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'package:firebase_app_check/firebase_app_check.dart';
    import 'firebase_options.dart';
    
  3. Ngoài ra, trong tệp lib/main.dart, hãy đảm bảo rằng bạn đã khởi chạy Firebase bằng đối tượng DefaultFirebaseOptions được xuất bởi tệp cấu hình:

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

    flutter run
    

Unity

SDK ứng dụng Google AI không hỗ trợ Unity.

Tìm hiểu cách bắt đầu sử dụng SDK Firebase AI Logic cho Unity.

Xoá SDK cũ khỏi ứng dụng

Sau khi bạn di chuyển xong ứng dụng (xem các phần còn lại trong hướng dẫn này), hãy nhớ xoá thư viện cũ.

Swift

Xoá thư viện cũ:

  1. Trong Xcode, khi dự án ứng dụng của bạn đang mở, hãy chuyển đến ngăn Phần phụ thuộc của gói.

  2. Chọn gói generative-ai-swift trong danh sách các phần phụ thuộc của gói.

  3. Nhấp vào nút - ở cuối danh sách rồi nhấp vào Xoá để xác nhận.

Kotlin

dependencies {
    implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
    implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Web

// BEFORE
import { initializeApp } from "firebase/app";
import { GoogleGenerativeAI } from "@google/generative-ai";

Dart

Xoá gói cũ:
flutter pub remove google_generative_ai

Unity

SDK ứng dụng Google AI không hỗ trợ Unity.

Tìm hiểu cách bắt đầu sử dụng SDK Firebase AI Logic cho Unity.

Bước 3: Cập nhật các hoạt động nhập và khởi tạo trong ứng dụng

Cập nhật các mục nhập và cách bạn khởi động dịch vụ phụ trợ Gemini Developer API, đồng thời tạo một thực thể GenerativeModel.

Swift

// BEFORE
import GoogleGenerativeAI

let model = GenerativeModel(name: "MODEL_NAME", apiKey: APIKey.default)

// AFTER
import FirebaseAILogic

// 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-3.8-flash")

Kotlin

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

...

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

// AFTER
import com.google.firebase.Firebase
import com.google.firebase.ai.ai
import com.google.firebase.ai.type.GenerativeBackend

...

// 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-3.8-flash")

Java

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

...

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

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// AFTER
import com.google.firebase.ai.FirebaseAI;
import com.google.firebase.ai.GenerativeModel;
import com.google.firebase.ai.java.GenerativeModelFutures;
import com.google.firebase.ai.type.GenerativeBackend;

...

// 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-3.8-flash");

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

Web

// BEFORE
import { GoogleGenerativeAI } from "@google/generative-ai";

// Fetch your API_KEY and access your API
const API_KEY = "...";
const genAI = new GoogleGenerativeAI(API_KEY);

...

const model = genAI.getGenerativeModel({ model: "MODEL_NAME"});

// AFTER
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-3.8-flash" });

Dart

// BEFORE
import 'package:google_generative_ai/google_generative_ai.dart';

final apiKey = Platform.environment['API_KEY'];
if (apiKey == null) {
print('No \$API_KEY environment variable');
exit(1);
}

final model = GenerativeModel(model: 'MODEL_NAME', apiKey: apiKey);

// AFTER
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-3.8-flash');

Unity

Các SDK Google AI không hỗ trợ Unity.

Tìm hiểu cách bắt đầu sử dụng Firebase AI Logic SDK cho Unity.

Xin lưu ý rằng tuỳ thuộc vào chức năng bạn đang sử dụng, không phải lúc nào bạn cũng có thể tạo một thực thể GenerativeModel. Để truyền dữ liệu đầu vào và đầu ra bằng Gemini Live API, hãy tạo một thực thể LiveModel.

Bước 4: Cập nhật mã tuỳ thuộc vào các tính năng bạn sử dụng

Bước này mô tả những thay đổi có thể cần thiết, tuỳ thuộc vào những tính năng mà bạn sử dụng.

  • Các SDK ứng dụng Firebase AI Logic không hỗ trợ việc thực thi mã. Nếu bạn sử dụng tính năng này, hãy nhớ điều chỉnh cho phù hợp trong ứng dụng của bạn.

  • Xem các danh sách sau để biết mọi thay đổi mà bạn có thể cần thực hiện trong mã của mình để phù hợp với việc di chuyển sang SDK ứng dụng Firebase AI Logic.

Bắt buộc đối với tất cả ngôn ngữ và nền tảng

  • Gọi hàm
    Nếu đã triển khai tính năng này, thì bạn cần phải cập nhật cách xác định giản đồ. Bạn nên xem hướng dẫn gọi hàm mới cập nhật để tìm hiểu cách viết các khai báo hàm.

  • Tạo dữ liệu đầu ra có cấu trúc (như JSON) bằng responseSchema
    Nếu đã triển khai tính năng này, thì bạn cần cập nhật cách xác định giản đồ. Bạn nên xem lại hướng dẫn mới về kết quả có cấu trúc để tìm hiểu cách viết giản đồ JSON.

  • Hết thời gian chờ

    • Thay đổi thời gian chờ mặc định cho các yêu cầu thành 180 giây.

Bắt buộc dựa trên nền tảng hoặc ngôn ngữ

Swift

  • Enumerations

    • Thay thế hầu hết các loại enum bằng struct có các biến tĩnh. Thay đổi này giúp tăng tính linh hoạt cho việc phát triển API theo cách tương thích ngược. Giờ đây, khi sử dụng câu lệnh switch, bạn phải thêm trường hợp default: để bao gồm các giá trị không xác định hoặc chưa được xử lý, bao gồm cả các giá trị mới được thêm vào SDK trong tương lai.

    • Đổi tên giá trị liệt kê BlockThreshold thành HarmBlockThreshold; loại này hiện là struct.

    • Đã xoá các trường hợp unknown và unspecified khỏi các kiểu liệt kê sau (hiện là struct): HarmCategory, HarmBlockThreshold, HarmProbability, BlockReason và FinishReason.

    • Thay thế giá trị liệt kê ModelContent.Part bằng một giao thức có tên là Part để cho phép thêm các loại mới theo cách tương thích ngược. Thay đổi này được mô tả chi tiết hơn trong phần Phần nội dung.

  • Phần nội dung

    • Xoá giao thức ThrowingPartsRepresentable và đơn giản hoá trình khởi chạy cho ModelContent để tránh lỗi trình biên dịch không thường xuyên. Hình ảnh không mã hoá đúng cách vẫn sẽ gửi lỗi khi được dùng trong generateContent.

    • Thay thế các trường hợp ModelContent.Part bằng các loại struct sau đây tuân thủ giao thức Part:

      • .text đến TextPart
      • .data đến InlineDataPart
      • .fileData đến FileDataPart
      • .functionCall đến FunctionCallPart
      • .functionResponse đến FunctionResponsePart
  • Danh mục nội dung gây hại

    • Thay đổi HarmCategory để không còn được lồng trong loại SafetySetting nữa. Nếu bạn đang gọi nó là SafetySetting.HarmCategory, thì bạn có thể thay thế bằng HarmCategory.
  • Ý kiến phản hồi về an toàn

    • Đã xóa loại SafetyFeedback vì loại này không được dùng trong bất kỳ phản hồi nào.
  • Siêu dữ liệu của trích dẫn

    • Đổi tên thuộc tính citationSources thành citations trong CitationMetadata.
  • Tổng số ký tự có tính phí

    • Thay đổi thuộc tính totalBillableCharacters trong CountTokensResponse thành không bắt buộc để phản ánh những trường hợp không có ký tự nào được gửi.
  • Câu trả lời của ứng viên

    • Đổi tên CandidateResponse thành Candidate cho phù hợp với các nền tảng khác.
  • Cấu hình tạo sinh

    • Đã thay đổi các thuộc tính công khai của GenerationConfig thành internal. Tất cả đều có thể định cấu hình trong trình khởi tạo.

Kotlin

  • Enumerations

    • Thay thế các lớp enum và lớp sealed bằng các lớp thông thường. Thay đổi này giúp tăng tính linh hoạt cho việc phát triển API theo cách tương thích ngược.

    • Đổi tên kiểu liệt kê BlockThreshold thành HarmBlockThreshold.

    • Đã xoá các giá trị khỏi các giá trị liệt kê sau: HarmBlockThreshold, HarmProbability, HarmSeverity, BlockReason và FinishReason.

  • Phương thức Blob

    • Đã đổi tên tất cả các phương thức có Blob trong tên để sử dụng InlineData thay thế.
  • Chế độ cài đặt an toàn

    • Đã thay đổi trường method thành có thể rỗng.
  • Lớp thời lượng

    • Xoá tất cả cách sử dụng lớp Duration của Kotlin và thay thế bằng long. Thay đổi này giúp tăng khả năng tương tác với Java.
  • Siêu dữ liệu trích dẫn

    • Gói tất cả các trường đã khai báo trước đó trong CitationMetadata vào một lớp mới có tên là Citation. Bạn có thể tìm thấy các trích dẫn trong danh sách có tên là citations trong CitationMetadata. Thay đổi này giúp điều chỉnh các loại dữ liệu phù hợp hơn trên các nền tảng.
  • Đếm số token

    • Thay đổi trường totalBillableCharacters thành rỗng.
  • Tổng số ký tự có thể tính phí

    • Thay đổi thuộc tính totalBillableCharacters trong CountTokensResponse thành không bắt buộc để phản ánh các trường hợp không có ký tự nào được gửi.
  • Tạo thực thể cho một mô hình

    • Di chuyển tham số requestOptions đến cuối danh sách tham số để phù hợp với các nền tảng khác.

Java

  • Enumerations

    • Thay thế các lớp enum và lớp sealed bằng các lớp thông thường. Thay đổi này giúp tăng tính linh hoạt cho việc phát triển API theo cách tương thích ngược.

    • Đổi tên kiểu liệt kê BlockThreshold thành HarmBlockThreshold.

    • Đã xoá các giá trị khỏi các giá trị liệt kê sau: HarmBlockThreshold, HarmProbability, HarmSeverity, BlockReason và FinishReason.

  • Phương thức Blob

    • Đã đổi tên tất cả các phương thức có Blob trong tên để sử dụng InlineData thay thế.
  • Chế độ cài đặt an toàn

    • Đã thay đổi trường method thành có thể rỗng.
  • Lớp thời lượng

    • Xoá tất cả cách sử dụng lớp Duration của Kotlin và thay thế bằng long. Thay đổi này giúp tăng khả năng tương tác với Java.
  • Siêu dữ liệu trích dẫn

    • Gói tất cả các trường đã khai báo trước đó trong CitationMetadata vào một lớp mới có tên là Citation. Bạn có thể tìm thấy các trích dẫn trong danh sách có tên là citations trong CitationMetadata. Thay đổi này giúp điều chỉnh các loại dữ liệu phù hợp hơn trên các nền tảng.
  • Đếm số token

    • Thay đổi trường totalBillableCharacters thành rỗng.
  • Tổng số ký tự có thể tính phí

    • Thay đổi thuộc tính totalBillableCharacters trong CountTokensResponse thành không bắt buộc để phản ánh các trường hợp không có ký tự nào được gửi.
  • Tạo thực thể cho một mô hình

    • Đã di chuyển tham số requestOptions xuống cuối danh sách tham số để phù hợp với các nền tảng khác.

Web

Xin lưu ý rằng Google AI SDK ứng dụng cho JavaScript đã có nhiều thay đổi kể từ thời điểm các SDK ứng dụng Firebase AI Logic tách ra từ SDK này. Danh sách sau đây là một số thay đổi tiềm năng mà bạn có thể cần cân nhắc khi di chuyển sang SDK ứng dụng Firebase AI Logic.

  • Enumerations

    • Xoá các giá trị khỏi những kiểu liệt kê sau: HarmCategory, BlockThreshold, HarmProbability, HarmSeverity, BlockReason và FinishReason.
  • Lý do chặn

    • Thay đổi blockReason trong PromptFeedback thành không bắt buộc.
  • Xác minh qua Google Tìm kiếm

    • Đã xóa tất cả các trường hợp sử dụng tính năng này vì tính năng này chưa được hỗ trợ trong SDK Firebase AI Logic.
  • Lỗi

    • Đã xóa tất cả các trường hợp sử dụng GoogleGenerativeAIError và chuyển sang AIError (không bắt buộc).

Dart

  • Enumerations

    • Xoá các giá trị khỏi các kiểu liệt kê sau: HarmCategory, HarmProbability, BlockReason và FinishReason.
  • Phần dữ liệu

    • Đổi tên DataPart thành InlineDataPart và hàm static data thành inlineData để phù hợp với các nền tảng khác.
  • Lựa chọn yêu cầu

    • Xoá RequestOptions vì timeout không hoạt động. Chúng tôi sẽ thêm lại tính năng này trong tương lai gần, nhưng sẽ chuyển tính năng này sang loại GenerativeModel để phù hợp với các nền tảng khác.
  • Dừng chuỗi

    • Thay đổi tham số stopSequences trong GenerationConfig thành không bắt buộc và mặc định là null thay vì một mảng trống.
  • Trích dẫn

    • Đổi tên thuộc tính citationSources thành citations trong CitationMetadata. Loại CitationSource được đổi tên thành Citation để phù hợp với các nền tảng khác.
  • Các loại, phương thức và thuộc tính công khai không cần thiết

    • Đã xóa các loại, phương thức và thuộc tính sau đây do vô tình hiển thị: defaultTimeout, CountTokensResponseFields, parseCountTokensResponse, parseEmbedContentResponse, parseGenerateContentResponse, parseContent, BatchEmbedContentsResponse, ContentEmbedding, EmbedContentRequest, và EmbedContentResponse.
  • Đếm số token

    • Xoá các trường thừa khỏi hàm countTokens không còn cần thiết. Bạn chỉ cần contents.
  • Tạo thực thể cho mô hình

    • Di chuyển tham số systemInstruction đến cuối danh sách tham số để phù hợp với các nền tảng khác.
  • Chức năng nhúng

    • Xoá chức năng nhúng không được hỗ trợ (embedContent và batchEmbedContents) khỏi mô hình.

Unity

Các SDK Google AI không hỗ trợ Unity.

Tìm hiểu cách bắt đầu sử dụng SDK Firebase AI Logic cho Unity.


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