Firebase AI Logic และ SDK ของไคลเอ็นต์เคยมีชื่อว่า "Vertex AI in Firebase" เราได้เปลี่ยนชื่อและจัดแพ็กเกจบริการใหม่เป็น Firebase AI Logic เพื่อให้สอดคล้องกับบริการและ ฟีเจอร์ที่ขยายออกไป (เช่น ตอนนี้เรามี Gemini Developer API!)
หากต้องการเข้าถึงโมเดล Generative AI ของ Google อย่างปลอดภัยโดยตรงจาก แอปบนอุปกรณ์เคลื่อนที่หรือเว็บแอป ตอนนี้คุณสามารถเลือกผู้ให้บริการ "Gemini API" ได้แล้ว ไม่ว่าจะเป็น Agent Platform Gemini API (formerly Vertex AI) ที่พร้อมให้บริการมานานแล้ว หรือ Gemini Developer API ที่เพิ่งเปิดตัว ซึ่งหมายความว่าตอนนี้คุณมีตัวเลือก ในการใช้ Gemini Developer API ซึ่งมีระดับแบบไม่มีค่าใช้จ่าย พร้อมโควต้าและขีดจำกัดอัตราที่สมเหตุสมผล
ภาพรวมของขั้นตอนการย้ายข้อมูลไปยัง Firebase AI Logic SDK
ขั้นตอนที่ 1: เลือกผู้ให้บริการ "Gemini API" ที่ดีที่สุดสำหรับแอปและกรณีการใช้งานของคุณ
ขั้นตอนที่ 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) เท่านั้น
Firebase AI Logic SDK ใหม่ช่วยให้คุณเลือกผู้ให้บริการ "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 กับ Firebase AI Logic Client SDK อย่างไรก็ตาม หากต้องการใช้ Agent Platform Gemini API (formerly Vertex AI) ต่อไป ให้ข้ามไปยังขั้นตอนถัดไป
โปรดทราบว่าคุณสามารถเปิดใช้ผู้ให้บริการ "Gemini API" ทั้ง 2 รายในโปรเจ็กต์พร้อมกันได้
ในคอนโซล Firebase ให้ไปที่บริการ AI > ตรรกะ AI
ไปที่แท็บการตั้งค่า แล้วเลือก Gemini Developer API
เปิดใช้ Gemini Developer API
คอนโซลจะตรวจสอบว่าได้เปิดใช้ API ที่จำเป็นแล้ว และสร้าง Geminiคีย์ API ในโปรเจ็กต์ Firebase
อย่าเพิ่มGeminiคีย์ API นี้ลงในโค้ดเบสของแอป ดูข้อมูลเพิ่มเติมทำตามคำแนะนำในการย้ายข้อมูลนี้ต่อไปเพื่ออัปเดตไลบรารีและการเริ่มต้นในแอป
ขั้นตอนที่ 3: อัปเดตไลบรารีที่ใช้ในแอป
อัปเดตฐานของโค้ดของแอปเพื่อใช้ไลบรารี Firebase AI Logic
Swift
ใน Xcode ขณะที่โปรเจ็กต์แอปเปิดอยู่ ให้อัปเดตแพ็กเกจ Firebase เป็น v12.5.0 ขึ้นไปโดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
ตัวเลือกที่ 1: อัปเดตแพ็กเกจทั้งหมดโดยไปที่ ไฟล์ > แพ็กเกจ > อัปเดตเป็นเวอร์ชันแพ็กเกจล่าสุด
ตัวเลือกที่ 2: อัปเดต Firebase ทีละรายการ: ไปที่แพ็กเกจ Firebase ในส่วนที่ชื่อทรัพยากร Dependency ของแพ็กเกจ คลิกขวาที่แพ็กเกจ Firebase แล้วเลือกอัปเดตแพ็กเกจ
ตรวจสอบว่าตอนนี้แพ็กเกจ Firebase แสดง v12.5.0 ขึ้นไป หากไม่เป็นเช่นนั้น ให้ตรวจสอบว่าข้อกำหนดของแพ็กเกจที่คุณระบุ อนุญาตให้อัปเดตเป็น v12.5.0 ขึ้นไป
เลือกเป้าหมายของแอปในโปรแกรมแก้ไขโปรเจ็กต์ แล้วไปที่ส่วนเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง
เพิ่มไลบรารีใหม่: เลือกปุ่ม + แล้วเพิ่ม FirebaseAILogic จากแพ็กเกจ Firebase
หลังจากย้ายข้อมูลแอปเสร็จแล้ว (ดูส่วนที่เหลือใน คู่มือนี้) อย่าลืมนำไลบรารีเก่าออกโดยทำดังนี้
เลือก FirebaseVertexAI แล้วกดปุ่ม —
Kotlin
ในไฟล์ 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 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.0.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 ให้เพิ่มการอ้างอิงสำหรับไลบรารี firebase-ai และยอมรับเวอร์ชันล่าสุดที่ Android Studio แนะนำ
Java
ในไฟล์ 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 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.0.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 ให้เพิ่มการอ้างอิงสำหรับไลบรารี 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
การสนับสนุนสำหรับ Unity ไม่พร้อมให้บริการจาก "Vertex AI in Firebase"
ขั้นตอนที่ 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: อัปเดตรหัสตามฟีเจอร์ที่คุณใช้
ขั้นตอนนี้อธิบายการเปลี่ยนแปลงที่อาจจำเป็นต้องดำเนินการ ทั้งนี้ขึ้นอยู่กับฟีเจอร์ที่คุณใช้
หากคุณใช้ Cloud StorageURL และเปลี่ยนมาใช้ Gemini Developer API ในการย้ายข้อมูลนี้ คุณจะต้องอัปเดต คำขอแบบมัลติโมดอลให้รวมไฟล์เป็นข้อมูลในบรรทัด (หรือใช้ URL ของ YouTube สำหรับวิดีโอ)
ดูรายการต่อไปนี้เพื่อดูการเปลี่ยนแปลง ที่คุณอาจต้องทําในโค้ดเพื่อรองรับการใช้ Firebase AI Logic SDK
Swift
ไม่มีการเปลี่ยนแปลงเพิ่มเติม
Kotlin
Live API
- นำค่า
UNSPECIFIEDออกจากคลาส enumResponseModalityแล้ว แต่ให้ใช้nullแทน
- นำค่า
Java
Live API
- นำค่า
UNSPECIFIEDออกจากคลาส enumResponseModalityแล้ว แต่ให้ใช้nullแทน
- นำค่า
เปลี่ยนวิธีการสร้าง Java ต่างๆ เพื่อให้ส่งคืนอินสแตนซ์ของคลาสอย่างถูกต้องแทนที่จะเป็น void
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