สร้างประสบการณ์แบบไฮบริดในแอปของ Apple ด้วยโมเดลในอุปกรณ์และโมเดลที่โฮสต์ในระบบคลาวด์

คุณสามารถสร้างแอปและฟีเจอร์ของ 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 และอุปกรณ์ที่รองรับ

เริ่มต้นใช้งาน

โปรดอ่านส่วนด้านบนที่อธิบายความสามารถ, API และอุปกรณ์ที่รองรับ

ขั้นตอนการเริ่มต้นใช้งานเหล่านี้อธิบายการตั้งค่าทั่วไปที่จำเป็นสำหรับคำขอพรอมต์ที่รองรับซึ่งคุณต้องการส่ง

ขั้นตอนที่ 1: ตั้งค่าโปรเจ็กต์ Firebase และเชื่อมต่อแอปกับ Firebase

  1. ลงชื่อเข้าใช้คอนโซล Firebase แล้วเลือกโปรเจ็กต์ Firebase

  2. ในคอนโซล Firebase ให้ไปที่บริการ AI > AI Logic

  3. คลิกเริ่มต้นใช้งาน เพื่อเปิดใช้เวิร์กโฟลว์แบบแนะนำที่จะช่วยคุณตั้งค่า API ที่จำเป็น และทรัพยากรสำหรับโปรเจ็กต์

  4. หากระบบแจ้ง ให้ทำตามวิธีการบนหน้าจอเพื่อลงทะเบียนแอปและเพิ่มการกำหนดค่า Firebase ลงในแอป

  5. เมื่อระบบขอให้เลือก "ผู้ให้บริการ Gemini API" เราขอแนะนำให้เลือก Gemini Developer API ซึ่งช่วยให้คุณเริ่มต้นใช้งานได้อย่างรวดเร็วโดยไม่มีค่าใช้จ่าย

    คุณสามารถตั้งค่า Agent Platform Gemini API (formerly Vertex AI) (และข้อกำหนดในการเรียกเก็บเงิน) ได้ทุกเมื่อในภายหลัง

  6. ทำตามขั้นตอนในเวิร์กโฟลว์เพื่อตั้งค่า API และบริการที่เกี่ยวข้องที่จำเป็น สำหรับ Firebase AI Logic

    ตั้งแต่ต้นเดือนกรกฎาคม 2026 เป็นต้นไป ขั้นตอนนี้ของเวิร์กโฟลว์จะบังคับใช้ โดยอัตโนมัติ Firebase App Check สำหรับ AI Logic, ซึ่งเป็นบริการที่ สำคัญ ที่ช่วยปกป้อง Gemini API เมื่อมีการเข้าถึงจากแอปของคุณ โดยตรง ในขั้นตอนการเริ่มต้นใช้งาน (ดูขั้นตอนในส่วนหลัง ของคู่มือนี้) คุณจะต้องกำหนดค่า App Check ผู้ให้บริการการแก้ไขข้อบกพร่อง สำหรับการพัฒนาในเครื่องเมื่อมีการบังคับใช้ App Check

  7. ทำตามขั้นตอนถัดไปในคู่มือนี้เพื่อเพิ่ม 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 ขึ้นไป

  1. ใน Xcode ให้เปิดโปรเจ็กต์แอป แล้วไปที่ไฟล์ > เพิ่มทรัพยากร Dependency ของแพ็กเกจ

  2. เมื่อระบบแจ้ง ให้เพิ่มที่เก็บ SDK ของแพลตฟอร์ม Firebase Apple ดังนี้

    https://github.com/firebase/firebase-ios-sdk
    
  3. เลือก SDK เวอร์ชันล่าสุด

  4. เลือกไลบรารี FirebaseAILogic และ FirebaseAppCheck

เมื่อเสร็จแล้ว Xcode จะเริ่มแก้ไขและดาวน์โหลดทรัพยากร Dependency ในเบื้องหลังโดยอัตโนมัติ

ขั้นตอนที่ 3: กำหนดค่าผู้ให้บริการโปรแกรมแก้ไขข้อบกพร่อง App Check สำหรับการพัฒนาในเครื่อง

ตั้งแต่ต้นเดือนกรกฎาคม 2026 เป็นต้นไป ระบบจะบังคับใช้ Firebase App Check โดยอัตโนมัติเพื่อปกป้อง Gemini API ซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์การตั้งค่าแบบแนะนำสำหรับ AI Logic ในคอนโซล สำหรับการพัฒนาในเครื่อง คุณต้องกำหนดค่า App Check ผู้ให้บริการโปรแกรมแก้ไขข้อบกพร่อง เพื่อข้ามการรับรองในขณะที่ยังคงมีการ บังคับใช้ App Check

