ย้ายข้อมูลไปยัง Firebase AI Logic SDK จาก Vertex AI ใน Firebase SDK เวอร์ชัน GA


Firebase AI Logic และ SDK ของไคลเอ็นต์เดิมมีชื่อว่า "Vertex AI in Firebase" เพื่อให้สอดคล้องกับบริการและฟีเจอร์ที่เพิ่มขึ้น (เช่น ตอนนี้เรารองรับ Gemini Developer API แล้ว) เราจึงเปลี่ยนชื่อและจัดแพ็กเกจบริการใหม่เป็น Firebase AI Logic

หากต้องการเข้าถึงโมเดล Generative AI ของ Google โดยตรงจากแอปบนอุปกรณ์เคลื่อนที่หรือเว็บแอปอย่างปลอดภัย ตอนนี้คุณสามารถเลือกผู้ให้บริการ "Gemini API" ได้แล้ว ไม่ว่าจะเป็น Agent Platform Gemini API (formerly Vertex AI) ที่มีให้บริการมานานแล้วหรือ Gemini Developer API ที่พร้อมให้บริการแล้วในตอนนี้ ซึ่งหมายความว่าตอนนี้คุณมีตัวเลือกในการใช้ Gemini Developer API ซึ่งมีระดับที่ไม่มีค่าใช้จ่ายพร้อมการจำกัดอัตราคำขอและโควต้าที่สมเหตุสมผล

ภาพรวมของขั้นตอนการย้ายข้อมูลไปยัง SDK ของ Firebase AI Logic

  • ขั้นตอนที่ 1: เลือกผู้ให้บริการ "Gemini API" ที่ดีที่สุดสำหรับแอปและ Use Case ของคุณ

  • ขั้นตอนที่ 2: ตั้งค่าโปรเจ็กต์ Firebase เพื่อให้คุณใช้ Gemini Developer API ได้
    ใช้ได้เฉพาะในกรณีที่คุณเปลี่ยนไปใช้ Gemini Developer API แทน Agent Platform Gemini API (formerly Vertex AI)

  • ขั้นตอนที่ 3: อัปเดตไลบรารีที่ใช้ในแอป

  • ขั้นตอนที่ 4: อัปเดตการเริ่มต้นในแอป

  • ขั้นตอนที่ 5: อัปเดตโค้ดตามฟีเจอร์ที่ใช้

ขั้นตอนที่ 1: เลือกผู้ให้บริการ "Gemini API" ที่ดีที่สุดสำหรับแอปของคุณ

การย้ายข้อมูลนี้ช่วยให้คุณเลือกผู้ให้บริการ "Gemini API" ได้ดังนี้

  • SDK "Vertex AI in Firebase" แบบเก่าใช้ได้เฉพาะ Agent Platform Gemini API (formerly Vertex AI) เท่านั้น

  • SDK Firebase AI Logic ใหม่ช่วยให้คุณเลือกผู้ให้บริการ "Gemini API" ที่ต้องการโทรหาได้โดยตรงจากแอปบนอุปกรณ์เคลื่อนที่หรือเว็บแอป ไม่ว่าจะเป็น Gemini Developer API หรือ Agent Platform Gemini API (formerly Vertex AI)

ตรวจสอบความแตกต่างระหว่างการใช้ผู้ให้บริการ Gemini API ทั้ง 2 ราย โดยเฉพาะในแง่ของฟีเจอร์ที่รองรับ ราคา และการจำกัดอัตราคำขอ ตัวอย่างเช่น Gemini Developer API ไม่รองรับการจัดเตรียมไฟล์โดยใช้ URL ของ Cloud Storage แต่อาจเป็นตัวเลือกที่ดีหากคุณต้องการใช้ประโยชน์จากระดับที่ไม่มีค่าใช้จ่ายและโควต้าที่สมเหตุสมผล

ขั้นตอนที่ 2: ตั้งค่าโปรเจ็กต์ Firebase เพื่อให้ใช้ Gemini Developer API ได้

