প্রকাশিত: ১২ ডিসেম্বর, ২০২৪, শেষবার আপডেট করা হয়েছে: ২০ মে, ২০২৫
বিল্ট-ইন AI API-এর সাহায্যে, আপনার ওয়েব অ্যাপ্লিকেশন নিজস্ব AI মডেল ডেপ্লয় বা ম্যানেজ করার প্রয়োজন ছাড়াই AI-পরিচালিত টাস্ক পারফর্ম করতে পারে। আমরা বিভিন্ন ব্রাউজার জুড়ে এইসব এপিআইকে স্ট্যান্ডার্ডাইজ করার জন্য কাজ করছি।
প্রয়োজনীয় মডেল
Translator ও Language Detector API এক্সপার্ট মডেল ব্যবহার করে। অন্য সব API একটি ভাষা মডেল ব্যবহার করে, যা ডেস্কটপ এবং ল্যাপটপে লোকালি চালানোর জন্য ডিজাইন করা হয়েছে।
Summarizer API, Writer API, Rewriter API এবং Proofreader API, শুধুমাত্র টেক্সট-টু-টেক্সট মোডালিটি সাপোর্ট করে। Prompt API-এর মাল্টিমোডাল ক্ষমতা আছে।
Chrome মডেল
Chrome, বিশেষজ্ঞ ও ফাউন্ডেশন ল্যাঙ্গুয়েজ মডেল ব্যবহার করে। এইসব মডেল মোবাইল ডিভাইসে উপলভ্য নেই।
Chrome 149 থেকে, মডেলগুলি ইনপুট এবং আউটপুট টেক্সটের জন্য ইংরেজি, স্প্যানিশ, জাপানি, জার্মান এবং ফরাসি ভাষা সাপোর্ট করে।
প্রয়োজনীয় হার্ডওয়্যার
Chrome-এ এইসব API ব্যবহার করে ফিচার অপারেট করা ডেভেলপার ও ব্যবহারকারীদের জন্য নিম্নলিখিত প্রয়োজনীয়তা বিদ্যমান। অন্যান্য ব্রাউজারের ক্ষেত্রে অপারেটিং সংক্রান্ত প্রয়োজনীয়তা আলাদা হতে পারে।
Language Detector এবং Translator API ডেস্কটপে Chrome-এ কাজ করে। এইসব API মোবাইল ডিভাইসে কাজ করে না।
Prompt API, Summarizer API, Writer API, Rewriter API এবং Proofreader API Chrome-এ কাজ করে যখন নিম্নলিখিত শর্তগুলি পূরণ করা হয়:
- অপারেটিং সিস্টেম: Windows 10 বা 11; macOS 13+ (Ventura ও তার পরের যেকোনও ভার্সন); Linux; অথবা Chromebook Plus ডিভাইসে ChromeOS (Platform 16389.0.0 ও তার পরের যেকোনও ভার্সন)। Chromebook Plus ডিভাইস ছাড়া অন্য ডিভাইসে Android, iOS ও ChromeOS-এর জন্য Chrome-এ ফাউন্ডেশন মডেল ব্যবহার করা API এখনও কাজ করে না ।
- স্টোরেজ: আপনার Chrome প্রোফাইল যে ভলিউমে আছে সেখানে কমপক্ষে ২২ জিবি খালি জায়গা থাকতে হবে।
- GPU বা CPU: বিল্ট-ইন মডেল GPU বা CPU-এর মাধ্যমে রান করতে পারে।
- GPU: ৪ জিবির বেশি VRAM থাকতে হবে।
- CPU: ১৬ জিবি বা তার বেশি র্যাম এবং ৪ CPU কোর বা তার বেশি।
- মনে রাখবেন: অডিও ইনপুট সহ প্রম্পট API-এর জন্য GPU প্রয়োজন।
- নেটওয়ার্ক: আনলিমিটেড ডেটা বা মিটারিং করা নয় এমন কানেকশন।
ব্রাউজার মডেল আপডেট করার সাথে সাথে Gemini Nano-এর সঠিক সাইজ পরিবর্তিত হতে পারে। বর্তমান সাইজ নির্ধারণ করতে, chrome://on-device-internals দেখুন।
তৈরি করা শুরু করুন
ডেভেলপমেন্টের বিভিন্ন পর্যায়ে একাধিক বিল্ট-ইন AI API উপলভ্য। কিছু Chrome Stable-এ, কিছু অরিজিন ট্রায়ালের অংশগ্রহণকারীদের জন্য উপলভ্য এবং অন্যগুলি শুধুমাত্র আর্লি প্রিভিউ প্রোগ্রামের অংশগ্রহণকারীদের জন্য উপলভ্য।
প্রতিটি API-এর নিজস্ব নির্দেশাবলী রয়েছে যা অনুসরণ করে আপনি মডেল ডাউনলোড করতে এবং লোকাল প্রোটোটাইপিং ও প্রোডাকশন এনভায়রনমেন্টে অরিজিন ট্রায়াল শুরু করতে পারবেন।
- Translator API
- Language Detector API
- Summarizer API
- Writer API এবং Rewriter API
- Proofreader API
- Prompt API
Chrome এক্সটেনশন তৈরি করার সময় এইসব API ব্যবহার করা যেতে পারে।
মডেল ডাউনলোড
মডেলের মতো API-ও Chrome-এ বিল্ট-ইন হিসেবে থাকে। কোনও ব্যবহারকারী প্রথমবার এইসব API-এর সাথে ইন্টার্যাক্ট করলে, মডেলটি অবশ্যই ব্রাউজারে ডাউনলোড করতে হবে।
কোনও API ব্যবহারযোগ্য এবং প্রস্তুত কিনা তা নির্ধারণ করতে, অ্যাসিঙ্ক্রোনাস
availability() ফাংশন কল করুন, যা নিম্নলিখিত মানগুলির মধ্যে একটির সাথে একটি প্রতিশ্রুতি
ফেরত দেয়:
"unavailable": ব্যবহারকারীর ডিভাইস বা অনুরোধ করা সেশন বিকল্প কাজ করে না। ডিভাইসে পর্যাপ্ত পাওয়ার বা ডিস্ক স্পেস নাও থাকতে পারে।"downloadable": সেশন তৈরি করার জন্য অতিরিক্ত ডাউনলোড করতে হবে, যার মধ্যে বিশেষজ্ঞ মডেল, ভাষা মডেল বা ফাইন-টিউনিং অন্তর্ভুক্ত থাকতে পারে।create()-এ কল করার জন্য ইউজার অ্যাক্টিভেশন প্রয়োজন হতে পারে।"downloading": ডাউনলোড চলছে এবং সেশন ব্যবহার করার আগে এটি সম্পূর্ণ হতে হবে।"available": আপনি অবিলম্বে একটি সেশন তৈরি করতে পারবেন।
উপলভ্যতা কল করার সময় কিছু API-এর জন্য অতিরিক্ত বিকল্পের প্রয়োজন হয়। যেমন, Prompt API-এর ক্ষেত্রে ভাষা সংক্রান্ত সহায়তা ঘোষণা করতে হয়:
// 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"]}],
});
ব্যবহারকারী অ্যাক্টিভেশন
ডিভাইসে বিল্ট-ইন AI API কাজ করলেও, মডেলটি এখনও ডাউনলোড না হয়ে থাকলে (অর্থাৎ, availability() কল করলে "downloadable" বা
"downloading" রিটার্ন করলে), আপনার
অ্যাপ্লিকেশনের create()-এর সাথে সেশন শুরু করার জন্য ব্যবহারকারীকে আপনার পৃষ্ঠার সাথে অর্থপূর্ণভাবে ইন্টার্যাক্ট করতে হবে।
পৃষ্ঠা লোড হওয়ার পর থেকে ব্যবহারকারী সরাসরি পৃষ্ঠার সাথে ইন্টার্যাক্ট করেছেন কিনা তা কনফার্ম করতে
UserActivation.isActive প্রপার্টি ব্যবহার করুন। এর মধ্যে ট্যাপ, ক্লিক, কী প্রেস, mousedown বা
অন্যান্য স্টিকি অ্যাক্টিভেশন ইভেন্ট অন্তর্ভুক্ত থাকতে পারে।
// Check for user activation.
if (navigator.userActivation.isActive) {
// Create an instance of a built-in API
}
যেমন, Summarizer API-এর সাহায্যে, আপনি
ব্যবহারকারীকে "সারসংক্ষেপ করো" বোতামের সাথে ইন্টার্যাক্ট করতে বলতে পারেন, যাতে সেটি চালু হয়
Summarizer.create() অথবা ব্যবহারকারী টাইপ করা শুরু করলে, আপনি Summarizer তৈরি করতে পারেন, এটি একটি keydown ইভেন্ট।
লোকালহোস্ট সংক্রান্ত সমস্যার সমাধান করা
মডেলটি প্রত্যাশা অনুযায়ী কাজ না করলে, এই ধাপগুলি অনুসরণ করুন:
- Chrome রিস্টার্ট করুন।
chrome://on-device-internals-এ যান।- ব্রোকার স্টেট ট্যাব বেছে নিন এবং কোনও সমস্যা নেই তা নিশ্চিত করুন।
- DevTools খুলুন এবং কনসোলে
LanguageModel.availability();টাইপ করুন। এটিavailableরিটার্ন করবে।
প্রয়োজন হলে, কিছুক্ষণ অপেক্ষা করে এইসব ধাপ আবার অনুসরণ করুন।
স্ট্যান্ডার্ড প্রসেস
আমরা এইসব API-কে স্ট্যান্ডার্ডাইজ করার জন্য কাজ করছি, যাতে সেগুলি সব ব্রাউজার জুড়ে কাজ করে। এর অর্থ হল, আমরা ওয়েব প্ল্যাটফর্ম কমিউনিটির কাছে API-এর প্রস্তাব দিয়েছি এবং আরও আলোচনার জন্য W3C ওয়েব ইনকিউবেটর কমিউনিটি গ্রুপ-এ সেগুলি পাঠিয়েছি।
আমরা প্রতিটি API-এর জন্য W3C, Mozilla এবং WebKit-এর থেকে মতামত জানতে চাইছি।
যোগাযোগ করুন এবং মতামত শেয়ার করুন
আপনি যদি বিল্ট-ইন AI ব্যবহার করে থাকেন এবং আপনার কোনও মতামত থাকে, তাহলে আমরা তা জানতে চাই।
- বিল্ট-ইন AI API সম্পর্কে জানুন।
- নতুন API-এর আগাম প্রিভিউ দেখতে এবং আমাদের মেলিং লিস্ট অ্যাক্সেস করতে আগাম প্রিভিউ প্রোগ্রামে যোগ দিন।
- Chrome-এর প্রয়োগ সম্পর্কে আপনার কোনও মতামত থাকলে, Chromium বাগ ফাইল করুন।
- ওয়েব স্ট্যান্ডার্ড সম্পর্কে জানুন।