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


คุณสามารถสร้างแอปและฟีเจอร์ Android ที่ทำงานด้วยระบบ AI ด้วยการอนุมานแบบไฮบริดโดยใช้ Firebase AI Logic การอนุมานแบบไฮบริดช่วยให้สามารถเรียกใช้การอนุมานโดยใช้ โมเดลในอุปกรณ์เมื่อพร้อมใช้งาน และเปลี่ยนไปใช้ โมเดลที่โฮสต์ในระบบคลาวด์ได้อย่างราบรื่นในกรณีอื่นๆ (และในทางกลับกัน)

หน้านี้อธิบายวิธี เริ่มต้นใช้งาน SDK ของไคลเอ็นต์ รวมถึงแสดง ตัวเลือกการกำหนดค่าและความสามารถเพิ่มเติม

โปรดทราบว่าระบบรองรับการอนุมานในอุปกรณ์ผ่าน Firebase AI Logic สำหรับ แอป Android ที่ใช้ Firebase AI Logic SDK เวอร์ชัน 17.10.0 ขึ้นไป (BoM เวอร์ชัน 34.10.0 ขึ้นไป) และ ทำงานในอุปกรณ์ที่เฉพาะเจาะจง โดยมีข้อกำหนดของ ML Kit และข้อกำหนดเฉพาะสำหรับด้าน Gen AI ของ ML Kit เป็นตัวกำกับดูแล

กรณีการใช้งานที่แนะนำและความสามารถที่รองรับ

กรณีการใช้งานที่แนะนำ

  • การใช้โมเดลในอุปกรณ์สำหรับการอนุมานมีข้อดีดังนี้

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

    • เข้าถึงกลุ่มเป้าหมายได้มากขึ้นโดยรองรับความพร้อมใช้งานของโมเดลในอุปกรณ์ และการเชื่อมต่ออินเทอร์เน็ต

ความสามารถและฟีเจอร์ที่รองรับสำหรับการอนุมานในอุปกรณ์

การอนุมานในอุปกรณ์รองรับเฉพาะการสร้างข้อความแบบเทิร์นเดียว (ไม่ใช่แชท) ที่มีเอาต์พุตแบบสตรีมมิงหรือไม่ใช่สตรีมมิง โดยรองรับความสามารถในการสร้างข้อความต่อไปนี้

โปรดดูรายการ ฟีเจอร์ที่ยังไม่พร้อมใช้งานสำหรับการอนุมานในอุปกรณ์ ที่ด้านล่างของหน้านี้

ก่อนเริ่มต้น

ข้อควรทราบมีดังนี้

อุปกรณ์ Android ที่รองรับและโมเดลในอุปกรณ์

สำหรับการอนุมานในอุปกรณ์ (ซึ่งใช้ Prompt API จาก ML Kit) คุณ ดูรายการ อุปกรณ์ที่รองรับและโมเดลในอุปกรณ์ของอุปกรณ์เหล่านั้น ได้ในเอกสารประกอบของ ML Kit

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

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

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

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

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

  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 ที่จำเป็น

Firebase AI Logic SDK สำหรับ Android (firebase-ai) พร้อมกับ Firebase AI Logic On-Device SDK (firebase-ai-ondevice) ให้สิทธิ์เข้าถึง API สำหรับการโต้ตอบกับโมเดล Generative

ในไฟล์ Gradle ของโมดูล (ระดับแอป) (เช่น <project>/<app-module>/build.gradle.kts) ให้เพิ่มทรัพยากร Dependency สำหรับคลัง Firebase AI Logic และ App Check สำหรับ Android ดังนี้

Kotlin

dependencies {
  // ... other androidx dependencies

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // Note that the on-device SDK is not yet included in the Firebase Android BoM
  implementation("com.google.firebase:firebase-ai:17.17.0")
  implementation("com.google.firebase:firebase-ai-ondevice:16.0.0-beta05")
  implementation("com.google.firebase:firebase-appcheck-debug:19.4.1")
}

Java

สำหรับ Java คุณต้องเพิ่มไลบรารีอีก 2 รายการ