ขั้นตอนนี้จำเป็นเฉพาะในกรณีที่คุณต้องการเปลี่ยนไปใช้ Gemini Developer API กับ SDK ของไคลเอ็นต์ Firebase AI Logic อย่างไรก็ตาม หากต้องการใช้ Agent Platform Gemini API (formerly Vertex AI) ต่อไป ให้ข้ามไปยังขั้นตอนถัดไป

โปรดทราบว่าคุณสามารถเปิดใช้ผู้ให้บริการ "Gemini API" ทั้ง 2 รายในโปรเจ็กต์พร้อมกันได้

  1. ในคอนโซล Firebase ให้ไปที่บริการ AI > AI Logic

  2. ไปที่แท็บการตั้งค่า แล้วเลือก Gemini Developer API

  3. เปิดใช้ Gemini Developer API

    คอนโซลจะตรวจสอบว่าได้เปิดใช้ API ที่จำเป็นแล้ว และสร้างคีย์ API Gemini ในโปรเจ็กต์ Firebase
    อย่าเพิ่มคีย์ API Gemini นี้ลงในฐานของโค้ดของแอป ดูข้อมูลเพิ่มเติม

  4. อ่านคำแนะนำในการย้ายข้อมูลนี้ต่อเพื่ออัปเดตไลบรารีและการเริ่มต้นในแอป

ขั้นตอนที่ 3: อัปเดตไลบรารีที่ใช้ในแอป

อัปเดตฐานของโค้ดของแอปเพื่อใช้ไลบรารี Firebase AI Logic

Swift

  1. ใน Xcode ขณะที่โปรเจ็กต์แอปเปิดอยู่ ให้อัปเดตแพ็กเกจ Firebase เป็นเวอร์ชัน 12.5.0 ขึ้นไปโดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้

    • ตัวเลือกที่ 1: อัปเดตแพ็กเกจทั้งหมดโดยไปที่ไฟล์ > แพ็กเกจ > อัปเดตเป็นเวอร์ชันแพ็กเกจล่าสุด

    • ตัวเลือกที่ 2: อัปเดต Firebase ทีละรายการ: ไปที่แพ็กเกจ Firebase ในส่วนที่ชื่อว่าทรัพยากร Dependency ของแพ็กเกจ คลิกขวาที่แพ็กเกจ Firebase แล้วเลือกอัปเดตแพ็กเกจ

  2. ตรวจสอบว่าแพ็กเกจ Firebase แสดงเป็น v12.5.0 ขึ้นไปแล้ว หากไม่เป็นเช่นนั้น ให้ตรวจสอบว่าข้อกำหนดของแพ็กเกจที่ระบุอนุญาตให้อัปเดตเป็น v12.5.0 ขึ้นไป

  3. เลือกเป้าหมายของแอปในเครื่องมือแก้ไขโปรเจ็กต์ แล้วไปที่ส่วน Frameworks, Libraries, and Embedded Content

  4. เพิ่มไลบรารีใหม่: เลือกปุ่ม + แล้วเพิ่ม FirebaseAILogic จากแพ็กเกจ Firebase

  5. หลังจากย้ายข้อมูลแอปเสร็จแล้ว (ดูส่วนที่เหลือในคู่มือนี้) อย่าลืมนำไลบรารีเก่าออกโดยทำดังนี้
    เลือก FirebaseVertexAI แล้วกดปุ่ม —

Kotlin

  1. ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ <project>/<app-module>/build.gradle.kts หรือ <project>/<app-module>/build.gradle) ให้แทนที่ทรัพยากร Dependency เดิม (หากมี) ด้วยรายการต่อไปนี้

    โปรดทราบว่าการย้ายข้อมูลฐานของโค้ดของแอป (ดูส่วนที่เหลือในคู่มือนี้) ก่อนลบทรัพยากร Dependency เก่าอาจทำได้ง่ายกว่า

    // BEFORE
    dependencies {
      implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
      implementation("com.google.firebase:firebase-vertexai")
      // OR if not using the BoM
      implementation("com.google.firebase:firebase-vertexai:16.x.y")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:35.1.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")
    }
  2. ซิงค์โปรเจ็กต์ Android กับไฟล์ Gradle

