বিল্ট-ইন AI ব্যবহার করা শুরু করুন

Alexandra Klepper
Alexandra Klepper

প্রকাশিত: ১২ ডিসেম্বর, ২০২৪, শেষ আপডেট: ২০ মে, ২০২৫

বিল্ট-ইন AI API-এর সাহায্যে, আপনার ওয়েব অ্যাপ্লিকেশন নিজস্ব AI মডেল ডেপ্লয় বা ম্যানেজ করার প্রয়োজন ছাড়াই AI-পরিচালিত টাস্ক পারফর্ম করতে পারে। আমরা বিভিন্ন ব্রাউজার জুড়ে এইসব এপিআইকে স্ট্যান্ডার্ডাইজ করার জন্য কাজ করছি।

প্রয়োজনীয় মডেল

Translator ও Language Detector API-তে বিশেষজ্ঞ মডেল ব্যবহার করা হয়। অন্যান্য সব API একটি ল্যাঙ্গুয়েজ মডেল ব্যবহার করে, যা ডেস্কটপ ও ল্যাপটপে লোকালি রান করার জন্য ডিজাইন করা হয়েছে।

Summarizer API, Writer API, Rewriter API এবং Proofreader API শুধুমাত্র টেক্সট-টু-টেক্সট মোডালিটি কাজ করে। প্রম্পট API-তে মাল্টিমোডাল ক্ষমতা আছে।

Chrome মডেল

Chrome, বিশেষজ্ঞ ও ফাউন্ডেশন ল্যাঙ্গুয়েজ মডেল ব্যবহার করে। এইসব মডেল মোবাইল ডিভাইসে উপলভ্য নেই।

Chrome 149 থেকে, মডেলগুলি ইনপুট ও আউটপুট টেক্সটের জন্য ইংরেজি, স্প্যানিশ, জাপানি, জার্মান এবং ফরাসি ভাষায় কাজ করে।

প্রয়োজনীয় হার্ডওয়্যার

Chrome-এ এইসব API ব্যবহার করে ফিচার অপারেট করা ডেভেলপার ও ব্যবহারকারীদের জন্য নিম্নলিখিত প্রয়োজনীয়তা বিদ্যমান। অন্যান্য ব্রাউজারের ক্ষেত্রে আলাদা অপারেটিং সংক্রান্ত প্রয়োজনীয়তা থাকতে পারে।

ভাষা শনাক্তকারী ও অনুবাদক API Chrome-এ ডেস্কটপে কাজ করে। এইসব API মোবাইল ডিভাইসে কাজ করে না।

নিম্নলিখিত শর্ত পূরণ হলে Chrome-এ প্রম্পট API, সারসংক্ষেপ API, রাইটার API, রিরাইটার API এবং প্রুফরিডার API কাজ করে:

  • অপারেটিং সিস্টেম: 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-এর স্থিতিশীল ভার্সনে, কিছু অরিজিন ট্রায়ালের অংশগ্রহণকারীদের জন্য উপলভ্য এবং বাকিগুলি শুধুমাত্র আর্লি প্রিভিউ প্রোগ্রামের অংশগ্রহণকারীদের জন্য উপলভ্য।

প্রতিটি API-এর নিজস্ব নির্দেশাবলী রয়েছে যা অনুসরণ করে আপনি মডেল ডাউনলোড করতে এবং লোকাল প্রোটোটাইপিং ও প্রোডাকশন এনভায়রনমেন্টে অরিজিন ট্রায়াল শুরু করতে পারবেন।

Chrome এক্সটেনশন তৈরি করার সময় এইসব API ব্যবহার করা যেতে পারে।

মডেল ডাউনলোড

মডেলের মতো API-ও Chrome-এ বিল্ট-ইন হিসেবে থাকে। কোনও ব্যবহারকারী প্রথমবার এইসব API-এর সাথে ইন্টার‍্যাক্ট করলে, মডেলটি অবশ্যই ব্রাউজারে ডাউনলোড করতে হবে।

কোনও API ব্যবহারযোগ্য ও রেডি কিনা তা নির্ধারণ করতে, অ্যাসিঙ্ক্রোনাস availability() ফাংশন কল করুন, যা নিম্নলিখিত মানগুলির মধ্যে একটি সহ একটি প্রমিস রিটার্ন করে:

  • "unavailable": ব্যবহারকারীর ডিভাইস বা অনুরোধ করা সেশন বিকল্প কাজ করে না। ডিভাইসে পর্যাপ্ত পাওয়ার বা ডিস্ক স্পেস নাও থাকতে পারে।
  • "downloadable": সেশন তৈরি করার জন্য অতিরিক্ত ডাউনলোড করতে হবে, যার মধ্যে বিশেষজ্ঞ মডেল, ভাষা মডেল বা ফাইন-টিউনিং অন্তর্ভুক্ত থাকতে পারে। create()-এ কল করার জন্য ব্যবহারকারীকে অ্যাক্টিভেট করতে হতে পারে।
  • "downloading": ডাউনলোড চলছে এবং সেশন ব্যবহার করার আগে এটি সম্পূর্ণ হতে হবে।
  • "available": আপনি অবিলম্বে সেশন তৈরি করতে পারবেন।

উপলভ্যতা কল করার সময় কিছু API-এর অতিরিক্ত বিকল্প প্রয়োজন হয়। যেমন, প্রম্পট 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 ইভেন্ট।

লোকালহোস্ট সংক্রান্ত সমস্যার সমাধান করা

মডেল প্রত্যাশা অনুযায়ী কাজ না করলে, এইসব ধাপ অনুসরণ করুন:

  1. Chrome রিস্টার্ট করুন।
  2. chrome://on-device-internals-এ যান।
  3. ব্রোকার স্টেট ট্যাব বেছে নিন এবং নিশ্চিত করুন যে কোনও সমস্যা নেই।
  4. DevTools খুলুন এবং কনসোলে LanguageModel.availability(); টাইপ করুন। এর ফলে available রিটার্ন করা উচিত।

প্রয়োজন হলে, কিছুক্ষণ অপেক্ষা করে এইসব ধাপ আবার অনুসরণ করুন।

স্ট্যান্ডার্ড প্রসেস

আমরা এইসব API-কে স্ট্যান্ডার্ডাইজ করার কাজ করছি, যাতে সেগুলি সব ব্রাউজার জুড়ে কাজ করে। এর অর্থ হল, আমরা ওয়েব প্ল্যাটফর্ম কমিউনিটির কাছে API-এর সাজেশন দিয়েছি এবং আরও আলোচনার জন্য সেগুলি W3C ওয়েব ইনকিউবেটর কমিউনিটি গ্রুপে সরিয়ে দিয়েছি।

আমরা প্রতিটি API-এর জন্য W3C, Mozilla এবং WebKit-এর থেকে মতামত জানতে চাইছি।

মতামত নিয়ে আলোচনা ও শেয়ার করা

আপনি বিল্ট-ইন AI ব্যবহার করে থাকলে এবং কোনও মতামত থাকলে, আমাদের সাথে তা শেয়ার করলে আমরা খুশি হব।