dependencies {
  // ... other androidx dependencies

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // Note that the on-device SDK is not yet included in the Firebase Android BoM
  implementation("com.google.firebase:firebase-ai:17.17.0")
  implementation("com.google.firebase:firebase-ai-ondevice:16.0.0-beta05")
  implementation("com.google.firebase:firebase-appcheck-debug:19.4.1")

  // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Reactive Streams)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

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

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

  1. ในการสร้างการแก้ไขข้อบกพร่อง ให้กำหนดค่า App Check เพื่อใช้โรงงานผู้ให้บริการแก้ไขข้อบกพร่อง ดังนี้

    Kotlin

    Firebase.initialize(context = this)
    Firebase.appCheck.installAppCheckProviderFactory(
        DebugAppCheckProviderFactory.getInstance(),
    )
    

    Java

    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            DebugAppCheckProviderFactory.getInstance());
    
  2. รับโทเค็นการแก้ไขข้อบกพร่องโดยทำดังนี้

    1. เรียกใช้แอปในโปรแกรมจำลองหรือในอุปกรณ์ทดสอบ

    2. มองหาApp Checkโทเค็นการแก้ไขข้อบกพร่องในบันทึก เช่น

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. คัดลอกโทเค็น (เช่น 123a4567-b89c-12d3-e456-789012345678)

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

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

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

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

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

ขั้นตอนที่ 4: ตรวจสอบว่าโมเดลในอุปกรณ์พร้อมใช้งานหรือไม่

ใช้ FirebaseAIOnDevice เพื่อตรวจสอบว่าโมเดลในอุปกรณ์พร้อมใช้งานหรือไม่ และดาวน์โหลดโมเดลหากไม่พร้อมใช้งาน

เมื่อดาวน์โหลดแล้ว AICore จะอัปเดตโมเดลให้โดยอัตโนมัติ ดูรายละเอียดเพิ่มเติมเกี่ยวกับ AICore และการจัดการการดาวน์โหลดโมเดลในอุปกรณ์ได้ที่ หมายเหตุหลังตัวอย่างโค้ด

Kotlin

val status = FirebaseAIOnDevice.checkStatus()
when (status) {
  OnDeviceModelStatus.UNAVAILABLE -> {
    Log.w(TAG, "On-device model is unavailable")
  }

  OnDeviceModelStatus.DOWNLOADABLE -> {
    FirebaseAIOnDevice.download().collect { status ->
      when (status) {
        is DownloadStatus.DownloadStarted ->
          Log.w(TAG, "Starting download - ${status.bytesToDownload}")

        is DownloadStatus.DownloadInProgress ->
          Log.w(TAG, "Download in progress ${status.totalBytesDownloaded} bytes downloaded")

        is DownloadStatus.DownloadCompleted ->
          Log.w(TAG, "On-device model download complete")

        is DownloadStatus.DownloadFailed ->
          Log.e(TAG, "Download failed ${status}")
      }
    }
  }
  OnDeviceModelStatus.DOWNLOADING -> {
    Log.w(TAG, "On-device model is being downloaded")
  }

  OnDeviceModelStatus.AVAILABLE -> {
    Log.w(TAG, "On-device model is available")
  }
}

Java

Checking for, downloading, and warming up the model is not yet available for Java.

However, all other APIs and interactions in this guide are available for Java.

โปรดทราบข้อมูลต่อไปนี้เกี่ยวกับการดาวน์โหลดโมเดลในอุปกรณ์

  • เวลาที่ใช้ในการดาวน์โหลดโมเดลในอุปกรณ์ขึ้นอยู่กับหลายปัจจัย รวมถึงเครือข่ายของคุณ

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

  • หากโมเดลในอุปกรณ์ไม่พร้อมใช้งานเมื่อมีการส่งคำขออนุมานในอุปกรณ์ SDK จะไม่ทริกเกอร์การดาวน์โหลด โมเดลในอุปกรณ์โดยอัตโนมัติ SDK จะกลับไปใช้โมเดลที่โฮสต์ในระบบคลาวด์หรือ ส่งข้อยกเว้น (ดูรายละเอียดเกี่ยวกับลักษณะการทำงานของ โหมดการอนุมาน)

  • AICore (บริการของระบบ Android) จะจัดการให้คุณว่าควรดาวน์โหลดโมเดลและเวอร์ชันใด รวมถึงดูแลให้โมเดลเป็นเวอร์ชันล่าสุดอยู่เสมอ เป็นต้น โปรดทราบว่าอุปกรณ์จะดาวน์โหลดโมเดลเพียงรายการเดียว ดังนั้นหากแอปอื่นในอุปกรณ์เคยดาวน์โหลดโมเดลในอุปกรณ์สำเร็จแล้ว การตรวจสอบนี้จะแสดงว่าโมเดลพร้อมใช้งาน

