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 แต่อาจเป็นตัวเลือกที่ดีหากคุณต้องการใช้ประโยชน์จากระดับที่ไม่มีค่าใช้จ่ายและโควต้าที่สมเหตุสมผล
หากต้องการใช้ Agent Platform Gemini API (formerly Vertex AI) ต่อไป ให้ทำดังนี้
ข้ามขั้นตอนถัดไปและไปที่การอัปเดตไลบรารีในแอป จากนั้นทำตามส่วนที่เหลือของคู่มือนี้หากต้องการเปลี่ยนไปใช้ Gemini Developer API ให้ทำดังนี้
ทำตามขั้นตอนถัดไปเพื่อตั้งค่าโปรเจ็กต์ Firebase ให้ใช้ API นั้น แล้วทำตามส่วนที่เหลือของคู่มือนี้
ขั้นตอนที่ 2: ตั้งค่าโปรเจ็กต์ Firebase เพื่อให้ใช้ Gemini Developer API ได้
ขั้นตอนนี้จำเป็นเฉพาะในกรณีที่คุณต้องการเปลี่ยนไปใช้ Gemini Developer API กับ SDK ของไคลเอ็นต์ Firebase AI Logic อย่างไรก็ตาม หากต้องการใช้ Agent Platform Gemini API (formerly Vertex AI) ต่อไป ให้ข้ามไปยังขั้นตอนถัดไป
โปรดทราบว่าคุณสามารถเปิดใช้ผู้ให้บริการ "Gemini API" ทั้ง 2 รายในโปรเจ็กต์พร้อมกันได้
ในคอนโซล Firebase ให้ไปที่บริการ AI > AI Logic
ไปที่แท็บการตั้งค่า แล้วเลือก Gemini Developer API
เปิดใช้ Gemini Developer API
คอนโซลจะตรวจสอบว่าได้เปิดใช้ API ที่จำเป็นแล้ว และสร้างคีย์ API Gemini ในโปรเจ็กต์ Firebase
อย่าเพิ่มคีย์ API Gemini นี้ลงในฐานของโค้ดของแอป ดูข้อมูลเพิ่มเติมอ่านคำแนะนำในการย้ายข้อมูลนี้ต่อเพื่ออัปเดตไลบรารีและการเริ่มต้นในแอป
ขั้นตอนที่ 3: อัปเดตไลบรารีที่ใช้ในแอป
อัปเดตฐานของโค้ดของแอปเพื่อใช้ไลบรารี Firebase AI Logic
Swift
ใน Xcode ขณะที่โปรเจ็กต์แอปเปิดอยู่ ให้อัปเดตแพ็กเกจ Firebase เป็นเวอร์ชัน 12.5.0 ขึ้นไปโดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
ตัวเลือกที่ 1: อัปเดตแพ็กเกจทั้งหมดโดยไปที่ไฟล์ > แพ็กเกจ > อัปเดตเป็นเวอร์ชันแพ็กเกจล่าสุด
ตัวเลือกที่ 2: อัปเดต Firebase ทีละรายการ: ไปที่แพ็กเกจ Firebase ในส่วนที่ชื่อว่าทรัพยากร Dependency ของแพ็กเกจ คลิกขวาที่แพ็กเกจ Firebase แล้วเลือกอัปเดตแพ็กเกจ
ตรวจสอบว่าแพ็กเกจ Firebase แสดงเป็น v12.5.0 ขึ้นไปแล้ว หากไม่เป็นเช่นนั้น ให้ตรวจสอบว่าข้อกำหนดของแพ็กเกจที่ระบุอนุญาตให้อัปเดตเป็น v12.5.0 ขึ้นไป
เลือกเป้าหมายของแอปในเครื่องมือแก้ไขโปรเจ็กต์ แล้วไปที่ส่วน Frameworks, Libraries, and Embedded Content
เพิ่มไลบรารีใหม่: เลือกปุ่ม + แล้วเพิ่ม FirebaseAILogic จากแพ็กเกจ Firebase
หลังจากย้ายข้อมูลแอปเสร็จแล้ว (ดูส่วนที่เหลือในคู่มือนี้) อย่าลืมนำไลบรารีเก่าออกโดยทำดังนี้
เลือก FirebaseVertexAI แล้วกดปุ่ม —
Kotlin
ในไฟล์ 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 BoMimplementation("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") }ซิงค์โปรเจ็กต์ Android กับไฟล์ Gradle
โปรดทราบว่าหากเลือกที่จะไม่ใช้ Firebase Android BoM ให้เพิ่มทรัพยากร Dependency สำหรับไลบรารี firebase-ai และยอมรับเวอร์ชันล่าสุดที่ Android Studio แนะนำ
Java
ในไฟล์ 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 BoMimplementation("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") }ซิงค์โปรเจ็กต์ Android กับไฟล์ Gradle
โปรดทราบว่าหากเลือกที่จะไม่ใช้ Firebase Android BoM ให้เพิ่มทรัพยากร Dependency สำหรับไลบรารี firebase-ai และยอมรับเวอร์ชันล่าสุดที่ Android Studio แนะนำ
Web
ดาวน์โหลด Firebase JS SDK เวอร์ชันล่าสุดสำหรับเว็บโดยใช้ npm:
npm i firebase@latest
หรือ
yarn add firebase@latest
ไม่ว่าคุณจะนำเข้าไลบรารีไว้ที่ใด ให้อัปเดตคำสั่งนำเข้าเพื่อใช้
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
อัปเดตเพื่อใช้แพ็กเกจ
firebase_aiในไฟล์pubspec.yamlโดยเรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีโปรเจ็กต์ Flutterflutter pub add firebase_ai
สร้างโปรเจ็กต์ Flutter อีกครั้งโดยทำดังนี้
flutter run
หลังจากย้ายข้อมูลแอปเสร็จแล้ว (ดูส่วนที่เหลือในคู่มือนี้) อย่าลืมลบแพ็กเกจเก่าออก โดยทำดังนี้
flutter pub remove firebase_vertexai
Unity
"Vertex AI in Firebase" ไม่รองรับ Unity
ขั้นตอนที่ 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.8-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-3.8-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-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, 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
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
การสนับสนุนสำหรับ Unity ไม่พร้อมให้บริการตั้งแต่ "Vertex AI in Firebase"
โปรดทราบว่าคุณอาจไม่ได้สร้างอินสแตนซ์ GenerativeModel เสมอไป ทั้งนี้ขึ้นอยู่กับความสามารถที่คุณใช้ หากต้องการสตรีมอินพุตและเอาต์พุตโดยใช้ Gemini Live API ให้สร้างอินสแตนซ์ LiveModel
ขั้นตอนที่ 5: อัปเดตโค้ดตามฟีเจอร์ที่คุณใช้
ขั้นตอนนี้อธิบายการเปลี่ยนแปลงที่อาจจำเป็นต้องทำ ทั้งนี้ขึ้นอยู่กับฟีเจอร์ที่คุณใช้
หากคุณใช้ URL ของ Cloud Storage และเปลี่ยนไปใช้ Gemini Developer API ในการย้ายข้อมูลนี้ คุณจะต้องอัปเดตคำขอแบบหลายโมดัลให้รวมไฟล์เป็นข้อมูลในบรรทัด (หรือใช้ URL ของ YouTube สำหรับวิดีโอ)
ตรวจสอบรายการต่อไปนี้เพื่อดูการเปลี่ยนแปลงที่คุณอาจต้องทำในโค้ดเพื่อรองรับการใช้ SDK Firebase AI Logic
Swift
ไม่มีการเปลี่ยนแปลงเพิ่มเติม
Kotlin
Live API
- นำค่า
UNSPECIFIEDสำหรับคลาส enumResponseModalityออกแล้ว ให้ใช้nullแทน
- นำค่า
Java
Live API
- นำค่า
UNSPECIFIEDสำหรับคลาส enumResponseModalityออกแล้ว ให้ใช้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"
แสดงความคิดเห็นเกี่ยวกับประสบการณ์การใช้งาน Firebase AI Logic