เส้นทางการติดตั้งโมเดล ML Kit บน Android
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
ฟีเจอร์ ML Kit ทั้งหมดใช้โมเดลแมชชีนเลิร์นนิงที่ Google ฝึก (เรียกว่าโมเดลพื้นฐาน) โดยค่าเริ่มต้น คำแนะนำนี้ใช้ได้กับรุ่นพื้นฐานเท่านั้น ดูคำแนะนำเกี่ยวกับรูปแบบที่กำหนดเองได้ที่นี่
โมเดลใน ML Kit API สามารถติดตั้งได้ 3 วิธีดังนี้
- ไม่ได้รวมกลุ่ม: ระบบจะดาวน์โหลดและจัดการโมเดลผ่านบริการ Google Play
- รวมอยู่ด้วย: โมเดลจะลิงก์กับแอปแบบคงที่ ณ เวลาที่สร้าง
- ดาวน์โหลดแบบไดนามิก: ระบบจะดาวน์โหลดโมเดลตามคําขอ
เส้นทางการติดตั้งที่รองรับสำหรับ API แต่ละรายการ
ตารางด้านล่างแสดงเส้นทางการติดตั้งโมเดลที่ฟีเจอร์ MLKit แต่ละรายการรองรับ
คู่มือเฉพาะ API จะแสดงตัวเลือกการติดตั้งที่ใช้ได้กับ API นั้นๆ
ความแตกต่างที่สำคัญระหว่างตัวเลือกการติดตั้ง
วิธีเลือกระหว่างการรวมกลุ่มและไม่รวมกลุ่ม
หาก API รองรับทั้งตัวเลือกการติดตั้งแบบรวมและไม่รวม ให้ทำดังนี้
วิธีดาวน์โหลดโมเดล
เมื่อใช้ตัวเลือกโมเดลแบบไม่ได้รวมกลุ่ม คุณจะระบุวิธีดาวน์โหลดโมเดลลงในอุปกรณ์ได้ ดังนี้
คุณเปิดใช้การดาวน์โหลดโมเดลขณะติดตั้งได้โดยเพิ่มประกาศลงในไฟล์ AndroidManifest.xml
ของแอป ตัวอย่างเช่น ข้อมูลโค้ดด้านล่างแสดงวิธีกำหนดค่าแอปให้ดาวน์โหลดรูปแบบการสแกนบาร์โค้ดโดยอัตโนมัติหลังจากที่ติดตั้งแอปจาก Play Store แล้ว
<application ...>
...
<meta-data
android:name="com.google.mlkit.vision.DEPENDENCIES"
android:value="barcode" >
<!-- To use multiple models: android:value="barcode,model2,model3" -->
</application>
คุณสามารถขอการดาวน์โหลดอย่างชัดแจ้งผ่าน Google Play Services
ModuleInstallClient API
หากคุณไม่ได้เปิดใช้การดาวน์โหลดโมเดลขณะติดตั้งหรือขอการดาวน์โหลดอย่างชัดแจ้ง ระบบจะดาวน์โหลดโมเดลเมื่อคุณเรียกใช้ฟีเจอร์เป็นครั้งแรก
คำขออนุมานจะดำเนินการไม่สำเร็จจนกว่าการดาวน์โหลดจะเสร็จสมบูรณ์
วิธีอัปเดตโมเดล
วิธีอัปเดตรูปแบบเมื่อใช้รูปแบบที่รวมไว้หรือตัวเลือกรูปแบบที่ดาวน์โหลดแบบไดนามิก
อัปเดตไฟล์ gradle ของแอปเพื่อใช้คลังไลบรารีไคลเอ็นต์ฟีเจอร์ ML Kit เวอร์ชันล่าสุด
dependencies {
implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
}
สร้างแอปอีกครั้ง
เหตุผลที่ API บางรายการมีโมเดลที่ดาวน์โหลดแบบไดนามิก
ML Kit API บางรายการมีตัวเลือกโมเดลมากเกินไปที่จะรวมเป็นกลุ่ม เช่น การจดจำหมึกดิจิทัลรองรับภาษามากกว่า 300 ภาษา และคุณไม่จำเป็นต้องใส่ทุกภาษาไว้ในฟีเจอร์นี้เสมอไปในระหว่างการติดตั้ง
ด้วยเหตุนี้ เราจึงมีตัวเลือกการติดตั้งที่ 3 ซึ่งจะดาวน์โหลดโมเดลตามคําขอหลังจากการติดตั้ง ปัจจุบันมีเพียงการจดจำหมึกดิจิทัล การแปลภาษา และการดึงข้อมูลเอนทิตีเท่านั้นที่มีตัวเลือกนี้
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-29 UTC
[null,null,["อัปเดตล่าสุด 2025-08-29 UTC"],[[["\u003cp\u003eML Kit features utilize Google-trained machine learning models, offering three installation options: unbundled, bundled, and dynamically downloaded.\u003c/p\u003e\n"],["\u003cp\u003eUnbundled models are downloaded via Google Play Services, while bundled models are included in the app, and dynamically downloaded models are fetched on demand.\u003c/p\u003e\n"],["\u003cp\u003eChoosing between bundled and unbundled models depends on priorities: bundled for immediate functionality, unbundled for smaller app size and automatic updates.\u003c/p\u003e\n"],["\u003cp\u003eModels can be downloaded at install time, explicitly requested, or downloaded on first use, and updates for bundled or dynamically downloaded models require app updates.\u003c/p\u003e\n"],["\u003cp\u003eDynamically downloaded models are offered for APIs with extensive model options, such as Digital Ink Recognition and Translation, to avoid bundling all possibilities.\u003c/p\u003e\n"]]],[],null,["All ML Kit features make use of Google-trained machine learning models (known as\nbase models) by default. This guide is only applicable to base models. [See here\nfor guidance on custom models.](/ml-kit/custom-models)\n\nModels in ML Kit APIs can be installed in one of three ways:\n\n1. **Unbundled:** Models are downloaded and managed via Google Play Services.\n2. **Bundled:** Models are statically linked to your app at build time.\n3. **Dynamically downloaded:** Models are downloaded on demand.\n\nSupported installation paths for each API\n\nThe table below shows which model installation paths are supported by each ML\nKit feature:\n\n|---------------------------------------------------------------------------|---------------|-------------|----------------------------|\n| | **Unbundled** | **Bundled** | **Dynamically downloaded** |\n| [Text recognition v2](/ml-kit/vision/text-recognition/v2/android) | ✅ | ✅ | |\n| [Face detection](/ml-kit/vision/face-detection/android) | ✅ | ✅ | |\n| [Face mesh detection](/ml-kit/vision/face-mesh-detection/android) | | ✅ | |\n| [Pose detection](/ml-kit/vision/pose-detection/android) | | ✅ | |\n| [Selfie segmentation](/ml-kit/vision/selfie-segmentation/android) | | ✅ | |\n| [Barcode scanning](/ml-kit/vision/barcode-scanning/android) | ✅ | ✅ | |\n| [Image labeling](/ml-kit/vision/image-labeling/android) | ✅ | ✅ | |\n| [Object detection and tracking](/ml-kit/vision/object-detection/android) | | ✅ | |\n| [Digital ink recognition](/ml-kit/vision/digital-ink-recognition/android) | | | ✅ |\n| [Document scanner](/ml-kit/vision/doc-scanner) | ✅ | | |\n| [Subject segmentation](/ml-kit/vision/subject-segmentation/android) | ✅ | | |\n| [Google code scanner](/ml-kit/code-scanner) | ✅ | | |\n| [Language identification](/ml-kit/language/identification/android) | ✅ | ✅ | |\n| [Translation](/ml-kit/language/translation/android) | | | ✅ |\n| [Smart Reply](/ml-kit/language/smart-reply/android) | ✅ | ✅ | |\n| [Entity Extraction](/ml-kit/language/entity-extraction/android) | | | ✅ |\n\nAPI-specific guides show which installation options are available for the given\nAPI.\n\nKey differences between installation options\n\n|----------------------------------------------|-------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | **Unbundled** | **Bundled** | **Dynamically downloaded** |\n| **Where are models stored?** | Resides in Google Play Services and is not counted towards the storage used by this app | Saved in [app-specific storage](https://developer.android.com/training/data-storage/app-specific) after installation | Saved in [app-specific storage](https://developer.android.com/training/data-storage/app-specific) after model download |\n| **How does model size affect app size?** | Does not contribute to app size | Directly contributes to app size | Does not contribute to app size but increase the [app-specific storage](https://developer.android.com/training/data-storage/app-specific) |\n| **When are models updated?** | Automatically updated when a newer version is released | [Need to update the app to update model](#update-model) | [Need to update the app to update model](#update-model) |\n| **When are models downloaded?** | [Models must be downloaded before use](#download-models) | All models and features are included when the app is installed, so are usable immediately | Model downloads, updates, and deletions must be managed manually using the [RemoteModelManager](/android/reference/com/google/mlkit/common/model/RemoteModelManager) API |\n| **When are models removed from the device?** | Google Play Services will only remove the model from storage if all apps that depend on the model are uninstalled | Models are removed from [app-specific storage](https://developer.android.com/training/data-storage/app-specific) when the app is uninstalled | Downloaded models are removed from [app-specific storage](https://developer.android.com/training/data-storage/app-specific) when the app is uninstalled |\n\nHow to choose between bundled and unbundled\n\nIf an API supports both the bundled and unbundled installation options:\n\n- Use the bundled option if you prioritize:\n\n - Complete feature functionality immediately after app installation\n - Feature functionality without network connection after app installation\n- Use the unbundled option if you prioritize:\n\n - Smaller app size\n - Automated model updates by Google Play Services\n\nHow to download models\n\nWhen using the unbundled model option, you can specify how you want models to be\ndownloaded to the device:\n\n- You can enable **install-time model downloads** by adding a declaration to\n your app's `AndroidManifest.xml` file. For example, the code snippet below\n shows how to configure your app to automatically download the Barcode\n Scanning model after your app is installed from the Play Store:\n\n \u003capplication ...\u003e\n ...\n \u003cmeta-data\n android:name=\"com.google.mlkit.vision.DEPENDENCIES\"\n android:value=\"barcode\" \u003e\n \u003c!-- To use multiple models: android:value=\"barcode,model2,model3\" --\u003e\n \u003c/application\u003e\n\n- You can **request explicit download** through Google Play Services\n [ModuleInstallClient API](/android/guides/module-install-apis).\n\n- If you don't enable install-time model downloads or request explicit\n download, the model will be downloaded the first time you run the feature.\n Until the download is completed, inference requests will fail.\n\nHow to update models\n\nTo update your models when using the bundled model or the dynamically downloaded\nmodels option:\n\n1. Update your app's gradle file to use the latest ML Kit feature client\n library.\n\n dependencies {\n implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API\n }\n\n2. Rebuild your app.\n\nWhy some APIs offer dynamically downloaded models\n\nSome ML Kit API have too many model options to bundle. For example, [Digital ink\nrecognition](/ml-kit/vision/digital-ink-recognition) supports [300+\nlanguages](/ml-kit/vision/digital-ink-recognition/base-models), and it's not\nalways necessary to put every language inside the feature during installation.\nFor that purpose, we provide the third installation option, in which models are\ndownloaded on demand after installation. Currently, only [Digital ink\nrecognition](/ml-kit/vision/digital-ink-recognition),\n[Translation](/ml-kit/language/translation) and [Entity\nextraction](/ml-kit/language/entity-extraction) have this option."]]