การเพิ่มประสิทธิภาพเวลาในการตอบสนอง

หากต้องการเพิ่มประสิทธิภาพสำหรับการเรียกใช้การอนุมานครั้งแรก คุณสามารถให้แอปเรียกใช้ onDeviceExtension?.warmUp() (ปัจจุบันใช้ได้กับ Kotlin เท่านั้น) ซึ่งจะโหลดโมเดลในอุปกรณ์ลงใน หน่วยความจำและเริ่มต้นคอมโพเนนต์รันไทม์

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

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

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

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

  2. สร้างอินสแตนซ์ GenerativeModel และตั้งค่า mode เป็นค่าใดค่าหนึ่งต่อไปนี้ คำอธิบายที่นี่เป็นเพียงภาพรวม แต่คุณสามารถดูรายละเอียดเกี่ยวกับลักษณะการทำงานของโหมดเหล่านี้ได้ในตั้งค่าโหมดการอนุมาน

    • PREFER_ON_DEVICE: พยายามใช้โมเดลในอุปกรณ์ หากไม่ได้ ให้กลับไปใช้โมเดลที่โฮสต์ในระบบคลาวด์

    • ONLY_ON_DEVICE: พยายามใช้โมเดลในอุปกรณ์ มิฉะนั้น throw an exception

    • PREFER_IN_CLOUD: พยายามใช้โมเดลที่โฮสต์ในระบบคลาวด์ หรือกลับไปใช้โมเดลในอุปกรณ์

    • ONLY_IN_CLOUD: พยายามใช้โมเดลที่โฮสต์ในระบบคลาวด์ มิฉะนั้น throw an exception

Kotlin

// Using this SDK to access on-device inference is an Experimental release and requires opt-in
@OptIn(PublicPreviewAPI::class)

// ...

// Initialize the Gemini Developer API backend service
// Create a GenerativeModel instance with a model that supports your use case
// Set the inference mode (like PREFER_ON_DEVICE to use the on-device model if available)
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel(
        modelName = "CLOUD_MODEL_NAME",
        onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)
    )

Java

// Initialize the Gemini Developer API backend service
// Create a GenerativeModel instance with a model that supports your use case
// Set the inference mode (like PREFER_ON_DEVICE to use the on-device model if available)
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .generativeModel(
        "CLOUD_MODEL_NAME",
        new OnDeviceConfig(InferenceMode.PREFER_ON_DEVICE)
    );

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);

ขั้นตอนที่ 6: ส่งคำขอพรอมต์ไปยังโมเดล

ส่วนนี้จะแสดงวิธีส่งอินพุตประเภทต่างๆ เพื่อสร้างเอาต์พุตประเภทต่างๆ ซึ่งรวมถึง

สร้างข้อความจากอินพุตที่เป็นข้อความเท่านั้น

ก่อนที่จะลองใช้ตัวอย่างนี้ โปรดตรวจสอบว่าคุณได้ทำตามส่วน เริ่มต้นใช้งานของคู่มือนี้แล้ว

คุณใช้ generateContent() เพื่อสร้างข้อความจากพรอมต์ที่มีข้อความได้โดยทำดังนี้

Kotlin

// Imports + initialization of Gemini API backend service + creation of model instance

// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
val response = model.generateContent(prompt)
print(response.text)

Java

// Imports + initialization of Gemini API backend service + creation of model instance

// Provide a prompt that contains text
Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

โปรดทราบว่า Firebase AI Logic ยังรองรับการสตรีมคำตอบที่เป็นข้อความโดยใช้ generateContentStream (แทน generateContent) ด้วย

สร้างข้อความจากอินพุตข้อความและรูปภาพ (หลายรูปแบบ)

ก่อนที่จะลองใช้ตัวอย่างนี้ โปรดตรวจสอบว่าคุณได้ทำตามส่วน เริ่มต้นใช้งานของคู่มือนี้แล้ว