วิธีใช้ผู้ให้บริการแก้ไขข้อบกพร่องขณะเรียกใช้แอปในเครื่องจำลองแบบโต้ตอบ (เช่น ระหว่างการพัฒนาในเครื่อง) มีดังนี้

  1. ในโปรเจ็กต์ Xcode ให้นำเข้า FirebaseAppCheck และเริ่มต้น App Check ด้วย Factory ของผู้ให้บริการโปรแกรมแก้ไขข้อบกพร่อง ก่อน ที่จะกำหนดค่า Firebase

    import 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()
          }
        }
      }
    }
    
  2. รับโทเค็นการแก้ไขข้อบกพร่องโดยทำดังนี้

    1. เปิดแอปในเครื่องจำลองหรือในอุปกรณ์ทดสอบ

    2. เปิดคอนโซล Xcode แล้วมองหาโทเค็นการแก้ไขข้อบกพร่อง App Check เช่น

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. คัดลอกโทเค็น (เช่น 123a4567-b89c-12d3-e456-789012345678)

  3. ลงทะเบียนโทเค็นการแก้ไขข้อบกพร่องกับ App Check โดยทำดังนี้

    1. ในคอนโซล Firebase ให้ไปที่แท็บ ความปลอดภัย > App Check > แอป

    2. ค้นหาแอป คลิกเมนูรายการเพิ่มเติม () แล้วเลือก จัดการโทเค็นการแก้ไขข้อบกพร่อง

    3. ทำตามวิธีการบนหน้าจอเพื่อลงทะเบียนโทเค็นการแก้ไขข้อบกพร่อง

ดูรายละเอียดเกี่ยวกับผู้ให้บริการการแก้ไขข้อบกพร่อง (รวมถึงวิธีรับโทเค็นการแก้ไขข้อบกพร่องใหม่) ดูที่ เอกสารประกอบอย่างเป็นทางการApp Check

ขั้นตอนที่ 4: เริ่มต้นบริการและสร้างอินสแตนซ์เซสชันโมเดล

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

ตั้งค่าสิ่งต่อไปนี้ก่อนส่งคำขอพรอมต์ไปยังโมเดล

  1. เริ่มต้นบริการสำหรับผู้ให้บริการ Gemini API ที่คุณเลือก

  2. สร้างอินสแตนซ์ GenerativeModelSession ด้วย HybridModel

  3. ตั้งค่าโมเดล 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 หรือโมเดลที่โฮสต์ในระบบคลาวด์

  • ระบบ ไม่รองรับ สำหรับการติดตั้งใช้งานแบบไฮบริดหรือการติดตั้งใช้งานในอุปกรณ์: Gemini Live API และเทมเพลตพรอมต์ของเซิร์ฟเวอร์ นอกจากนี้ คุณไม่ควรพึ่งพาการนับโทเค็นเนื่องจากจำนวนโทเค็นจะแตกต่างกันระหว่างโมเดลที่โฮสต์ในระบบคลาวด์กับโมเดลในอุปกรณ์ จึงไม่มีการเปลี่ยนไปใช้โมเดลอื่นที่ใช้งานง่าย

  • ระบบ ยังไม่รองรับ ฟีเจอร์ต่อไปนี้สำหรับการอนุมานในอุปกรณ์ หากต้องการใช้ฟีเจอร์เหล่านี้ เราขอแนะนำให้ใช้เฉพาะโมเดลที่โฮสต์ในระบบคลาวด์เพื่อให้ได้รับประสบการณ์การใช้งานที่สอดคล้องกันมากขึ้น

    • การสร้างข้อความที่สร้างขึ้นจากอินพุตหลายรูปแบบ เช่น รูปภาพ เสียง วิดีโอ และเอกสาร (PDF)

    • การสร้างสื่อ เช่น รูปภาพ เสียง หรือวิดีโอ

    • การส่งคำขอที่มีโทเค็นเกิน 4096 รายการ (หรือประมาณ 3000 คำในภาษาอังกฤษ)

    • การให้ เครื่องมือในตัว แก่โมเดลในอุปกรณ์เพื่อช่วยสร้างการตอบกลับ (เช่น การเรียกใช้โค้ด, บริบท URL และ การเชื่อมต่อแหล่งข้อมูลกับ Google Search)

  • การตรวจสอบ AI ในคอนโซล Firebase ไม่ แสดงข้อมูลสำหรับการอนุมานในอุปกรณ์ (รวมถึงบันทึกของอุปกรณ์) อย่างไรก็ตาม คุณสามารถตรวจสอบการอนุมานที่ ใช้โมเดลที่โฮสต์ในระบบคลาวด์ได้เช่นเดียวกับการอนุมานอื่นๆ ผ่าน Firebase AI Logic

ข้อจำกัดเพิ่มเติม

นอกเหนือจากข้อจำกัดข้างต้น การอนุมาน ในอุปกรณ์ ยังมีข้อจำกัดต่อไปนี้

  • ผู้ใช้ปลายทางของแอปต้องใช้อุปกรณ์ที่เปิดใช้ Apple Intelligence

  • แอปจะอนุมานในอุปกรณ์ได้ก็ต่อเมื่อแอปทำงานอยู่เบื้องหน้าเท่านั้น


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