คุณสามารถสร้างแอปและฟีเจอร์ของ Apple ที่ทำงานด้วยระบบ AI พร้อมการอนุมานแบบไฮบริดโดยใช้ Firebase AI Logic การอนุมานแบบไฮบริดช่วยให้สามารถอนุมานโดยใช้โมเดลในอุปกรณ์ (โดยเฉพาะเฟรมเวิร์ก Foundation Models ของ Apple) เมื่อพร้อมใช้งาน และกลับไปใช้โมเดลของ Google ที่โฮสต์บนระบบคลาวด์ได้อย่างราบรื่นในกรณีอื่นๆ (และในทางกลับกัน)
หน้านี้อธิบายวิธี เริ่มต้นใช้งาน Client SDK, รวมถึงแสดง ตัวเลือกการกำหนดค่าและความสามารถเพิ่มเติม, เช่น อุณหภูมิ
โปรดทราบว่าระบบรองรับการอนุมานในอุปกรณ์ผ่าน Firebase AI Logic สำหรับแอป Apple ที่ใช้ Firebase AI Logic SDK เวอร์ชัน 12.13.0 ขึ้นไปและทำงานใน อุปกรณ์ที่เปิดใช้ Apple Intelligence โดยอยู่ภายใต้ ข้อกำหนดการใช้งานที่ยอมรับได้สำหรับเฟรมเวิร์ก Foundation Models ของ Apple
กรณีการใช้งานที่แนะนำ
การใช้โมเดลในอุปกรณ์สำหรับการอนุมาน มีข้อดีดังนี้
- ความเป็นส่วนตัวที่ดียิ่งขึ้น
- การอนุมานโดยไม่มีค่าใช้จ่าย
- ฟังก์ชันการทำงานแบบออฟไลน์
การใช้ฟังก์ชันการทำงานแบบไฮบริด มีข้อดีดังนี้
- มอบประสบการณ์การใช้แอปที่คล้ายกันให้กับลูกค้าทุกคน ไม่ว่าอุปกรณ์ของผู้ใช้ปลายทางจะเป็นอุปกรณ์ใดก็ตาม
- ปรับปรุงความพร้อมใช้งานของฟีเจอร์ Generative AI ไม่ว่าจะเป็นการเชื่อมต่ออินเทอร์เน็ต ข้อจำกัดโควต้า หรือความสามารถของอุปกรณ์
ความสามารถ, API และอุปกรณ์ที่รองรับ
ก่อนที่จะใช้การอนุมานแบบไฮบริดและในอุปกรณ์โดยใช้ Firebase AI Logic โปรดอ่านส่วนนี้เพื่อทำความเข้าใจสิ่งที่ระบบรองรับสำหรับแอป Apple
ความสามารถและฟีเจอร์ที่รองรับสำหรับการอนุมานในอุปกรณ์
การอนุมานในอุปกรณ์รองรับเฉพาะการสร้างข้อความ โดยเฉพาะ ความสามารถในการสร้างข้อความต่อไปนี้
โปรดอ่านรายการโดยละเอียดสำหรับการอนุมานแบบไฮบริดหรือในอุปกรณ์ที่ยังไม่รองรับที่ด้านล่างของหน้านี้
API และอุปกรณ์ที่รองรับ
การอนุมานในระบบคลาวด์ใช้ผู้ให้บริการ Gemini API ที่คุณเลือก (ไม่ว่าจะเป็น Gemini Developer API หรือ Agent Platform Gemini API (formerly Vertex AI))
การอนุมานในอุปกรณ์ใช้เฟรมเวิร์ก Foundation Models ของ Apple ซึ่งพร้อมใช้งานใน อุปกรณ์ที่เปิดใช้ Apple Intelligence เท่านั้น ระบบจะดาวน์โหลดโมเดลในอุปกรณ์โดยอัตโนมัติเมื่อเปิดใช้ Apple Intelligence
เริ่มต้นใช้งาน
โปรดอ่านส่วนด้านบนที่อธิบายความสามารถ, API และอุปกรณ์ที่รองรับ
ขั้นตอนการเริ่มต้นใช้งานเหล่านี้อธิบายการตั้งค่าทั่วไปที่จำเป็นสำหรับคำขอพรอมต์ที่รองรับซึ่งคุณต้องการส่ง
ขั้นตอนที่ 1: ตั้งค่าโปรเจ็กต์ Firebase และเชื่อมต่อแอปกับ Firebase
ลงชื่อเข้าใช้คอนโซล Firebase แล้วเลือกโปรเจ็กต์ Firebase
ในคอนโซล Firebase ให้ไปที่บริการ AI > AI Logic
คลิกเริ่มต้นใช้งาน เพื่อเปิดใช้เวิร์กโฟลว์แบบมีคำแนะนำที่จะช่วยคุณตั้งค่า API ที่จำเป็น และทรัพยากรสำหรับโปรเจ็กต์
หากได้รับข้อความแจ้ง ให้ทำตามวิธีการบนหน้าจอเพื่อลงทะเบียนแอปและเพิ่มการกำหนดค่า Firebase ลงในแอป
เมื่อระบบขอให้เลือก "ผู้ให้บริการ Gemini API" เราขอแนะนำให้เลือก Gemini Developer API ซึ่งช่วยให้คุณเริ่มต้นใช้งานได้อย่างรวดเร็วโดยไม่มีค่าใช้จ่าย
คุณสามารถตั้งค่า Agent Platform Gemini API (formerly Vertex AI) (และข้อกำหนดในการเรียกเก็บเงิน) ได้ทุกเมื่อในภายหลัง
ทำตามเวิร์กโฟลว์เพื่อตั้งค่า API ที่จำเป็นและบริการที่เกี่ยวข้อง สำหรับ Firebase AI Logic
ตั้งแต่ต้นเดือนกรกฎาคม 2026 เป็นต้นไป เวิร์กโฟลว์ในขั้นตอนนี้จะบังคับใช้ โดยอัตโนมัติ Firebase App Check สำหรับ AI Logic, ซึ่งเป็นบริการที่ สำคัญ ที่ช่วยปกป้อง Gemini API เมื่อมีการเข้าถึงจากแอปของคุณ โดยตรง ในขั้นตอนการเริ่มต้นใช้งาน (ดูขั้นตอนในส่วนหลัง ของคู่มือนี้) คุณจะต้องกำหนดค่า App Check ผู้ให้บริการการแก้ไขข้อบกพร่อง สำหรับ การพัฒนาในเครื่องเมื่อมีการบังคับใช้ App Check
ทำตามขั้นตอนถัดไปในคู่มือนี้เพื่อเพิ่ม SDK ที่จำเป็นลงในแอป
ขั้นตอนที่ 2: เพิ่ม SDK ที่จำเป็น
ใช้ Swift Package Manager (SPM) เพื่อติดตั้งและจัดการทรัพยากร Dependency ของ Xcode การรองรับแบบไฮบริดจะพร้อมใช้งานเมื่อใช้ SPM เท่านั้น
ไลบรารี Firebase AI Logic ช่วยให้เข้าถึง API สำหรับโต้ตอบ
กับโมเดล Generative ได้ ไลบรารีนี้รวมอยู่ใน Firebase SDK สำหรับแพลตฟอร์ม Apple (firebase-ios-sdk)
หากคุณใช้ Firebase อยู่แล้ว โปรดตรวจสอบว่าแพ็กเกจ Firebase เป็นเวอร์ชัน 12.13.0 ขึ้นไป
เปิดโปรเจ็กต์แอปใน Xcode แล้วไปที่ File > Add Package Dependencies
เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ Firebase Apple Platforms SDK ดังนี้
https://github.com/firebase/firebase-ios-sdkเลือก SDK เวอร์ชันล่าสุด
เลือกไลบรารี
FirebaseAILogicและFirebaseAppCheck
เมื่อเสร็จแล้ว Xcode จะเริ่มจับคู่ข้อมูลและดาวน์โหลดทรัพยากร Dependency ในเบื้องหลังโดยอัตโนมัติ
ขั้นตอนที่ 3: กำหนดค่าผู้ให้บริการการแก้ไขข้อบกพร่อง App Check สำหรับการพัฒนาในเครื่อง
ตั้งแต่ต้นเดือนกรกฎาคม 2026 เป็นต้นไป ระบบจะบังคับใช้ Firebase App Check โดยอัตโนมัติเพื่อปกป้อง Gemini API ซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์การตั้งค่าแบบมีคำแนะนำสำหรับ AI Logic ในคอนโซล สำหรับการพัฒนาในเครื่อง คุณต้องกำหนดค่า App Check ผู้ให้บริการการแก้ไขข้อบกพร่อง เพื่อข้ามการรับรองในขณะที่ยังคงมีการ บังคับใช้ App Check
วิธีใช้ผู้ให้บริการการแก้ไขข้อบกพร่องขณะเรียกใช้แอปในเครื่องจำลองแบบโต้ตอบ (เช่น ระหว่างการพัฒนาในเครื่อง) มีดังนี้
ในโปรเจ็กต์ Xcode ให้นำเข้า
FirebaseAppCheckและเริ่มต้น App Check ด้วย Factory ของผู้ให้บริการการแก้ไขข้อบกพร่อง ก่อน ที่จะกำหนดค่าFirebaseimport SwiftUI import FirebaseCore import FirebaseAppCheck @main struct YourApp: App { init() { let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }รับโทเค็นการแก้ไขข้อบกพร่องโดยทำดังนี้
เปิดแอปในเครื่องจำลองหรือในอุปกรณ์ทดสอบ
เปิดคอนโซล Xcode แล้วมองหาโทเค็นการแก้ไขข้อบกพร่อง App Check เช่น
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.คัดลอกโทเค็น (เช่น
123a4567-b89c-12d3-e456-789012345678)
ลงทะเบียนโทเค็นการแก้ไขข้อบกพร่องกับ App Check โดยทำดังนี้
ในคอนโซล Firebase ให้ไปที่แท็บ ความปลอดภัย > App Check > แอป
ค้นหาแอป คลิกเมนูรายการเพิ่มเติม () แล้วเลือก จัดการโทเค็นการแก้ไขข้อบกพร่อง
ทำตามวิธีการบนหน้าจอเพื่อลงทะเบียนโทเค็นการแก้ไขข้อบกพร่อง
โปรดดูรายละเอียดเกี่ยวกับผู้ให้บริการการแก้ไขข้อบกพร่อง (รวมถึงวิธีรับโทเค็นการแก้ไขข้อบกพร่องใหม่) ใน เอกสารประกอบอย่างเป็นทางการApp Check
ขั้นตอนที่ 4: เริ่มต้นบริการและสร้างอินสแตนซ์เซสชันโมเดล
|
คลิกผู้ให้บริการ Gemini API เพื่อดูเนื้อหาเฉพาะของผู้ให้บริการ และโค้ดในหน้านี้ |
ตั้งค่าสิ่งต่อไปนี้ก่อนส่งคำขอพรอมต์ไปยังโมเดล
เริ่มต้นบริการสำหรับผู้ให้บริการ Gemini API ที่คุณเลือก
สร้างอินสแตนซ์
GenerativeModelSessionด้วยHybridModelตั้งค่าโมเดล
primaryและsecondaryตามความต้องการ คุณสามารถกำหนดลำดับการอนุมานที่พยายามได้ดังนี้พยายามอนุมานในอุปกรณ์ก่อน แต่ให้กลับไปใช้ระบบคลาวด์ได้: ตั้งค่า
primaryเป็นโมเดล "ระบบ" และsecondaryเป็นโมเดลระบบคลาวด์พยายามอนุมานในระบบคลาวด์ก่อน แต่ให้กลับไปใช้ในอุปกรณ์ได้: ตั้งค่า
primaryเป็นโมเดลระบบคลาวด์ และsecondaryเป็นโมเดล "ระบบ"
โปรดทราบว่า SDK รองรับการตั้งค่า
modelเพียง รายการเดียว ซึ่งหมายความว่า SDK จะพยายามอนุมานในอุปกรณ์หรือในระบบคลาวด์ เท่านั้น อย่างไรก็ตาม หากต้องการประสบการณ์การใช้งานแบบ ไฮบริด คุณต้องสร้างHybridModelและตั้งค่าทั้งโมเดลprimaryและsecondaryดูข้อมูลเพิ่มเติมเกี่ยวกับลักษณะการทำงานของ "โหมดการอนุมาน" (ลำดับการอนุมานที่พยายาม ใน ตัวเลือกการกำหนดค่า
ตัวอย่างต่อไปนี้แสดงวิธีพยายามอนุมานในอุปกรณ์ก่อน แต่ให้กลับไปใช้โมเดลที่โฮสต์บนระบบคลาวด์ได้
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a cloud model that supports your use case.
let cloudModel = ai.geminiModel(name: "GEMINI_MODEL_NAME")
// Initialize an on-device model that supports your use case.
let systemModel = FirebaseAI.SystemLanguageModel.default
// Create a Hybrid Model.
// Provide your preferred model as `primary` and your fallback model as `secondary`.
// In this example, attempt to use on-device model; otherwise, fall back to cloud.
let hybridModel = HybridModel(
primary: systemModel,
secondary: cloudModel
)
// Create a GenerativeModelSession with the HybridModel created earlier.
let session = firebaseAI.generativeModelSession(
model: hybridModel,
)
ขั้นตอนที่ 5: ส่งคำขอพรอมต์ไปยังโมเดล
ส่วนนี้จะแสดงวิธีดำเนินการต่อไปนี้
สร้างข้อความจากอินพุตที่เป็นข้อความเท่านั้น
| ก่อนที่จะลองใช้ตัวอย่างนี้ โปรดตรวจสอบว่าคุณได้ทำตาม ส่วนเริ่มต้นใช้งาน ของคู่มือนี้แล้ว |
หากต้องการสร้างข้อความจากพรอมต์ที่มีข้อความ ให้ใช้ respond(to:) ดังนี้
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call `respond(to:)` with the text input
let response = try await session.respond(to: prompt)
print(response.content)
สตรีมข้อความจากอินพุตที่เป็นข้อความเท่านั้น
| ก่อนที่จะลองใช้ตัวอย่างนี้ โปรดตรวจสอบว่าคุณได้ทำตาม ส่วนเริ่มต้นใช้งาน ของคู่มือนี้แล้ว |
คุณสามารถโต้ตอบได้เร็วขึ้นโดยไม่ต้องรอผลลัพธ์ทั้งหมดจากการสร้างโมเดล แต่ให้ใช้ การสตรีม เพื่อจัดการผลลัพธ์บางส่วน หากต้องการ สตรีม ข้อความที่สร้างจากพรอมต์ที่มีข้อความ ให้ใช้ streamResponse(to:) ดังนี้
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To stream generated text output, call `streamResponse(to:)` with the text input
let stream = session.streamResponse(to: prompt)
for try await snapshot in stream {
print(snapshot.content)
}
สิ่งอื่นๆ ที่ทำได้
คุณสามารถใช้ตัวเลือกการกำหนดค่าและความสามารถเพิ่มเติมต่างๆ สำหรับประสบการณ์การใช้งานแบบไฮบริดได้ดังนี้
ฟีเจอร์ที่ยังไม่รองรับสำหรับการอนุมานแบบไฮบริดหรือในอุปกรณ์
เนื่องจากเป็นเวอร์ชันทดลอง ระบบจึงยังไม่รองรับความสามารถทั้งหมดของ Firebase AI Logic หรือโมเดลที่โฮสต์บนระบบคลาวด์
ระบบ ไม่รองรับ โมเดล Imagen, Gemini Live API และเทมเพลตพรอมต์สำหรับการใช้งานแบบไฮบริดหรือในอุปกรณ์ นอกจากนี้ คุณไม่ควรใช้การนับโทเค็นเนื่องจากจำนวนโทเค็นจะแตกต่างกันระหว่างโมเดลที่โฮสต์บนระบบคลาวด์กับโมเดลในอุปกรณ์ จึงไม่มีการกลับไปใช้โมเดลอื่นที่เข้าใจง่าย
ระบบ ยังไม่รองรับ ฟีเจอร์ต่อไปนี้สำหรับการอนุมานในอุปกรณ์ หากต้องการใช้ฟีเจอร์เหล่านี้ เราขอแนะนำให้ใช้เฉพาะโมเดลที่โฮสต์บนระบบคลาวด์เพื่อให้ได้รับประสบการณ์การใช้งานที่สอดคล้องกันมากขึ้น
การสร้างข้อความจากอินพุตแบบหลายรูปแบบ เช่น รูปภาพ เสียง วิดีโอ และเอกสาร (PDF)
การสร้างสื่อ เช่น รูปภาพ เสียง หรือวิดีโอ
การส่งคำขอที่มีโทเค็นเกิน 4096 รายการ (หรือประมาณ 3000 คำในภาษาอังกฤษ)
การให้ เครื่องมือในตัว แก่โมเดลในอุปกรณ์เพื่อช่วยสร้างการตอบกลับ (เช่น การเรียกใช้โค้ด, บริบท URL และ การเชื่อมต่อแหล่งข้อมูลกับ Google Search)
การตรวจสอบ AI ในคอนโซล Firebase ไม่ แสดงข้อมูลสำหรับการอนุมานในอุปกรณ์ (รวมถึงบันทึกในอุปกรณ์) อย่างไรก็ตาม คุณสามารถตรวจสอบการอนุมานที่ ใช้โมเดลที่โฮสต์บนระบบคลาวด์ได้เช่นเดียวกับการอนุมานอื่นๆ ผ่าน Firebase AI Logic
ข้อจำกัดเพิ่มเติม
นอกเหนือจากข้อจำกัดข้างต้น การอนุมาน ในอุปกรณ์ ยังมีข้อจำกัดต่อไปนี้
ผู้ใช้ปลายทางของแอปต้องใช้อุปกรณ์ที่เปิดใช้ Apple Intelligence
แอปจะอนุมานในอุปกรณ์ได้ก็ต่อเมื่อแอปทำงานอยู่เบื้องหน้าเท่านั้น
แสดงความคิดเห็น เกี่ยวกับประสบการณ์การใช้งาน Firebase AI Logic