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


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

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

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

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

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

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

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

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

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

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

  • SDK "Vertex AI in Firebase" เวอร์ชันเก่าใช้ได้เฉพาะ Vertex AI Gemini API

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

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

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

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

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

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

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

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

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

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

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

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

Swift

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

    • ตัวเลือกที่ 1: อัปเดตแพ็กเกจทั้งหมด โดยไปที่ File > Packages > Update to Latest Package Versions

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

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

  3. เลือกเป้าหมายของแอปในโปรแกรมแก้ไขโปรเจ็กต์ แล้วไปที่ส่วนเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง

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

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

Kotlin

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

    โปรดทราบว่าการย้ายข้อมูลฐานของโค้ดของแอป (ดูส่วนที่เหลือในคำแนะนำนี้) ก่อนลบทรัพยากร 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:34.12.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 "Vertex AI in Firebase"

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

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

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

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

Swift


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-flash-preview")

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-3-flash-preview")

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-3-flash-preview");

// 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-3-flash-preview" });

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-3-flash-preview');

Unity

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

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

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

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

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

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

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

Swift

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

Kotlin

  • Live API

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

Java

  • Live API

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

Web

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

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

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

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

Dart

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

Unity

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

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


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