ย้ายข้อมูลไปยัง 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: เลือกผู้ให้บริการ "Gem 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 แต่ API นี้อาจเป็นตัวเลือกที่ดีหากคุณต้องการ ใช้ประโยชน์จากแพ็กเกจแบบไม่มีค่าใช้จ่ายและโควต้าที่สมเหตุสมผล

ขั้นตอนที่ 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

การรองรับ Unity ไม่พร้อมให้บริการจาก "Vertex AI in Firebase"

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

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

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

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

Swift


import FirebaseAILogic

// Initialize the Vertex AI Gemini API backend service
let ai = FirebaseAI.firebaseAI(backend: .vertexAI())

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

Kotlin


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

Java


// Initialize the Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.vertexAI())
        .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, VertexAIBackend } 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 Vertex AI Gemini API backend service
const ai = getAI(firebaseApp, { backend: new VertexAIBackend() });

// 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 Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.vertexAI().generativeModel(model: 'gemini-3-flash-preview');

Unity

การรองรับ Unity ไม่พร้อมให้บริการจาก "Vertex AI in Firebase"

ดูวิธีเริ่มต้นใช้งาน 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

การรองรับ Unity ไม่พร้อมให้บริการจาก "Vertex AI in Firebase"

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


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