میاناهای برنامهسازی کاربردی GenAI در ML Kit از قدرت Gemini Nano بهره میبرند تا به برنامههای شما کمک کنند تکالیف هوش مصنوعی زایای دروندستگاهی را انجام دهند. این میاناهای برنامهسازی کاربردی بر روی AICore ساخته شدهاند، یک سرویس سیستم Android که مدلهای پایه دروندستگاهی را مدیریت میکند و استنتاج را تسریع میکند و درعینحال دادههای کاربر را خصوصی نگه میدارد.
شرایط خدمات تکمیلی ML Kit GenAI API برای استفاده از GenAI API اعمال میشود. توسعهدهندگان بهتنهایی مسئول ایمنی کارخواه میانای برنامهسازی کاربردی خود و تجربه کاربری برنامهشان هستند.
قابلیتهای کلیدی
«کیت یادگیری ماشین» توانمندیهای «هوش مصنوعی زایای» خود را در دستههای زیر سازماندهی میکند:
تولید سفارشی و عاملها
مستقیماً با مدل پایه Gemini Nano برای پیاموارههای سفارشی و گردشهای کار عاملی خودکار کار کنید:
- دسترسی مستقیم به مدل (بااستفاده از کلاس
GenerativeModel): تولید نوشتار یا خروجی ساختاریافته تایپشده از پیاموارههای چندحالته یا فقط نوشتاری سفارشی، یا مدیریت مستقیم سابقه گپ چندنوبتی خودتان بااستفاده از شیءList<Content>با نقشهایUSERوMODELو مقدارsessionId، و مدیریت مستقیم اعلامیههای ابزار. - گردشهای کار عاملی (بااستفاده از کلاس
AgentRunner): روی کلاسGenerativeModelساخته شده است و مدیریت جلسه چندنوبتی (ازجمله سابقه مکالمه درونحافظهای) و حلقههای فراخوانی ابزار چندمرحلهای را خودکارسازی میکند.
گفتار و صدا
آوانویسی، ترجمه، و ترکیب کردن صدای گفتار در دستگاه:
- تشخیص گفتار: محتوای صوتی گفتاری را به نوشتار به همان زبان ترانویسی میکند.
- ترجمه گفتار: ترجمه همزمان صدای گفتاری به نوشتار به زبانی دیگر.
- نوشتار به گفتار: ترکیب کردن صدای گفتار با صدای طبیعی از نوشتار.
تکالیف نوشتاری و تصویری
از میاناهای برنامهسازی کاربردی مختص تکلیف که برای تکالیف رایج بینایی، نوشتن، و جستجو بهینهسازی شدهاند بدون مهندسی پیامواره استفاده کنید:
- شرح تصویر: شرح کوتاهی برای تصویر ارائهشده تولید کنید.
- خلاصه کردن: مقالهها یا مکالمههای گپ را بهصورت فهرست گلولهای خلاصه کنید.
- نمونهخوانی: محتوای کوتاه را با پالایش دستور زبان و اصلاح خطاهای املایی صیقل دهید.
- بازنویسی: پیامهای کوتاه را با لحنها یا سبکهای مختلف بازنویسی کنید.
- جاسازیها: جاسازیهای برداری را برای نوشتار و تصاویر بااستفاده از Embeddings API تولید کنید و آنها را با AndroidX AppSearch جفت کنید تا محتوا را براساس معنی پیدا کنید.
مزایای میاناهای برنامهسازی کاربردی هوش مصنوعی زایا
مشابه سایر ویژگیهای موجود ML Kit، میاناهای برنامهسازی کاربردی GenAI کاملاً در دستگاه اجرا میشوند و بنابراین مزایای زیر را ارائه میدهند:
- دادههای ورودی، استنتاج، و برونداد بهصورت محلی پردازش میشود
- عملکرد بدون اتصال اینترنت قابلاطمینان یکسان باقی میماند
- هیچ هزینه سرور اضافی برای هر فراخوان میانای برنامهسازی کاربردی ایجاد نمیشود
علاوهبراین، ازآنجاییکه میاناهای برنامهسازی کاربردی GenAI بر AICore ساخته شدهاند و توسط Gemini Nano پشتیبانی میشوند، برنامهها و میاناهای برنامهسازی کاربردی مختص تکلیف از همان مدل پایه Gemini Nano در دستگاه استفاده میکنند. این کار باعث میشود که اگر Gemini Nano ازقبل در دستگاه وجود داشته باشد، دیگر نیازی به بارگیری مدل جداگانه نباشد و درنتیجه فضای ذخیرهسازی حفظ شود. درباره نحوه جداسازی درخواستها توسط AICore برای محافظت از حریم خصوصی بیشتر بدانید.
جاریسازی درمقابل غیرجاریسازی
میاناهای برنامهسازی کاربردی ML Kit GenAI هم گزینههای جاریسازی و هم غیرجاریسازی را برای دریافت نتایج ارائه میدهند. میانای برنامهسازی کاربردی جاریسازی پاسخها را بهصورت افزایشی و همزمان با تولید آنها ارائه میدهد و جریان مداومی از دادهها را فراهم میکند. درمقابل، API غیرجاریسازی منتظر میماند تا کل پاسخ کامل شود و سپس آن را بهصورت یک بلوک واحد برمیگرداند.
برای پاسخهای طولانی، API جاریسازی را انتخاب کنید، زیرا امکان بازخورد اولیه سریعتر را فراهم میکند. میانای برنامهسازی کاربردی غیرجاریسازی برای پاسخهای کوتاه یا هنگام پردازش نتایج بهصورت دستهای مناسبتر است.
پشتیبانی دستگاه
پشتیبانی دستگاه از تولید سفارشی و عاملها و میاناهای برنامهسازی کاربردی تکلیف نوشتاری و تصویری در بخشهای زیر شرح داده شده است. برای هر ویژگیای که در این بخش فهرست نشده است، به صفحههای ویژگیهای تکی مراجعه کنید تا اطلاعات پشتیبانی دستگاه را ببینید.
پشتیبانی از دستگاه نماینده و تولید سفارشی
دسترسی مستقیم به مدل و گردش کار عاملگرا در دستگاههای زیر پشتیبانی میشود:
nano-v2 |
|
nano-v3 |
|
nano-v4 |
|
پشتیبانی دستگاه از تکلیف نوشتاری و تصویری
میاناهای برنامهسازی کاربردی شرح تصویر، خلاصهسازی، نمونهخوانی، و بازنویسی در دستگاههای زیر دردسترس هستند و برنامههایی برای گسترش پشتیبانی به دستگاههای بیشتر وجود دارد:
- Google: Pixel 11، Pixel 11 Pro، Pixel 11 Pro XL، Pixel 11 Pro Fold، Pixel 10، Pixel 10 Pro، Pixel 10 Pro XL، Pixel 10 Pro Fold، Pixel 9، Pixel 9 Pro، Pixel 9 Pro XL، Pixel 9 Pro Fold
- Honor: Honor 400 Pro، Magic 7، Magic 7 Pro، Magic 8 Pro، Magic V5
- iQOO: iQOO 13, iQOO 15
- Lenovo: Lenovo Idea Tab Pro Gen 2، Lenovo Legion Tab Gen 5(8.8")
- Motorola: Razr 60 Ultra، Razr Ultra 2025، Signature
- OnePlus: OnePlus 15، OnePlus 15R، OnePlus 13، OnePlus 13s
- OPPO: Find N5، Find X9، Find X9 Pro، Find X8، Find X8 Pro، Reno 14 Pro 5G، Reno 15 Pro 5G، Reno 15 Pro Mini 5G، Reno 15 Pro Max 5G
- POCO: POCO F7 Ultra، POCO F8 Pro، POCO F8 Ultra، POCO X7 Pro، POCO X8 Pro
- realme: realme GT 7 Pro، realme GT 7T
- Samsung: Galaxy S25، Galaxy S25+، Galaxy S25 Ultra، Galaxy S26، Galaxy S26+، Galaxy S26 Ultra، Galaxy Z Flip8، Galaxy Z Fold8، Galaxy Z Fold8 Ultra، Galaxy Z Fold7، Galaxy Z TriFold
- Sharp: AQUOS R11
- Sony: Xperia 1 VIII
- vivo: vivo X200T، vivo X200 FE، vivo X200، vivo X200 Pro، vivo X300، X300 Pro، vivo X Fold3 Pro، vivo X Fold5، vivo T4 Ultra
- Xiaomi: Xiaomi 14T Pro، Xiaomi 15، Xiaomi 15T، Xiaomi 15T Pro، Xiaomi 15 Ultra، Xiaomi 17، Xiaomi 17 Ultra، Xiaomi Pad Mini
دردسترس بودن پشتیبانی از زبانهای خاص ممکن است بسته به پیکربندی دستگاه خاص و مدلهایی که در دستگاه بارگیری شده است متفاوت باشد.
بازیابی نسخه Gemini Nano
نسخههای مختلف Gemini Nano در دستگاههای مختلف اجرا میشود. برای برگرداندن
نسخه Gemini Nano در دستگاه، از روش getBaseModelName() استفاده کنید.
سهمیه بهازای هر برنامه
AICore سهمیه استنتاجی را برای هر برنامه اعمال میکند. ارسال تعداد زیادی
درخواست GenAI API در مدتزمان کوتاه منجر به پاسخ ErrorCode.BUSY
خواهد شد. هنگام دریافت چنین خطایی، از عقبنشینی نمایی برای امتحان مجدد درخواست استفاده کنید. همچنین، اگر برنامهای از سهمیه بلندمدت (برای مثال، سهمیه روزانه) فراتر رود، ممکن است ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED برگردانده شود.
استفاده پسزمینهای
استنتاج GenAI API فقط زمانی مجاز است که برنامه در پیشزمینه بالا باشد. استفاده از API زمانی که برنامه در پیشزمینه نیست، ازجمله
استفاده از سرویس پیشزمینهای، منجر به پاسخ ErrorCode.BACKGROUND_USE_BLOCKED
خواهد شد.
کدگذاری نمونه
برای دریافت این کد، نمونههای زیر را بررسی کنید: