شروع به کار با هوش مصنوعی داخلی

Alexandra Klepper
Alexandra Klepper

منتشرشده: ۱۲ دسامبر ۲۰۲۴، آخرین به‌روزرسانی: ۲۰ مه ۲۰۲۵

با میاناهای برنامه‌سازی کاربردی هوش مصنوعی داخلی، برنامه وب شما می‌تواند تکالیف مبتنی بر هوش مصنوعی را بدون نیاز به استقرار یا مدیریت مدل‌های هوش مصنوعی خود انجام دهد. ما در تلاشیم تا این میاناهای برنامه‌سازی کاربردی را در مرورگرها استانداردسازی کنیم.

برای استفاده از هوش مصنوعی داخلی، الزامات مدل و سخت‌افزار وجود دارد.

مدل‌های ضروری

«میاناهای برنامه‌سازی کاربردی مترجم» و «آشکارساز زبان» از مدل‌های تخصصی استفاده می‌کنند. همه دیگر واسط‌های برنامه‌سازی کاربردی از مدل زبانی استفاده می‌کنند که برای اجرا به‌صورت محلی در رایانه‌های رومیزی و کیفی طراحی شده است.

«میانای برنامه‌سازی کاربردی خلاصه کردن»، «میانای برنامه‌سازی کاربردی نوشتن»، «میانای برنامه‌سازی کاربردی بازنویسی»، و «میانای برنامه‌سازی کاربردی نمونه‌خوان» فقط از حالت متن به متن پشتیبانی می‌کنند. «میانای برنامه‌سازی کاربردی پیام‌واره» قابلیت‌های چندحالته دارد.

مدل‌های Chrome

‫Chrome از مدل‌های زبان تخصصی و پایه استفاده می‌کند. این مدل‌ها در دستگاه‌های همراه دردسترس نیستند.

از Chrome 149، مدل‌ها از زبان‌های انگلیسی، اسپانیایی، ژاپنی، آلمانی، و فرانسوی برای نوشتار ورودی و خروجی پشتیبانی می‌کنند.

سخت‌افزار موردنیاز

الزامات زیر برای توسعه‌دهندگان و کاربرانی که بااستفاده از این میاناهای برنامه‌سازی کاربردی در Chrome از ویژگی‌ها استفاده می‌کنند وجود دارد. مرورگرهای دیگر ممکن است الزامات عملکرد متفاوتی داشته باشند.

«واسط برنامه‌سازی کاربردی مترجم» و «آشکارساز زبان» در Chrome در رایانه کار می‌کنند. این «میاناهای برنامه‌سازی کاربردی» در دستگاه‌های همراه کار نمی‌کنند.

میانای برنامه‌سازی کاربردی پیام‌واره، میانای برنامه‌سازی کاربردی خلاصه‌نویس، میانای برنامه‌سازی کاربردی نویسنده، میانای برنامه‌سازی کاربردی بازنویس، و میانای برنامه‌سازی کاربردی نمونه‌خوان در Chrome وقتی شرایط زیر برقرار باشد کار می‌کنند:

  • سیستم‌عامل: Windows 10 یا 11؛‏ macOS 13+ (Ventura و نسخه‌های جدیدتر)؛ Linux؛ یا ChromeOS (از Platform 16389.0.0 و نسخه‌های جدیدتر) در دستگاه‌های Chromebook Plus. ‫Chrome ویژه Android،‏ iOS، و ChromeOS در دستگاه‌های غیر Chromebook Plus هنوز از میاناهای برنامه‌سازی کاربردی که از مدل‌های پایه استفاده می‌کنند پشتیبانی نمی‌کنند.
  • فضای ذخیره‌سازی: حداقل ۲۲ گیگابایت فضای آزاد در حجمی که نمایه Chrome شما در آن قرار دارد.
  • واحد پردازش گرافیکی یا واحد پردازش مرکزی: مدل‌های داخلی می‌توانند با واحد پردازش گرافیکی یا واحد پردازش مرکزی اجرا شوند.
    • واحد پردازش گرافیکی: دقیقاً بیشتر از ۴ گیگابایت VRAM.
    • واحد پردازش مرکزی: ۱۶ گیگابایت حافظه دسترسی تصادفی یا بیشتر و ۴ هسته واحد پردازش مرکزی یا بیشتر.
    • توجه: «میانای برنامه‌سازی کاربردی پیام‌واره» با ورودی صوتی به GPU نیاز دارد.
  • شبکه: داده نامحدود یا اتصال نامحدود.

اندازه دقیق Gemini Nano ممکن است با به‌روزرسانی مدل توسط مرورگر تغییر کند. برای تعیین اندازه فعلی، به chrome://on-device-internals مراجعه کنید.

شروع ساختن

در مراحل مختلف توسعه، چندین API هوش مصنوعی داخلی دردسترس است. برخی‌از آن‌ها در نسخه پایدار Chrome، برخی‌از آن‌ها برای شرکت‌کنندگان آزمایش‌های اصالت دردسترس هستند، و برخی‌دیگر فقط برای شرکت‌کنندگان «برنامه پیش‌نمایش اولیه» دردسترس هستند.

