คุณสามารถสร้างแอป Android และฟีเจอร์ที่ทำงานด้วยระบบ AI ด้วยการอนุมานแบบไฮบริดโดยใช้ Firebase AI Logic การอนุมานแบบไฮบริดช่วยให้สามารถอนุมานโดยใช้โมเดลในอุปกรณ์เมื่อพร้อมใช้งาน และกลับไปใช้โมเดลที่โฮสต์ในระบบคลาวด์ได้อย่างราบรื่นในกรณีอื่นๆ (และในทางกลับกัน)
หน้านี้จะอธิบายวิธี เริ่มต้นใช้งาน Client SDK, รวมถึงแสดง ตัวเลือกการกำหนดค่าและความสามารถเพิ่มเติม
โปรดทราบว่าระบบรองรับการอนุมานในอุปกรณ์ผ่าน Firebase AI Logic สำหรับ แอป Android ที่ใช้ Firebase AI Logic SDK เวอร์ชัน 17.10.0 ขึ้นไป (BoM เวอร์ชัน 34.10.0 ขึ้นไป) และ ทำงานใน อุปกรณ์บางรุ่น โดยอยู่ภายใต้ ข้อกำหนดของ ML Kit, รวมถึง ข้อกำหนดที่เฉพาะเจาะจงกับส่วน Gen AI ของ ML Kit
กรณีการใช้งานที่แนะนำและความสามารถที่รองรับ
กรณีการใช้งานที่แนะนำ
การใช้โมเดลในอุปกรณ์สำหรับการอนุมาน มีข้อดีดังนี้
- ความเป็นส่วนตัวที่เพิ่มขึ้น
- บริบทเฉพาะรายการ
- การอนุมานโดยไม่มีค่าใช้จ่าย
- ฟังก์ชันการทำงานแบบออฟไลน์
การใช้ฟังก์ชันการทำงานแบบไฮบริด มีข้อดีดังนี้
- เข้าถึงกลุ่มเป้าหมายได้มากขึ้นด้วยการรองรับความพร้อมใช้งานของโมเดลในอุปกรณ์และการเชื่อมต่ออินเทอร์เน็ต
ความสามารถและฟีเจอร์ที่รองรับสำหรับการอนุมานในอุปกรณ์
การอนุมานในอุปกรณ์รองรับเฉพาะการสร้างข้อความแบบครั้งเดียว (ไม่ใช่ แชท) โดยมีเอาต์พุตแบบสตรีมมิงหรือไม่สตรีมมิง และรองรับความสามารถในการสร้างข้อความต่อไปนี้
การสร้าง ข้อความจากอินพุตข้อความเท่านั้น
การสร้างข้อความจากอินพุตข้อความและรูปภาพ โดยเฉพาะ รูปภาพ Bitmap รูปเดียวเป็นอินพุต
โปรดตรวจสอบรายการฟีเจอร์ที่ ยังไม่พร้อมใช้งานสำหรับการอนุมานในอุปกรณ์ ที่ด้านล่างของหน้านี้
ก่อนเริ่มต้น
โปรดทราบข้อมูลต่อไปนี้
API ที่รองรับ
การอนุมานในระบบคลาวด์ใช้ผู้ให้บริการ Gemini API ที่คุณเลือก (ไม่ว่าจะเป็น Gemini Developer API หรือ Agent Platform Gemini API (formerly Vertex AI))
การอนุมานในอุปกรณ์ใช้ Prompt API จาก ML Kit, ซึ่งอยู่ในเวอร์ชันเบต้าและพร้อมใช้งานใน อุปกรณ์บางรุ่นเท่านั้น
หน้านี้จะอธิบายวิธีเริ่มต้นใช้งาน
หลังจากตั้งค่ามาตรฐานนี้เสร็จแล้ว ให้ดูตัวเลือกการกำหนดค่าและความสามารถเพิ่มเติม
อุปกรณ์ Android ที่รองรับและโมเดลในอุปกรณ์ของอุปกรณ์เหล่านั้น
สำหรับการอนุมานในอุปกรณ์ (ซึ่งใช้ Prompt API จาก ML Kit) คุณ สามารถดูรายการ อุปกรณ์ที่รองรับและโมเดลในอุปกรณ์ของอุปกรณ์เหล่านั้น ได้ในเอกสารประกอบของ ML Kit
เริ่มต้นใช้งาน
ขั้นตอนการเริ่มต้นใช้งานเหล่านี้จะอธิบายการตั้งค่าทั่วไปที่จำเป็นสำหรับคำขอพรอมต์ที่รองรับซึ่งคุณต้องการส่ง
ขั้นตอนที่ 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 ที่จำเป็น
Firebase AI Logic SDK สำหรับ Android
(firebase-aifirebase-ai-ondevice
ในไฟล์ 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:18.0.0") implementation("com.google.firebase:firebase-ai-ondevice:16.0.0-beta06") implementation("com.google.firebase:firebase-appcheck-debug:20.0.0") }
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:18.0.0") implementation("com.google.firebase:firebase-ai-ondevice:16.0.0-beta06") implementation("com.google.firebase:firebase-appcheck-debug:20.0.0") // 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 เป็นต้นไป ระบบจะบังคับใช้ Firebase App Check โดยอัตโนมัติเพื่อปกป้อง Gemini API ซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์การตั้งค่าแบบแนะนำสำหรับ AI Logic ในคอนโซล สำหรับการพัฒนาในเครื่อง คุณต้องกำหนดค่า App Check ผู้ให้บริการโปรแกรมแก้ไขข้อบกพร่อง เพื่อข้ามการยืนยันในขณะที่ยังคงมีการบังคับใช้ ของ App Check
ในการสร้างบิลด์การแก้ไขข้อบกพร่อง ให้กำหนดค่า 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());รับโทเค็นการแก้ไขข้อบกพร่องโดยทำดังนี้
เรียกใช้แอปในอีมูเลเตอร์หรือในอุปกรณ์ทดสอบ
มองหาโทเค็นการแก้ไขข้อบกพร่องของ App Check ในบันทึก เช่น
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678คัดลอกโทเค็น (เช่น
123a4567-b89c-12d3-e456-789012345678)
ลงทะเบียนโทเค็นการแก้ไขข้อบกพร่องกับ App Check โดยทำดังนี้
ในคอนโซล Firebase ให้ไปที่แท็บ ความปลอดภัย > App Check > แอป
ค้นหาแอป คลิกเมนูรายการเพิ่มเติม () แล้วเลือก จัดการโทเค็นการแก้ไขข้อบกพร่อง
ทำตามวิธีการบนหน้าจอเพื่อลงทะเบียนโทเค็นการแก้ไขข้อบกพร่อง
ดูรายละเอียดเกี่ยวกับผู้ให้บริการโปรแกรมแก้ไขข้อบกพร่อง (รวมถึงวิธีรับโทเค็นการแก้ไขข้อบกพร่องใหม่) ได้ใน เอกสารประกอบอย่างเป็นทางการ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 เพื่อดูเนื้อหาที่เฉพาะเจาะจงของผู้ให้บริการ และโค้ดในหน้านี้ |
ตั้งค่าสิ่งต่อไปนี้ก่อนส่งคำขอพรอมต์ไปยังโมเดล
เริ่มต้นบริการสำหรับผู้ให้บริการ API ที่คุณเลือก
สร้างอินสแตนซ์
GenerativeModelและตั้งค่าmodeเป็นค่าใดค่าหนึ่งต่อไปนี้ คำอธิบายที่นี่เป็นคำอธิบายระดับสูงมาก แต่คุณสามารถดู รายละเอียดเกี่ยวกับลักษณะการทำงานของโหมดเหล่านี้ได้ใน หัวข้อตั้งค่าโหมดการอนุมานPREFER_ON_DEVICE: พยายามใช้โมเดลในอุปกรณ์ หากไม่ได้ผล ให้กลับไปใช้โมเดลที่โฮสต์ในระบบคลาวด์ONLY_ON_DEVICE: พยายามใช้โมเดลในอุปกรณ์ หากไม่ได้ผล ให้แสดงข้อยกเว้นPREFER_IN_CLOUD: พยายามใช้โมเดลที่โฮสต์ในระบบคลาวด์ หากไม่ได้ผล ให้กลับไปใช้โมเดลในอุปกรณ์ONLY_IN_CLOUD: พยายามใช้โมเดลที่โฮสต์ในระบบคลาวด์ หากไม่ได้ผล ให้แสดงข้อยกเว้น
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):
ผู้ใช้ปลายทางของแอปต้องใช้ อุปกรณ์ที่รองรับ การอนุมานในอุปกรณ์
แอปจะเรียกใช้การอนุมานในอุปกรณ์ได้ก็ต่อเมื่อแอปทำงานอยู่เบื้องหน้าเท่านั้น
ระบบได้ตรวจสอบแล้วว่าการอนุมานในอุปกรณ์รองรับเฉพาะภาษาอังกฤษและภาษาเกาหลี
ขีดจำกัดโทเค็นสูงสุดสำหรับคำขออนุมานในอุปกรณ์ทั้งหมดคือ 4,000 โทเค็น หากคำขอของคุณอาจมีโทเค็นเกินขีดจำกัดนี้ โปรดกำหนดค่าโหมดการอนุมานที่ใช้โมเดลที่โฮสต์ในระบบคลาวด์ได้
เราขอแนะนำให้หลีกเลี่ยงกรณีการใช้งานการอนุมานในอุปกรณ์ที่ต้องใช้เอาต์พุตยาว (มากกว่า 256 โทเค็น)
AICore (บริการของระบบ Android ที่จัดการโมเดลในอุปกรณ์) จะบังคับใช้ โควต้าการอนุมาน ต่อแอป การส่งคำขอ API มากเกินไปในช่วงเวลาสั้นๆ จะส่งผลให้การตอบกลับเป็น
ErrorCode.BUSYหากได้รับข้อผิดพลาดนี้ ให้ลองใช้ Exponential Backoff เพื่อลองส่งคำขออีกครั้ง นอกจากนี้ ระบบยังอาจแสดงErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDEDหากแอปใช้โควต้าเกินระยะเวลานาน (เช่น โควต้าประจำวัน)
แสดงความคิดเห็น เกี่ยวกับประสบการณ์การใช้งาน Firebase AI Logic