คุณสามารถใช้ generateContent() เพื่อสร้างข้อความจากพรอมต์ที่มีข้อความและไฟล์รูปภาพสูงสุด1 ไฟล์ (บิตแมปเท่านั้น) โดยระบุmimeTypeของไฟล์อินพุตแต่ละไฟล์และตัวไฟล์เอง

Kotlin

// Imports + initialization of Gemini API backend service + creation of model instance

// Loads an image from the app/res/drawable/ directory
val bitmap: Bitmap = BitmapFactory.decodeResource(resources, R.drawable.sparky)

// Provide a prompt that includes the image specified above and text
val prompt = content {
  image(bitmap)
  text("What developer tool is this mascot from?")
}

// To generate text output, call generateContent with the prompt
val response = model.generateContent(prompt)
print(response.text)

Java

// Imports + initialization of Gemini API backend service + creation of model instance

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sparky);

// Provide a prompt that includes the image specified above and text
Content content = new Content.Builder()
        .addImage(bitmap)
        .addText("What developer tool is this mascot from?")
        .build();

// To generate text output, call generateContent with the prompt
ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

โปรดทราบว่า Firebase AI Logic ยังรองรับการสตรีมคำตอบที่เป็นข้อความโดยใช้ generateContentStream (แทน generateContent) ด้วย

คุณทำอะไรได้อีกบ้าง

คุณสามารถใช้ตัวเลือกการกำหนดค่าและความสามารถเพิ่มเติมต่างๆ สำหรับ ประสบการณ์แบบไฮบริดได้ดังนี้

ฟีเจอร์ที่ยังไม่พร้อมใช้งานสำหรับการอนุมานในอุปกรณ์

เนื่องจากเป็นรุ่นทดลอง ความสามารถบางอย่างของโมเดลระบบคลาวด์จึงไม่พร้อมใช้งานสำหรับการอนุมานในอุปกรณ์

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

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

  • การสร้างข้อความจากไฟล์รูปภาพมากกว่า 1 ไฟล์

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

  • การสร้างรูปภาพโดยใช้โมเดล Gemini

  • การระบุไฟล์โดยใช้ URL ในคำขอแบบมัลติโมดัล คุณต้องระบุไฟล์เป็น ข้อมูลแบบอินไลน์ให้กับโมเดลในอุปกรณ์

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

  • การสนทนาไปมา

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

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

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

นอกเหนือจากข้างต้นแล้ว การอนุมานในอุปกรณ์ยังมีข้อจำกัดต่อไปนี้ (ดูข้อมูลเพิ่มเติมในเอกสารประกอบของ ML Kit)

  • ผู้ใช้ปลายทางของแอปต้องใช้ อุปกรณ์ที่รองรับ สำหรับการอนุมานในอุปกรณ์

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

  • เฉพาะภาษาอังกฤษและภาษาเกาหลีเท่านั้นที่ได้รับการตรวจสอบแล้วว่าใช้ได้กับการอนุมานในอุปกรณ์

  • ขีดจำกัดโทเค็นสูงสุดสำหรับคำขอการอนุมานในอุปกรณ์ทั้งหมดคือ 4000 โทเค็น หากคำขออาจเกินขีดจำกัดนี้ โปรด กำหนดค่าโหมดการอนุมานที่ใช้โมเดลที่โฮสต์ในระบบคลาวด์ได้

  • เราขอแนะนำให้หลีกเลี่ยงกรณีการใช้งานการอนุมานในอุปกรณ์ที่ต้องมีเอาต์พุตยาว (มากกว่า 256 โทเค็น)

  • AICore (บริการของระบบ Android ที่จัดการโมเดลในอุปกรณ์) จะบังคับใช้โควต้าการอนุมานต่อแอป การส่งคำขอ API มากเกินไปในระยะเวลาอันสั้นจะส่งผลให้ได้รับคำตอบ ErrorCode.BUSY หากได้รับข้อผิดพลาดนี้ ให้พิจารณาใช้ Exponential Backoff เพื่อลองส่งคำขออีกครั้ง นอกจากนี้ ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDEDยังอาจถูกส่งคืนหากแอป ใช้โควต้าแบบระยะยาวเกิน (เช่น โควต้าต่อวัน)


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