โปรดทราบว่าหากเลือกที่จะไม่ใช้ Firebase Android BoM ให้เพิ่มทรัพยากร Dependency สำหรับไลบรารี firebase-ai และยอมรับเวอร์ชันล่าสุดที่ Android Studio แนะนำ

Java

  1. ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ <project>/<app-module>/build.gradle.kts หรือ <project>/<app-module>/build.gradle) ให้แทนที่ทรัพยากร Dependency เดิม (หากมี) ด้วยรายการต่อไปนี้

    โปรดทราบว่าการย้ายข้อมูลฐานของโค้ดของแอป (ดูส่วนที่เหลือในคู่มือนี้) ก่อนลบทรัพยากร Dependency เก่าอาจทำได้ง่ายกว่า

    // BEFORE
    dependencies {
      implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
      implementation("com.google.firebase:firebase-vertexai")
      // OR if not using the BoM
      implementation("com.google.firebase:firebase-vertexai:16.x.y")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:35.1.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")
    }
  2. ซิงค์โปรเจ็กต์ Android กับไฟล์ Gradle

โปรดทราบว่าหากเลือกที่จะไม่ใช้ Firebase Android BoM ให้เพิ่มทรัพยากร Dependency สำหรับไลบรารี firebase-ai และยอมรับเวอร์ชันล่าสุดที่ Android Studio แนะนำ

Web

  1. ดาวน์โหลด Firebase JS SDK เวอร์ชันล่าสุดสำหรับเว็บโดยใช้ npm:

    npm i firebase@latest

    หรือ

    yarn add firebase@latest
  2. ไม่ว่าคุณจะนำเข้าไลบรารีไว้ที่ใด ให้อัปเดตคำสั่งนำเข้าเพื่อใช้ firebase/ai แทน

    โปรดทราบว่าการย้ายข้อมูลฐานของโค้ดของแอป (ดูส่วนที่เหลือในคู่มือนี้) ก่อนลบการนําเข้าเก่าอาจทําได้ง่ายกว่า

    // BEFORE
    import { initializeApp } from "firebase/app";
    import { getVertexAI, getGenerativeModel } from "firebase/vertexai";
    
    
    // AFTER
    import { initializeApp } from "firebase/app";
    import { getAI, getGenerativeModel } from "firebase/ai";

Dart

  1. อัปเดตเพื่อใช้แพ็กเกจ firebase_ai ในไฟล์ pubspec.yaml โดยเรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์ Flutter

    flutter pub add firebase_ai
  2. สร้างโปรเจ็กต์ Flutter อีกครั้งโดยทำดังนี้

    flutter run
  3. หลังจากย้ายข้อมูลแอปเสร็จแล้ว (ดูส่วนที่เหลือในคู่มือนี้) อย่าลืมลบแพ็กเกจเก่าออก โดยทำดังนี้

    flutter pub remove firebase_vertexai

Unity

"Vertex AI in Firebase" ไม่รองรับ Unity

ดูวิธีเริ่มต้นใช้งาน SDK ของ Firebase AI Logic สำหรับ Unity

ขั้นตอนที่ 4: อัปเดตการเริ่มต้นในแอป

คลิกผู้ให้บริการ Gemini API เพื่อดูเนื้อหาและโค้ดเฉพาะของผู้ให้บริการในหน้านี้

อัปเดตวิธีเริ่มต้นบริการสำหรับผู้ให้บริการ API ที่เลือกและสร้างอินสแตนซ์ GenerativeModel

Swift


import FirebaseAILogic

