این راهنما به شما کمک میکند راهکار هوش مصنوعی/ یادگیری ماشین مناسب را برای مورد استفادهتان پیدا کنید. این راهنما با ارائه راهنمایی به شما کمک میکند تا راهکارهای مختلف موجود را بررسی کنید و با توجه به الزامات ویژگیای که میخواهید پیادهسازی کنید، بهترین گزینه را که با نیازهایتان مطابقت دارد انتخاب کنید.
بهطور کلی، هنگام انتخاب ابزارها و مدلها برای پیادهسازی ویژگی هوش مصنوعی/ یادگیری ماشین، باید از سادهترین مدلی که نیازهای شما را برآورده میکند استفاده کنید. برای شناسایی راهحل بهینه، باید به موارد زیر فکر کنید:
- آیا این ویژگی باید محتوای جدید تولید کند (هوش مصنوعی زایا)، یا بهصورت قطعی پیشبینی/دستهبندی کند (یادگیری ماشین سنتی)؟
- دامنه ویژگی: آیا تکلیف میتواند کاملاً در برنامه شما انجام شود (هوش درونبرنامه) یا برای انجام آن به چند برنامه نیاز است (هوش سطح سیستم)؟
- مکان مدل: آیا تکلیف میتواند بهصورت آفلاین (مدل دروندستگاهی) انجام شود یا نیاز به تعامل با سرور (مدل مبتنی بر ابر) دارد؟
- نسخه مدل یا جعبهابزار: پیچیدگی تکلیف چقدر است، از تکالیف ساده تکاستنتاجی تا هماهنگسازی چندعاملی؟
نمودار جریان زیر فرایند تصمیمگیری را در سطح بالا نشان میدهد:
برای اطلاع از تصمیم خود در هر مرحله، به بخشهای باقیمانده این سند مراجعه کنید.
هوش مصنوعی زایا درمقابل یادگیری ماشین سنتی
مدلهای هوش مصنوعی زایا محتوای جدید ایجاد میکنند، درحالیکه مدلهای یادگیری ماشین سنتی نتایج را پیشبینی میکنند یا دادهها را بهصورت کاملاً قطعی دستهبندی میکنند. اگر ویژگی شما شامل تولید محتوای جدید نمیشود، راهحلهای یادگیری ماشین سنتی ممکن است کافی باشد. جدول زیر برخیاز راهحلهای یادگیری ماشین سنتی را خلاصه میکند:
| جعبه ابزار / راهحل | نوع | مورد استفاده اصلی | مثالها |
|---|---|---|---|
| کیت توسعه نرمافزار ML Kit | در دستگاه | تکالیف ازپیش ساختهشده پردازش زبان طبیعی و بینایی |
|
| LiteRT | در دستگاه | زمانهای اجرای مدل سفارشی |
|
| MediaPipe | در دستگاه | تکالیف درک جاریسازی صوتی یا ویدیویی همزمان |
|
| میاناهای برنامهسازی کاربردی Google Cloud ازجمله Cloud Vision API و Cloud Natural Language API | مبتنی بر ابر | تکالیف ازپیش ساختهشده پردازش زبان طبیعی و بینایی |
|
| پلاتفرم Agent | مبتنی بر فضای ابری | آموزش و استقرار مدل سفارشی سرتاسر |
|
بقیه این سند درباره راهکارهای هوش مصنوعی زایا است.
هوش درونبرنامهای درمقابل هوش سطح سیستم
برای شناسایی بهترین راهکار هوش مصنوعی زایا، تصمیم بگیرید که آیا ویژگی هوش مصنوعی شما کاملاً در داخل برنامهتان کار میکند یا اینکه نیاز به تعامل با برنامههای دیگر یا سیستمعامل Android در خارج از هر برنامهای دارد. اگر ویژگی شما توسط سیستم و خارج از هر برنامهای راهاندازی میشود، بهعنوان هوش مصنوعی در سطح سیستم محسوب میشود. جدول زیر تفاوتهای بین ویژگیهای هوش درونبرنامه و سطح سیستم را خلاصه میکند:
| هوش درونبرنامه | هوش در سطح سیستم | |
|---|---|---|
| محدوده تکلیف | درونبرنامه | در برنامهها (یا راهاندازیشده توسط سیستم، خارج از هر برنامه) |
| ابزارها | کیت توسعه نرمافزار ML Kit، LiteRT، Firebase AI Logic، یا باطن خودمیزبان | AppFunctions |
| موارد استفاده |
|
|
هوش درونبرنامه
ویژگیهای هوشمند درونبرنامه نیازی به تعامل با برنامههای دیگر یا سیستم فراتر از برنامه ندارند. وقتی تشخیص دادید که ویژگی هوش مصنوعی شما کاملاً درونبرنامه است، باید تصمیم بگیرید که آیا میتوانید ویژگی را کاملاً در دستگاه اجرا کنید، از مدل مبتنی بر ابر استفاده کنید، یا رویکردی ترکیبی داشته باشید که هر دو را ترکیب میکند.
اگر کاری انجام میدهید که به ورودی ویدیو نیاز دارد یا تکالیفی که شامل چندین عامل میشود، باید از مدل مبتنی بر ابر استفاده کنید. جدول زیر قابلیتهای مدلهای دروندستگاهی را با مدلهای مبتنی بر ابر مقایسه میکند:
| در دستگاه | ابر | |
|---|---|---|
| ابزارها | کیت توسعه نرمافزار ML Kit یا LiteRT | Firebase AI Logic یا زیرینه خودمیزبان |
| نوع ورودی |
|
|
| نوع خروجی |
|
|
| حساسیت دادههای کاربر | بالاتر | پایینتر |
| مدلها |
|
|
| موارد استفاده |
|
|
مدلهای دروندستگاهی
اگر هریک از موارد زیر صدق کند، احتمالاً مدلهای دروندستگاهی ترجیح داده میشوند:
- محدودیتهای هزینه
- ویژگی باید بتواند بهصورت آفلاین اجرا شود
- الزامات حریم خصوصی
- وظیفه موردنظر نسبتاً ساده است و به هماهنگسازی چندعاملی نیاز ندارد
بهخاطر داشته باشید که دستگاههای کاربران شما باید بتوانند از مدلهای دروندستگاهی پشتیبانی کنند. مدلهای روی دستگاه معمولاً به دستگاههای ممتازتری نیاز دارند که بتوانند از پردازش محلی پشتیبانی کنند.
وقتی تشخیص دادید که مدلهای دروندستگاهی برای ویژگی شما کافی است، جعبهابزار یا راهکار بهینه عمدتاً به پیچیدگی تکلیف بستگی دارد. جدول زیر گزینههای ابزار هوش مصنوعی زایای درونبرنامهای و دروندستگاهی را خلاصه میکند:
| پیچیدگی تکلیف | مشخصات ویژگی | مثال | جعبه ابزار/راهحل |
|---|---|---|---|
| کم |
|
خلاصه کردن نوشتار |
|
| متوسط |
|
پُرسمان و پاسخ | |
| حداکثر |
|
بازخورد مشتری یا اولویتبندی اشکال |
از ML Kit Prompt API برای تولید نوشتار مکالمهای تکنوبتی یا چندنوبتی ساده استفاده کنید. وقتی ویژگی شما به اجرای چندمرحلهای و خودکار در دستگاه نیاز دارد، از ML Kit GenAI Agent API استفاده کنید. Agent API از حلقههای استدلال دروندستگاهی پشتیبانی میکند که میتوانند برنامهریزی کنند، ابزارهای تایپشده را بااستفاده از حاشیهنویسیهای @Tool فراخوانی کنند، بافت جلسه را در تعاملات حفظ کنند، و محدودیتهای نوبت را بااستفاده از maxTurns اعمال کنند.
مدلهای مبتنی بر ابر
اگر ویژگی شما نمیتواند کاملاً در دستگاه اجرا شود، باید از مدل مبتنی بر ابر استفاده کنید. دو گزینه اصلی برای نحوه استفاده از مدل ابری وجود دارد:
پشتباند مدیریتشده بااستفاده از Firebase AI Logic. اگر درحالحاضر کاربر Firebase هستید یا میخواهید نمونه اولیهای را نسبتاً سریع بسازید، Firebase AI Logic احتمالاً بهترین راهکار است.
سرور زیرینه سفارشی یا سرور خودمیزبان. اگر میخواهید از مدلهای غیر Gemini استفاده کنید، الزامات حریم خصوصی سختگیرانهای دارید، یا باید تکلیف بسیار پیچیدهای را تکمیل کنید، احتمالاً باید از پسای سفارشی استفاده کنید. همچنین ابزارهای زیر را برای راهاندازی باطن سفارشی توصیه میکنیم:
- بکاند سفارشیتان را با چارچوب عاملگرایی مثل Agent Development Kit اجرا کنید
- اتصال پیشانه برنامه به زیرینه عاملی بااستفاده از AG-UI
- به عاملها امکان میدهد بااستفاده از A2UI واسطهای کاربر غنی و تعاملی تولید کنند
جدول زیر خلاصه میکند که چه زمانی باید از Firebase AI Logic یا باطن سفارشی برای ابزار هوش مصنوعی زایای درونبرنامه مبتنی بر ابر استفاده کرد:
| پیچیدگی تکلیف | مشخصات ویژگی | مثال | جعبه ابزار/راهحل |
|---|---|---|---|
| کم |
|
خلاصه کردن نوشتار |
|
| متوسط |
|
پُرسمان و پاسخ |
|
| حداکثر |
|
بازخورد مشتری یا اولویتبندی اشکال |
|
| بسیار بالا |
|
یک تیم عامل برای مدیریت جنبههای مختلف سفر ایجاد کن |
|
رویکرد ترکیبی
وقتی ویژگی شما میتواند بهصورت محلی اجرا شود، اما همه کاربران شما دستگاههایی ندارند که از مدلهای دروندستگاهی پشتیبانی کنند و لازم است از مدلهای ابری بهعنوان جایگزین استفاده کنید، از رویکرد ترکیبی استفاده کنید. برای اطلاعات بیشتر، استنتاج ترکیبی را ببینید.
هوش در سطح سیستم
هوش در سطح سیستم به پلاتفرم Android امکان میدهد بهعنوان هماهنگکننده وظایف عمل کند. هوش در سطح سیستم به عاملهای سیستم، مانند Gemini، امکان میدهد درخواستهای کاربر را در چندین برنامه و سرویس وب تکمیل کنند.
برای متصل کردن برنامهتان به سیستم هوش Android، روش ادغام را براساس اینکه کنترل برنامهای میخواهید یا کنشهای خودکار مبتنی بر میانای کاربر انتخاب کنید:
| گزینه یکپارچهسازی | مورد استفاده |
|---|---|
| AppFunctions | قابلیتهای خاصی را در برنامهتان دردسترس قرار دهید تا نمایندگان بتوانند آنها را در دستگاه کاوش و اجرا کنند. |
| سرور MCP از راه دور | قابلیتهای خاصی را در برنامهتان دردسترس قرار دهید تا مستقیماً با زیرینه نماینده ادغام شود. برای توسعه چندسکویی خوب است. |
| کنترل رایانه | به دستیار ازپیشبارشده OEM اجازه میدهد با تعامل مستقیم با واسط کاربر برنامه، تکالیف را خودکارسازی کند. |
برای کسب اطلاعات بیشتر درباره گزینههای ابزار هوش مصنوعی در سطح سیستم، به متصل کردن برنامه به سیستم هوش مصنوعی Android مراجعه کنید.