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 ซึ่งมีระดับแบบไม่มีค่าใช้จ่าย พร้อมโควต้าและขีดจำกัดอัตราที่สมเหตุสมผล
ภาพรวมของขั้นตอนการย้ายข้อมูลไปยัง SDK ของ Firebase AI Logic
ขั้นตอนที่ 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
โปรดดูความแตกต่างระหว่างการใช้ผู้ให้บริการทั้ง 2 รายGemini API โดยเฉพาะในแง่ของฟีเจอร์ที่รองรับ ราคา และขีดจำกัดอัตรา ตัวอย่างเช่น Gemini Developer API ไม่รองรับการระบุไฟล์โดยใช้ URL ของ Cloud Storage แต่ก็อาจเป็นตัวเลือกที่ดีหากคุณต้องการใช้ประโยชน์จากระดับแบบไม่มีค่าใช้จ่ายและโควต้าที่สมเหตุสมผล
หากต้องการใช้ Vertex AI Gemini API ต่อไป
ให้ข้ามขั้นตอนถัดไปและไปที่ การอัปเดตไลบรารีในแอป โดยตรง แล้วทำตามส่วนที่เหลือของคู่มือนี้หากต้องการเปลี่ยนไปใช้ Gemini Developer API
ให้ทำตามขั้นตอนถัดไปเพื่อ ตั้งค่าโปรเจ็กต์ Firebase ให้ใช้ API นั้น และทำตามส่วนที่เหลือของคู่มือนี้
ขั้นตอนที่ 2: ตั้งค่าโปรเจ็กต์ Firebase เพื่อให้คุณใช้ Gemini Developer API
ขั้นตอนนี้จำเป็นเฉพาะในกรณีที่คุณต้องการเปลี่ยนไปใช้ Gemini Developer API กับ Firebase AI Logic Client SDK อย่างไรก็ตาม หากต้องการใช้ Vertex AI Gemini API ต่อไป ให้ข้ามไปยังขั้นตอนถัดไป
โปรดทราบว่าคุณสามารถเปิดใช้ผู้ให้บริการ "Gemini API" ทั้ง 2 รายในโปรเจ็กต์พร้อมกันได้
ในFirebase Console ให้ไปที่หน้า Firebase AI Logic
ไปที่แท็บการตั้งค่า แล้วเลือก Gemini Developer API
เปิดใช้ Gemini Developer API
คอนโซลจะตรวจสอบว่าได้เปิดใช้ API ที่จำเป็นแล้ว และสร้าง Geminiคีย์ API ในโปรเจ็กต์ Firebase
อย่าเพิ่มGeminiคีย์ API นี้ลงในโค้ดเบสของแอป ดูข้อมูลเพิ่มเติมอ่านต่อในคู่มือการย้ายข้อมูลนี้เพื่ออัปเดตไลบรารีและการเริ่มต้นในแอป
ขั้นตอนที่ 3: อัปเดตไลบรารีที่ใช้ในแอป
อัปเดตโค้ดเบสของแอปเพื่อใช้ไลบรารี Firebase AI Logic
Swift
เปิดโปรเจ็กต์แอปใน Xcode แล้วอัปเดตแพ็กเกจ Firebase เป็น v11.13.0 ขึ้นไปโดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
ตัวเลือกที่ 1: อัปเดตแพ็กเกจทั้งหมดโดยไปที่ ไฟล์ > แพ็กเกจ > อัปเดตเป็นแพ็กเกจเวอร์ชันล่าสุด
ตัวเลือกที่ 2: อัปเดต Firebase ทีละรายการโดยไปที่แพ็กเกจ Firebase ในส่วนที่ชื่อการขึ้นต่อกันของแพ็กเกจ คลิกขวาที่แพ็กเกจ Firebase แล้วเลือกอัปเดตแพ็กเกจ
ตรวจสอบว่าตอนนี้แพ็กเกจ Firebase แสดง v11.13.0 ขึ้นไป หากไม่เป็นเช่นนั้น ให้ตรวจสอบว่าข้อกำหนดของแพ็กเกจที่คุณระบุ อนุญาตให้อัปเดตเป็น v11.13.0 ขึ้นไป
เลือกเป้าหมายของแอปในโปรแกรมแก้ไขโปรเจ็กต์ แล้วไปที่ส่วนเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง
เพิ่มไลบรารีใหม่: เลือกปุ่ม + แล้วเพิ่ม FirebaseAI จากแพ็กเกจ 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:33.16.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 ต่อไปนี้โปรดทราบว่าการย้ายข้อมูลโค้ดเบสของแอปอาจง่ายกว่า (ดูส่วนที่เหลือในคู่มือนี้) ก่อนที่จะลบการอ้างอิงเก่า
// 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:33.16.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 FirebaseAI
// 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-2.5-flash")
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-2.5-flash")
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-2.5-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, 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-2.5-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 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-2.5-flash');
Unity
การสนับสนุนสำหรับ Unity ไม่พร้อมให้บริการจาก "Vertex AI in Firebase"
โปรดทราบว่าคุณอาจสร้างอินสแตนซ์ GenerativeModel
ไม่ได้เสมอไป ทั้งนี้ขึ้นอยู่กับความสามารถที่คุณใช้
- หากต้องการเข้าถึงImagenโมเดล
ให้สร้าง
ImagenModel
อินสแตนซ์ - หากต้องการสตรีมอินพุตและเอาต์พุตโดยใช้ Gemini Live API
ให้สร้างอินสแตนซ์
LiveModel
ขั้นตอนที่ 5: อัปเดตรหัสตามฟีเจอร์ที่คุณใช้
ขั้นตอนนี้อธิบายการเปลี่ยนแปลงที่อาจจำเป็นต้องทำ ทั้งนี้ขึ้นอยู่กับฟีเจอร์ที่คุณใช้
หากคุณใช้ Cloud Storage URL และเปลี่ยนมาใช้ 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 (แทน Vertex AI Gemini API)
การตั้งค่าความปลอดภัย
- นำการใช้งาน
SafetySetting.method
ที่ไม่รองรับออก
- นำการใช้งาน
ข้อมูลในบรรทัด
- นำการใช้งาน
InlineDataPart.videoMetadata
ที่ไม่รองรับออก
- นำการใช้งาน
Dart
ไม่มีการเปลี่ยนแปลงเพิ่มเติม
Unity
การสนับสนุนสำหรับ Unity ไม่พร้อมให้บริการจาก "Vertex AI in Firebase"
แสดงความคิดเห็น เกี่ยวกับประสบการณ์การใช้งาน Firebase AI Logic