// Initialize the Agent Platform Gemini API backend service (fomerly Vertex AI).
let ai = FirebaseAI.firebaseAI(backend: .agentPlatform())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-3.8-flash")

Kotlin


// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Create a `GenerativeModel` instance with a model that supports your use case.
val model = Firebase.ai(backend = GenerativeBackend.agentPlatform())
                        .generativeModel("gemini-3.8-flash")

Java


// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Create a `GenerativeModel` instance with a model that supports your use case.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.agentPlatform())
        .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


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, AgentPlatformBackend } 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 Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(ai, { model: "gemini-3.8-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 Agent Platform Gemini API backend service (formerly Vertex AI).
// Create a `GenerativeModel` instance with a model that supports your use case.
final model =
      FirebaseAI.agentPlatform().generativeModel(model: 'gemini-3.8-flash');

Unity

การสนับสนุนสำหรับ Unity ไม่พร้อมให้บริการตั้งแต่ "Vertex AI in Firebase"

ดูวิธีเริ่มต้นใช้งาน SDK ของ Firebase AI Logic สำหรับ Unity

โปรดทราบว่าคุณอาจไม่ได้สร้างอินสแตนซ์ GenerativeModel เสมอไป ทั้งนี้ขึ้นอยู่กับความสามารถที่คุณใช้ หากต้องการสตรีมอินพุตและเอาต์พุตโดยใช้ Gemini Live API ให้สร้างอินสแตนซ์ LiveModel

ขั้นตอนที่ 5: อัปเดตโค้ดตามฟีเจอร์ที่คุณใช้

ขั้นตอนนี้อธิบายการเปลี่ยนแปลงที่อาจจำเป็นต้องทำ ทั้งนี้ขึ้นอยู่กับฟีเจอร์ที่คุณใช้

  • หากคุณใช้ URL ของ Cloud Storage และเปลี่ยนไปใช้ Gemini Developer API ในการย้ายข้อมูลนี้ คุณจะต้องอัปเดตคำขอแบบหลายโมดัลให้รวมไฟล์เป็นข้อมูลในบรรทัด (หรือใช้ URL ของ YouTube สำหรับวิดีโอ)

  • ตรวจสอบรายการต่อไปนี้เพื่อดูการเปลี่ยนแปลงที่คุณอาจต้องทำในโค้ดเพื่อรองรับการใช้ SDK Firebase AI Logic

Swift

ไม่มีการเปลี่ยนแปลงเพิ่มเติม

Kotlin

  • Live API

    • นำค่า UNSPECIFIED สำหรับคลาส enum ResponseModality ออกแล้ว ให้ใช้ null แทน

Java

  • Live API

    • นำค่า UNSPECIFIED สำหรับคลาส enum ResponseModality ออกแล้ว ให้ใช้ null แทน
  • เปลี่ยนเมธอด Java Builder ต่างๆ ให้แสดงผลอินสแตนซ์ของคลาสอย่างถูกต้องแทนที่จะเป็นโมฆะ

Web

การเปลี่ยนแปลงที่จำเป็นเฉพาะในกรณีที่คุณเริ่มใช้ Gemini Developer API (แทน Agent Platform Gemini API (formerly Vertex AI)) มีดังนี้

  • การตั้งค่าความปลอดภัย

    • นำการใช้งาน SafetySetting.method ที่ไม่รองรับออกแล้ว
  • ข้อมูลในบรรทัด

    • นำการใช้งาน InlineDataPart.videoMetadata ที่ไม่รองรับออกแล้ว

Dart

ไม่มีการเปลี่ยนแปลงเพิ่มเติม

Unity

การสนับสนุนสำหรับ Unity ไม่พร้อมให้บริการตั้งแต่ "Vertex AI in Firebase"

ดูวิธีเริ่มต้นใช้งาน SDK ของ Firebase AI Logic สำหรับ Unity


แสดงความคิดเห็นเกี่ยวกับประสบการณ์การใช้งาน Firebase AI Logic