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


ก่อนหน้านี้ Firebase AI Logic และ 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 เท่านั้น

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

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

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

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

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

  1. ในคอนโซล Firebase ให้ไปที่หน้า Firebase 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: อัปเดตแพ็กเกจทั้งหมด: ไปที่ ไฟล์ > แพ็กเกจ > อัปเดตเป็นเวอร์ชันล่าสุดของแพ็กเกจ

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

  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 เก่า (หากมี) ด้วยข้อมูลต่อไปนี้

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

    // 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:33.14.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 ให้เพิ่มข้อกำหนดของไลบรารี firebase-ai และยอมรับเวอร์ชันล่าสุดที่ Android Studio แนะนำ

Java

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

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

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

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

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

Swift


import FirebaseAI

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

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

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

Unity

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

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

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

ขั้นตอนที่ 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 Builder ให้แสดงผลอินสแตนซ์ของคลาสอย่างถูกต้องแทนที่จะแสดงผล void

Web

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

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

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

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

Dart

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

Unity

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

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


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