هر API مجموعه دستورالعمل‌های خاص خود را برای شروع به کار و بارگیری مدل دارد، هم برای نمونه‌سازی محلی و هم در محیط‌های تولید با آزمایش‌های مبدأ.

از همه این میاناهای برنامه‌سازی کاربردی می‌توان هنگام ساختن «افزونه‌های Chrome» استفاده کرد.

بارگیری مدل

میاناهای برنامه‌سازی کاربردی و مدل‌ها در Chrome تعبیه شده‌اند. اولین باری که کاربر با این میاناهای برنامه‌سازی کاربردی تعامل می‌کند، مدل باید در مرورگر بارگیری شود.

برای تعیین اینکه آیا یک API قابل‌استفاده و آماده است، تابع ناهمزمان availability() را فراخوانی کنید، که یک وعده با یکی از مقادیر زیر برمی‌گرداند:

  • "unavailable": دستگاه کاربر یا گزینه‌های جلسه درخواستی پشتیبانی نمی‌شود. دستگاه ممکن است برق یا فضای دیسک کافی نداشته باشد.
  • ‫"downloadable": برای ایجاد جلسه، بارگیری‌های اضافی لازم است که ممکن است شامل مدل تخصصی، مدل زبانی، یا تنظیم دقیق باشد. برای تماس با create()، ممکن است فعال‌سازی کاربر لازم باشد.
  • ‫"downloading": بارگیری‌ها درحال انجام است و باید قبل‌از اینکه بتوانید از جلسه استفاده کنید تکمیل شود.
  • ‫"available": می‌توانید بلافاصله جلسه‌ای ایجاد کنید.

برخی‌از «میاناهای برنامه‌سازی کاربردی» هنگام فراخوانی دردسترس بودن به گزینه‌های بیشتری نیاز دارند. برای مثال، میانای برنامه‌سازی کاربردی پیام‌واره نیاز دارد پشتیبانی از زبان را اعلام کنید:

// Makes sure the model is available for English and Japanese input text,
// supports image input, and can generate English output.
await LanguageModel.availability({
  expectedInputs: [{type: "text", languages: ["en", "ja"]}, {type: "image"}],
  expectedOutputs: [{type: "text", languages: ["en"]}],
});

فعال‌سازی کاربر

اگر دستگاه از APIهای هوش مصنوعی داخلی پشتیبانی کند، اما مدل هنوز بارگیری نشده باشد (یعنی وقتی availability() فراخوانی می‌شود "downloadable" یا "downloading" برمی‌گرداند)، کاربر باید تعامل معناداری با صفحه شما داشته باشد تا برنامه شما بتواند جلسه را با create() شروع کند.

از دارایی UserActivation.isActive برای تأیید اینکه کاربر از زمان پایان بار شدن صفحه مستقیماً با صفحه تعامل داشته است استفاده کنید. این می‌تواند شامل تک‌ضرب، کلیک، فشار دادن کلید، mousedown، یا دیگر رویدادهای فعال‌سازی چسبنده باشد.

// Check for user activation.
if (navigator.userActivation.isActive) {
  // Create an instance of a built-in API
}

برای مثال، با API «خلاصه‌ساز»، می‌توانید از کاربران بخواهید با دکمه‌ای که می‌گوید «خلاصه کن» تعامل داشته باشند تا Summarizer.create() فعال شود، یا می‌توانید وقتی کاربر شروع به تایپ کردن کرد، رویداد keydown، خلاصه‌ساز را ایجاد کنید.

عیب‌یابی میزبان محلی

اگر مدل طبق انتظار کار نمی‌کند، این مراحل را دنبال کنید:

  1. ‫Chrome را بازراه‌اندازی کنید.
  2. به chrome://on-device-internals بروید.
  3. برگه وضعیت کارگزار را انتخاب کنید و مطمئن شوید خطایی وجود ندارد.
  4. ‫DevTools را باز کنید و LanguageModel.availability(); را در کنسول تایپ کنید. این کار باید available را برگرداند.

درصورت لزوم، مدتی صبر کنید و این مراحل را تکرار کنید.

فرایند استانداردها

ما در تلاشیم تا این APIها را استانداردسازی کنیم، تا در همه مرورگرها کار کنند. این یعنی میاناهای برنامه‌سازی کاربردی را به انجمن پلاتفرم‌های وب پیشنهاد کرده‌ایم و آن‌ها را برای بحث بیشتر به گروه انجمن W3C Web Incubator منتقل کرده‌ایم.

برای هر API، از W3C،‏ Mozilla، و WebKit درخواست بازخورد می‌کنیم.

تعامل و هم‌رسانی بازخورد

اگر هوش مصنوعی داخلی را امتحان کردید و بازخوردی داشتید، خوشحال می‌شویم آن را با ما در میان بگذارید.