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

الکساندرا کلپر
Alexandra Klepper

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

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

الزامات

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

مدل‌ها

رابط‌های برنامه‌نویسی کاربردی (API) مترجم و تشخیص‌دهنده زبان از مدل‌های تخصصی استفاده می‌کنند. سایر رابط‌های برنامه‌نویسی کاربردی (API) از یک مدل زبانی استفاده می‌کنند که برای اجرا به صورت محلی روی کامپیوترهای رومیزی و لپ‌تاپ‌ها طراحی شده است.

رابط برنامه‌نویسی Summarizer، رابط برنامه‌نویسی Writer، رابط برنامه‌نویسی Rewriter و رابط برنامه‌نویسی Proofreader، فقط از حالت متن به متن پشتیبانی می‌کنند. رابط برنامه‌نویسی Prompt قابلیت‌های چندوجهی دارد .

جمینی نانو در کروم

کروم از مدل‌های زبانی Gemini Nano استفاده می‌کند. Gemini Nano در دستگاه‌های تلفن همراه در دسترس نیست.

از کروم ۱۴۰ به بعد، جمینی نانو از زبان‌های انگلیسی، اسپانیایی و ژاپنی برای ورودی و خروجی متن پشتیبانی می‌کند.

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

سخت‌افزار

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

APIهای تشخیص زبان و مترجم در کروم دسکتاپ کار می‌کنند. این APIها در دستگاه‌های تلفن همراه کار نمی‌کنند. APIهای Prompt، Summarizer، Writer، Rewriter و Proofreader در کروم در صورت وجود شرایط زیر کار می‌کنند:

  • سیستم عامل : ویندوز ۱۰ یا ۱۱؛ macOS 13+ (Ventura و بعد از آن)؛ لینوکس؛ یا ChromeOS (از پلتفرم ۱۶۳۸۹.۰.۰ و بعد از آن) در دستگاه‌های Chromebook Plus . Chrome برای اندروید، iOS و ChromeOS در دستگاه‌های غیر Chromebook Plus هنوز توسط APIهایی که از Gemini Nano استفاده می‌کنند پشتیبانی نمی‌شوند.
  • فضای ذخیره‌سازی : حداقل ۲۲ گیگابایت فضای خالی در درایوی که نمایه کروم شما در آن قرار دارد.
  • پردازنده گرافیکی (GPU) یا پردازنده مرکزی (CPU) : مدل‌های توکار می‌توانند با پردازنده گرافیکی (GPU) یا پردازنده مرکزی (CPU) کار کنند.
    • پردازنده گرافیکی (GPU) : دقیقاً بیش از ۴ گیگابایت حافظه ویدیویی (VRAM).
    • پردازنده : ۱۶ گیگابایت رم یا بیشتر و ۴ هسته پردازنده یا بیشتر.
  • شبکه : داده نامحدود یا اتصال بدون محدودیت حجمی.

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

شروع به ساختن کنید

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

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

همه این APIها می‌توانند هنگام ساخت افزونه‌های کروم مورد استفاده قرار گیرند.

دانلود مدل

APIها و همچنین مدل‌ها در کروم تعبیه شده‌اند. اولین باری که کاربر با این APIها تعامل می‌کند، مدل باید در مرورگر دانلود شود.

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

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

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

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

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

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

برای مثال با API مربوط به Summarizer ، می‌توانید از کاربران بخواهید که با دکمه‌ای که روی آن نوشته شده "Summarize" تعامل داشته باشند تا Summarizer.create() فعال شود، یا می‌توانید خلاصه‌ساز را پس از شروع تایپ کاربر، به عنوان یک رویداد keydown ، ایجاد کنید.

استفاده از APIها در لوکال هاست

همه APIها در کروم روی localhost در دسترس هستند.

  1. به chrome://flags/#prompt-api-for-gemini-nano-multimodal-input بروید.
  2. فعال‌شده را انتخاب کنید.
  3. روی راه‌اندازی مجدد یا راه‌اندازی مجدد کروم کلیک کنید.

برای تأیید دانلود و عملکرد Gemini Nano طبق برنامه، DevTools را باز کنید و عبارت await LanguageModel.availability(); را در کنسول تایپ کنید. این دستور باید available برگرداند.

عیب یابی لوکال هاست

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

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

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

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

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

ما برای هر API از W3C، Mozilla و WebKit بازخورد می‌خواهیم.

مشارکت کنید و بازخورد خود را به اشتراک بگذارید

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