جاوااسکریپت | JavaScript
507 subscribers
654 photos
139 videos
3 files
512 links
کانال @IR_javascript حاوی اطلاعات مفید در حوزه برنامه نویس فرانت که بصورت روزانه بروز می‌شود.
در این کانال شما به:
[1] مطالب تازه
[2] تحلیل‌های عمیق
[3] نکات آموزشی
[4] چالش
[5] ابزار و راهنمایی‌های کاربردی
دسترسی خواهید داشت.

🆔@IR_javascript
Download Telegram
‏API window.ai کروم چیست؟

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

‏API جدید window.ai مدل‌های پیش‌آموزش‌دیده و API‌های آماده را در اختیار توسعه‌دهندگان قرار می‌دهد تا آن‌ها بتوانند بر ساخت ویژگی‌های محصول تمرکز کنند و آموزش و تنظیمات مدل‌ها را به متخصصان یادگیری ماشین گوگل بسپارند. نکته جالب این API این است که برای ساخت ویژگی‌های هوش مصنوعی در اپلیکیشن‌های وب نیازی به تجربه قبلی در زمینه یادگیری ماشین نخواهید داشت.

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

درک API window.ai و نحوه تعامل آن با مدل‌های هوش مصنوعی

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

window.ai به‌صورت زیر با مدل‌های هوش مصنوعی تعامل می‌کند:

بارگذاری و مدیریت مدل‌ها: این معمولاً اولین مرحله است که مدل‌های پیش‌آموزش‌دیده هوش مصنوعی به‌طور مستقیم در مرورگر بارگذاری می‌شوند، خواه از سرورهای راه دور یا به‌صورت بسته‌های npm. API window.ai مدیریت چرخه حیات مدل‌ها از جمله بارگذاری، به‌روزرسانی و حذف مدل‌ها را انجام می‌دهد.

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

تنظیم دقیق درخواست‌ها: در این مرحله، درخواست‌ها به‌منظور به‌دست آوردن بهترین نتایج بهینه می‌شوند. تنظیم دقیق درخواست‌ها معمولاً توسط توسعه‌دهنده برای پیاده‌سازی ویژگی‌هایی با نیازهای خاص هوش مصنوعی انجام می‌شود.

برخی از مثال‌های کد برای تعامل با API window.ai:

کد زیر بررسی می‌کند که آیا مرورگر از جلسات متنی پشتیبانی می‌کند یا خیر:
await window.ai.canCreateTextSession();

این کد یک شیء از گزینه‌های پیش‌فرض برای ایجاد جلسه متنی باز می‌گرداند:
const options = await window.ai.defaultTextSessionOptions();


کد زیر یک جلسه با استفاده از مدل Gemini Nano ایجاد می‌کند:

const session = await window.ai.createTextSession(options);

توجه داشته باشید که آرگومان options اختیاری است.

کد زیر جلسه را از بین می‌برد:

await session.destroy();


این دستور یک درخواست را اجرا می‌کند:
await session.prompt("Who is the president of USA?");


این دستور درخواست را اجرا کرده و سپس یک شیء ReadableStream باز می‌گرداند:

await session.promptStreaming("What does NASA stand for?");


تنظیم API window.ai

برای دسترسی به API window.ai، باید نسخه 127 یا بالاتر از مرورگر کروم (Chrome Dev یا Canary) را دانلود کنید. پس از نصب مرورگر، اطمینان حاصل کنید که پرچم‌های زیر تنظیم شده باشد:

‏chrome://flags/#prompt-api-for-gemini-nano: گزینه "Enabled" را انتخاب کنید.
‏chrome://flags/#optimization-guide-on-device-model: گزینه "EnabledBypassPrefRequirement" را انتخاب کنید.
‏chrome://components: گزینه "Optimization Guide On Device Model" را پیدا کرده و روی دکمه "Check for Update" کلیک کنید تا مدل دانلود شود.
نکته: اگر "Optimization Guide" را مشاهده نکردید، مطمئن شوید که پرچم‌ها را به‌درستی تنظیم کرده‌اید. اگر همچنان نتواستید "Optimization Guide" را پیدا کنید، دستور await window.ai.assistant.create(); را در کنسول مرورگر خود اجرا کرده و سپس صفحه را بازخوانی کنید.

کد زیر را در کنسول مرورگر خود اجرا کنید تا بررسی کنید که آیا می‌توانید به مدل Gemini Nano دسترسی داشته باشید:

await window.ai.canCreateTextSession();


اگر کد بالا "Readily" را بازگرداند، می‌توانید به مدل Gemini Nano در مرورگر کروم خود دسترسی داشته باشید.

حالا می‌توانید با استفاده از چند خط کد در کنسول مرورگر، یک جلسه با مدل Gemini Nano ایجاد کرده و یک درخواست را اجرا کنید:
const session = await window.ai.createTextSession();
await session.prompt("What is the capital of France?");



#️⃣#tip
👥@IR_javascript_group
🆔@IR_javascript
👍3