অন-ডিভাইস এবং ক্লাউড-হোস্টেড মডেলগুলির সাথে হাইব্রিড অভিজ্ঞতা তৈরি করুন


Firebase AI Logic ব্যবহার করে হাইব্রিড ইনফারেন্স ব্যবহার করে AI-চালিত অ্যাপ এবং বৈশিষ্ট্য তৈরি করুন। হাইব্রিড ইনফারেন্স উপলব্ধ থাকলে ডিভাইসের মডেল ব্যবহার করে ইনফারেন্স চালানো এবং অন্যথায় (এবং বিপরীতভাবে) ক্লাউড-হোস্টেড মডেলগুলিতে ফিরে আসা নির্বিঘ্নে সক্ষম করে।

এই রিলিজের মাধ্যমে, হাইব্রিড ইনফারেন্স ওয়েবের জন্য ফায়ারবেস এআই লজিক ক্লায়েন্ট SDK ব্যবহার করে উপলব্ধ, যা ডেস্কটপে ক্রোমের জন্য অন-ডিভাইস ইনফারেন্স সমর্থন করে।

কোড উদাহরণগুলিতে যান

প্রস্তাবিত ব্যবহারের ক্ষেত্রে এবং সমর্থিত ক্ষমতা

প্রস্তাবিত ব্যবহারের ক্ষেত্রে:

  • ইনফারেন্স অফারগুলির জন্য একটি অন-ডিভাইস মডেল ব্যবহার করা:

    • উন্নত গোপনীয়তা
    • স্থানীয় প্রেক্ষাপট
    • বিনামূল্যে অনুমান
    • অফলাইন কার্যকারিতা
  • হাইব্রিড কার্যকারিতা ব্যবহারের ফলে নিম্নলিখিত সুবিধাগুলি পাওয়া যায়:

    • ডিভাইসে মডেলের প্রাপ্যতা বা ইন্টারনেট সংযোগ নির্বিশেষে, আপনার ১০০% দর্শকের কাছে পৌঁছান

ডিভাইসে থাকা অনুমানের জন্য সমর্থিত ক্ষমতা এবং বৈশিষ্ট্য:

শুরু করুন

এই নির্দেশিকাটি আপনাকে দেখায় কিভাবে হাইব্রিড ইনফারেন্স সম্পাদনের জন্য Firebase AI Logic SDK for Web ব্যবহার শুরু করবেন।

একটি অন-ডিভাইস মডেল ব্যবহার করে ইনফারেন্স Chrome থেকে প্রম্পট API ব্যবহার করে; যেখানে ক্লাউড-হোস্টেড মডেল ব্যবহার করে ইনফারেন্স আপনার পছন্দের Gemini API প্রদানকারী (হয় Gemini Developer API অথবা Vertex AI Gemini API ) ব্যবহার করে।

এই বিভাগে বর্ণিত পদ্ধতি অনুসারে localhost ব্যবহার করে ডেভেলপ করা শুরু করুন (Chrome ডকুমেন্টেশনে localhost-এ API ব্যবহার সম্পর্কে আরও জানতে পারেন)। তারপর, একবার আপনার বৈশিষ্ট্যটি বাস্তবায়ন করার পরে, আপনি ঐচ্ছিকভাবে শেষ ব্যবহারকারীদের আপনার বৈশিষ্ট্যটি ব্যবহার করে দেখতে সক্ষম করতে পারেন।

ধাপ ১ : ডিভাইসে অনুমানের জন্য Chrome এবং প্রম্পট API সেট আপ করুন

  1. নিশ্চিত করুন যে আপনি Chrome এর সাম্প্রতিক সংস্করণ ব্যবহার করছেন। chrome://settings/help এ আপডেট করুন।
    Chrome v139 এবং তার পরবর্তী সংস্করণ থেকে ডিভাইসে থাকা অনুমান পাওয়া যাবে।

  2. নিম্নলিখিত ফ্ল্যাগটি Enabled এ সেট করে অন-ডিভাইস মাল্টিমোডাল মডেলটি সক্ষম করুন:

    • chrome://flags/#prompt-api-for-gemini-nano-multimodal-input
  3. Chrome পুনরায় চালু করুন।

  4. (ঐচ্ছিক) প্রথম অনুরোধের আগে অন-ডিভাইস মডেলটি ডাউনলোড করুন।

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

ধাপ ২ : একটি Firebase প্রকল্প সেট আপ করুন এবং আপনার অ্যাপটিকে Firebase এর সাথে সংযুক্ত করুন।

  1. Firebase কনসোলে সাইন ইন করুন, এবং তারপর আপনার Firebase প্রকল্পটি নির্বাচন করুন।

  2. Firebase কনসোলে, ফায়ারবেস এআই লজিক পৃষ্ঠায় যান।

  3. আপনার প্রকল্পের জন্য প্রয়োজনীয় API এবং সংস্থান সেট আপ করতে সাহায্য করার জন্য একটি নির্দেশিত কর্মপ্রবাহ চালু করতে "শুরু করুন" এ ক্লিক করুন।

  4. Firebase AI Logic SDK-এর সাথে আপনি যে " Gemini API " প্রোভাইডারটি ব্যবহার করতে চান তা নির্বাচন করুন। Gemini Developer API প্রথমবার ব্যবহারকারীদের জন্য সুপারিশ করা হয়। আপনি চাইলে যেকোনো সময় বিলিং যোগ করতে পারেন অথবা Vertex AI Gemini API সেট আপ করতে পারেন।

    • জেমিনি ডেভেলপার এপিআইবিলিং ঐচ্ছিক (বিনা খরচে স্পার্ক মূল্য পরিকল্পনায় উপলব্ধ, এবং আপনি ইচ্ছা করলে পরে আপগ্রেড করতে পারেন)
      কনসোলটি প্রয়োজনীয় API গুলি সক্ষম করবে এবং আপনার প্রকল্পে একটি জেমিনি API কী তৈরি করবে।
      এই জেমিনি এপিআই কীটি আপনার অ্যাপের কোডবেসে যোগ করবেন না আরও জানুন।

    • ভার্টেক্স এআই জেমিনি এপিআইবিলিং প্রয়োজন (পে-অ্যাজ-ইউ-গো ব্লেজ প্রাইসিং প্ল্যান প্রয়োজন)
      কনসোলটি আপনাকে বিলিং সেট আপ করতে এবং আপনার প্রকল্পে প্রয়োজনীয় API গুলি সক্ষম করতে সাহায্য করবে।

  5. কনসোলের ওয়ার্কফ্লোতে যদি অনুরোধ করা হয়, তাহলে আপনার অ্যাপটি নিবন্ধন করতে এবং এটিকে Firebase-এর সাথে সংযুক্ত করতে অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন।

  6. আপনার অ্যাপে SDK যোগ করতে এই নির্দেশিকার পরবর্তী ধাপে যান।

ধাপ ৩ : SDK যোগ করুন

ফায়ারবেস লাইব্রেরি জেনারেটিভ মডেলগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য API গুলিতে অ্যাক্সেস প্রদান করে। লাইব্রেরিটি ওয়েবের জন্য ফায়ারবেস জাভাস্ক্রিপ্ট SDK এর অংশ হিসাবে অন্তর্ভুক্ত।

  1. npm ব্যবহার করে ওয়েবের জন্য Firebase JS SDK ইনস্টল করুন:

    npm install firebase
    
  2. আপনার অ্যাপে Firebase আরম্ভ করুন:

    import { initializeApp } from "firebase/app";
    
    // TODO(developer) Replace the following with your app's Firebase configuration
    // See: https://firebase.google.com/docs/web/learn-more#config-object
    const firebaseConfig = {
      // ...
    };
    
    // Initialize FirebaseApp
    const firebaseApp = initializeApp(firebaseConfig);
    

ধাপ ৪ : পরিষেবাটি শুরু করুন এবং একটি মডেল ইনস্ট্যান্স তৈরি করুন

এই পৃষ্ঠায় প্রোভাইডার-নির্দিষ্ট কন্টেন্ট এবং কোড দেখতে আপনার জেমিনি API প্রোভাইডারে ক্লিক করুন।

জেমিনি মডেলে প্রম্পট পাঠানোর আগে, আপনার নির্বাচিত API প্রদানকারীর জন্য পরিষেবাটি শুরু করুন এবং একটি GenerativeModel ইনস্ট্যান্স তৈরি করুন।

mode এর মধ্যে একটিতে সেট করুন:

  • PREFER_ON_DEVICE : SDK কে ডিভাইসের অন-ডিভাইস মডেলটি উপলব্ধ থাকলে ব্যবহার করার জন্য কনফিগার করে, অথবা ক্লাউড-হোস্টেড মডেলে ফিরে যেতে পারে।

  • ONLY_ON_DEVICE : ডিভাইসের মডেল ব্যবহার করতে অথবা ব্যতিক্রম প্রয়োগ করতে SDK কনফিগার করে।

  • PREFER_IN_CLOUD : SDK কে ক্লাউড-হোস্টেড মডেলটি উপলব্ধ থাকলে ব্যবহার করার জন্য কনফিগার করে, অথবা অন-ডিভাইস মডেলে ফিরে যায়।

  • ONLY_IN_CLOUD : SDK কে এমনভাবে কনফিগার করে যাতে অন-ডিভাইস মডেলটি কখনও ব্যবহার না করা হয়।

যখন আপনি PREFER_ON_DEVICE , PREFER_IN_CLOUD , অথবা ONLY_IN_CLOUD ব্যবহার করেন তখন ডিফল্ট ক্লাউড-হোস্টেড মডেল হল gemini-2.0-flash-lite , কিন্তু আপনি ডিফল্ট ওভাররাইড করতে পারেন।

import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend, InferenceMode } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance
// Set the mode, for example to use on-device model when possible
const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_ON_DEVICE });

একটি মডেলকে একটি দ্রুত অনুরোধ পাঠান

এই বিভাগটি বিভিন্ন ধরণের আউটপুট তৈরি করতে বিভিন্ন ধরণের ইনপুট কীভাবে প্রেরণ করতে হয় তার উদাহরণ প্রদান করে, যার মধ্যে রয়েছে:

যদি আপনি স্ট্রাকচার্ড আউটপুট (যেমন JSON বা enums) তৈরি করতে চান, তাহলে নিম্নলিখিত "জেনারেট টেক্সট" উদাহরণগুলির মধ্যে একটি ব্যবহার করুন এবং অতিরিক্তভাবে একটি প্রদত্ত স্কিমা অনুসারে প্রতিক্রিয়া জানাতে মডেলটি কনফিগার করুন

শুধুমাত্র টেক্সট ইনপুট থেকে টেক্সট তৈরি করুন

এই নমুনাটি চেষ্টা করার আগে, নিশ্চিত করুন যে আপনি এই নির্দেশিকার "শুরু করুন" বিভাগটি সম্পূর্ণ করেছেন।

আপনি generateContent() ব্যবহার করে এমন একটি প্রম্পট থেকে টেক্সট তৈরি করতে পারেন যেখানে টেক্সট আছে:

// Imports + initialization of FirebaseApp and backend service + creation of model instance

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const prompt = "Write a story about a magic backpack."

  // To generate text output, call `generateContent` with the text input
  const result = await model.generateContent(prompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

run();

মনে রাখবেন যে Firebase AI Logic generateContentStream ব্যবহার করে ( generateContent এর পরিবর্তে) টেক্সট প্রতিক্রিয়া স্ট্রিমিং সমর্থন করে।

টেক্সট-এন্ড-ইমেজ (মাল্টিমোডাল) ইনপুট থেকে টেক্সট তৈরি করুন

এই নমুনাটি চেষ্টা করার আগে, নিশ্চিত করুন যে আপনি এই নির্দেশিকার "শুরু করুন" বিভাগটি সম্পূর্ণ করেছেন।

আপনি generateContent() ব্যবহার করে টেক্সট এবং ইমেজ ফাইল ধারণকারী একটি প্রম্পট থেকে টেক্সট তৈরি করতে পারেন—যা প্রতিটি ইনপুট ফাইলের mimeType এবং ফাইল নিজেই প্রদান করে।

ডিভাইসে অনুমানের জন্য সমর্থিত ইনপুট ছবির ধরণ হল PNG এবং JPEG।

// Imports + initialization of FirebaseApp and backend service + creation of model instance

// Converts a File object to a Part object.
async function fileToGenerativePart(file) {
  const base64EncodedDataPromise = new Promise((resolve) => {
    const reader = new FileReader();
    reader.onloadend = () => resolve(reader.result.split(',')[1]);
    reader.readAsDataURL(file);
  });
  return {
    inlineData: { data: await base64EncodedDataPromise, mimeType: file.type },
  };
}

async function run() {
  // Provide a text prompt to include with the image
  const prompt = "Write a poem about this picture:";

  const fileInputEl = document.querySelector("input[type=file]");
  const imagePart = await fileToGenerativePart(fileInputEl.files[0]);

  // To generate text output, call `generateContent` with the text and image
  const result = await model.generateContent([prompt, imagePart]);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

run();

মনে রাখবেন যে Firebase AI Logic generateContentStream ব্যবহার করে ( generateContent এর পরিবর্তে) টেক্সট প্রতিক্রিয়া স্ট্রিমিং সমর্থন করে।

তুমি আর কি করতে পারো?

উপরের উদাহরণগুলি ছাড়াও, আপনি শেষ-ব্যবহারকারীদের আপনার বৈশিষ্ট্যটি ব্যবহার করে দেখতে , বিকল্প অনুমান মোড ব্যবহার করতে , ডিফল্ট ফলব্যাক মডেলকে ওভাররাইড করতে এবং প্রতিক্রিয়া নিয়ন্ত্রণ করতে মডেল কনফিগারেশন ব্যবহার করতে সক্ষম করতে পারেন।

আপনার বৈশিষ্ট্যটি ব্যবহার করে দেখার জন্য শেষ ব্যবহারকারীদের সক্ষম করুন

ব্যবহারকারীরা যাতে আপনার বৈশিষ্ট্যটি ব্যবহার করে দেখতে পারেন, তার জন্য আপনি Chrome Origin Trials-এ নথিভুক্ত করতে পারেন। মনে রাখবেন যে এই ট্রায়ালগুলির জন্য সীমিত সময়কাল এবং ব্যবহার রয়েছে।

  1. প্রম্পট API Chrome Origin ট্রায়ালের জন্য নিবন্ধন করুন। আপনাকে একটি টোকেন দেওয়া হবে।

  2. আপনি যে ওয়েব পৃষ্ঠার জন্য ট্রায়াল বৈশিষ্ট্যটি সক্ষম করতে চান, প্রতিটি ওয়েব পৃষ্ঠায় টোকেনটি প্রদান করুন। নিম্নলিখিত বিকল্পগুলির মধ্যে একটি ব্যবহার করুন:

    • <head> ট্যাগে মেটা ট্যাগ হিসেবে টোকেনটি প্রদান করুন: <meta http-equiv="origin-trial" content=" TOKEN ">

    • HTTP হেডার হিসেবে টোকেনটি প্রদান করুন: Origin-Trial: TOKEN

    • প্রোগ্রাম্যাটিকভাবে টোকেনটি প্রদান করুন।

বিকল্প অনুমান মোড ব্যবহার করুন

উপরের উদাহরণগুলিতে PREFER_ON_DEVICE মোড ব্যবহার করা হয়েছে যাতে SDK কনফিগার করা যায় যাতে এটি উপলব্ধ থাকলে একটি অন-ডিভাইস মডেল ব্যবহার করা যায়, অথবা ক্লাউড-হোস্টেড মডেলে ফিরে যেতে পারে। SDK তিনটি বিকল্প ইনফারেন্স মোড অফার করে: ONLY_ON_DEVICE , ONLY_IN_CLOUD , এবং PREFER_IN_CLOUD .

  • ONLY_ON_DEVICE মোড ব্যবহার করুন যাতে SDK শুধুমাত্র একটি অন-ডিভাইস মডেল ব্যবহার করতে পারে। এই কনফিগারেশনে, যদি একটি অন-ডিভাইস মডেল উপলব্ধ না থাকে তবে API একটি ত্রুটি দেখাবে।

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_ON_DEVICE });
    
  • ONLY_IN_CLOUD মোড ব্যবহার করুন যাতে SDK শুধুমাত্র একটি ক্লাউড-হোস্টেড মডেল ব্যবহার করতে পারে।

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_IN_CLOUD });
    
  • PREFER_IN_CLOUD মোড ব্যবহার করুন যাতে SDK ক্লাউড-হোস্টেড মডেল ব্যবহার করার চেষ্টা করে, কিন্তু ক্লাউড-হোস্টেড মডেলটি অনুপলব্ধ থাকলে (যেমন, ডিভাইসটি অফলাইনে থাকলে) অন-ডিভাইস মডেলে ফিরে যাবে।

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_IN_CLOUD });
    

অন-ডিভাইস নাকি ইন-ক্লাউড ইনফারেন্স ব্যবহার করা হয়েছে তা নির্ধারণ করুন

যদি আপনি PREFER_ON_DEVICE অথবা PREFER_IN_CLOUD ইনফারেন্স মোড ব্যবহার করেন, তাহলে প্রদত্ত অনুরোধের জন্য কোন মোড ব্যবহার করা হয়েছে তা জানা সহায়ক হতে পারে। এই তথ্য প্রতিটি প্রতিক্রিয়ার inferenceSource সম্পত্তি দ্বারা সরবরাহ করা হয় (JS SDK v12.5.0 দিয়ে শুরু করে উপলব্ধ)।

যখন আপনি এই বৈশিষ্ট্যটি অ্যাক্সেস করবেন, তখন ফেরত আসা মানটি হয় ON_DEVICE অথবা IN_CLOUD হবে।

// ...

console.log('You used: ' + result.response.inferenceSource);

console.log(result.response.text());

ডিফল্ট ফলব্যাক মডেল ওভাররাইড করুন

ডিফল্ট ক্লাউড-হোস্টেড মডেল হল gemini-2.0-flash-lite

PREFER_ON_DEVICE মোড ব্যবহার করার সময় এই মডেলটি ফলব্যাক ক্লাউড-হোস্টেড মডেল। ONLY_IN_CLOUD মোড বা PREFER_IN_CLOUD মোড ব্যবহার করার সময় এটি ডিফল্ট মডেল।

আপনি একটি বিকল্প ডিফল্ট ক্লাউড-হোস্টেড মডেল নির্দিষ্ট করতে inCloudParams কনফিগারেশন বিকল্পটি ব্যবহার করতে পারেন।

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "GEMINI_MODEL_NAME"
  }
});

সমস্ত সমর্থিত জেমিনি মডেলের মডেল নাম খুঁজুন।

প্রতিক্রিয়া নিয়ন্ত্রণ করতে মডেল কনফিগারেশন ব্যবহার করুন

প্রতিটি মডেলের অনুরোধে, আপনি একটি মডেল কনফিগারেশন পাঠাতে পারেন যাতে মডেলটি কীভাবে প্রতিক্রিয়া তৈরি করে তা নিয়ন্ত্রণ করা যায়। ক্লাউড-হোস্টেড মডেল এবং অন-ডিভাইস মডেলগুলি বিভিন্ন কনফিগারেশন বিকল্প অফার করে।

কনফিগারেশনটি ইনস্ট্যান্সের জীবনকাল ধরে রক্ষণাবেক্ষণ করা হয়। যদি আপনি একটি ভিন্ন কনফিগারেশন ব্যবহার করতে চান, তাহলে সেই কনফিগারেশন দিয়ে একটি নতুন GenerativeModel ইনস্ট্যান্স তৈরি করুন।

ক্লাউড-হোস্টেড মডেলের জন্য কনফিগারেশন সেট করুন

ক্লাউড-হোস্টেড জেমিনি মডেল কনফিগার করতে inCloudParams বিকল্পটি ব্যবহার করুন। উপলব্ধ প্যারামিটারগুলি সম্পর্কে জানুন।

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "GEMINI_MODEL_NAME"
    temperature: 0.8,
    topK: 10
  }
});

একটি অন-ডিভাইস মডেলের জন্য কনফিগারেশন সেট করুন

মনে রাখবেন যে অন-ডিভাইস মডেল ব্যবহার করে অনুমান Chrome এর Prompt API ব্যবহার করে।

একটি অন-ডিভাইস মডেল কনফিগার করতে onDeviceParams বিকল্পটি ব্যবহার করুন। উপলব্ধ প্যারামিটার সম্পর্কে জানুন।

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  onDeviceParams: {
    createOptions: {
      temperature: 0.8,
      topK: 8
    }
  }
});

স্ট্রাকচার্ড আউটপুটের জন্য কনফিগারেশন সেট করুন (যেমন JSON)

ক্লাউড-হোস্টেড এবং অন-ডিভাইস উভয় মডেল ব্যবহার করে অনুমানের জন্য স্ট্রাকচার্ড আউটপুট (যেমন JSON এবং enums) তৈরি করা সমর্থিত।

হাইব্রিড ইনফারেন্সের জন্য, স্ট্রাকচার্ড আউটপুট সহ প্রতিক্রিয়া জানাতে মডেলটি কনফিগার করতে inCloudParams এবং onDeviceParams উভয়ই ব্যবহার করুন। অন্যান্য মোডের জন্য, শুধুমাত্র প্রযোজ্য কনফিগারেশন ব্যবহার করুন।

  • inCloudParams এর জন্য : উপযুক্ত responseMimeType (এই উদাহরণে, application/json ) এবং সেই responseSchema উল্লেখ করুন যা আপনি মডেলটি ব্যবহার করতে চান।

  • onDeviceParams এর জন্য : মডেলটি যে responseConstraint ব্যবহার করতে চান তা নির্দিষ্ট করুন।

JSON আউটপুট

নিম্নলিখিত উদাহরণটি হাইব্রিড ইনফারেন্সের জন্য সাধারণ JSON আউটপুট উদাহরণকে অভিযোজিত করে:

import {
  getAI,
  getGenerativeModel,
  Schema
} from "firebase/ai";

const jsonSchema = Schema.object({
 properties: {
    characters: Schema.array({
      items: Schema.object({
        properties: {
          name: Schema.string(),
          accessory: Schema.string(),
          age: Schema.number(),
          species: Schema.string(),
        },
        optionalProperties: ["accessory"],
      }),
    }),
  }
});

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "gemini-2.5-flash"
    generationConfig: {
      responseMimeType: "application/json",
      responseSchema: jsonSchema
    },
  }
  onDeviceParams: {
    promptOptions: {
      responseConstraint: jsonSchema
    }
  }
});
এনাম আউটপুট

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

// ...

const enumSchema = Schema.enumString({
  enum: ["drama", "comedy", "documentary"],
});

const model = getGenerativeModel(ai, {

// ...

    generationConfig: {
      responseMimeType: "text/x.enum",
      responseSchema: enumSchema
    },

// ...
});

// ...

ডিভাইসে থাকা অনুমানের জন্য বৈশিষ্ট্যগুলি এখনও উপলব্ধ নয়

একটি পরীক্ষামূলক রিলিজ হিসেবে, ওয়েব SDK-এর সমস্ত ক্ষমতা ডিভাইসে অনুমানের জন্য উপলব্ধ নয়। নিম্নলিখিত বৈশিষ্ট্যগুলি এখনও ডিভাইসে অনুমানের জন্য সমর্থিত নয় (তবে এগুলি সাধারণত ক্লাউড-ভিত্তিক অনুমানের জন্য উপলব্ধ)।

  • JPEG এবং PNG ব্যতীত অন্যান্য ইমেজ ফাইল ইনপুট প্রকার থেকে টেক্সট তৈরি করা হচ্ছে

    • ক্লাউড-হোস্টেড মডেলে ফিরে যেতে পারে; তবে, ONLY_ON_DEVICE মোড একটি ত্রুটি দেখাবে।
  • অডিও, ভিডিও এবং ডকুমেন্ট (যেমন পিডিএফ) ইনপুট থেকে টেক্সট তৈরি করা

    • ক্লাউড-হোস্টেড মডেলে ফিরে যেতে পারে; তবে, ONLY_ON_DEVICE মোড একটি ত্রুটি দেখাবে।
  • জেমিনি বা ইমেজেন মডেল ব্যবহার করে ছবি তৈরি করা

    • ক্লাউড-হোস্টেড মডেলে ফিরে যেতে পারে; তবে, ONLY_ON_DEVICE মোড একটি ত্রুটি দেখাবে।
  • মাল্টিমোডাল অনুরোধে URL ব্যবহার করে ফাইল সরবরাহ করা। আপনাকে অবশ্যই অন-ডিভাইস মডেলগুলিতে ইনলাইন ডেটা হিসাবে ফাইল সরবরাহ করতে হবে।

  • মাল্টি-টার্ন চ্যাট

    • ক্লাউড-হোস্টেড মডেলে ফিরে যেতে পারে; তবে, ONLY_ON_DEVICE মোড একটি ত্রুটি দেখাবে।
  • Gemini Live API এর মাধ্যমে দ্বি-মুখী স্ট্রিমিং

  • মডেলটিকে এমন সরঞ্জাম সরবরাহ করা যা এটির প্রতিক্রিয়া তৈরি করতে সাহায্য করবে (যেমন ফাংশন কলিং, কোড এক্সিকিউশন এবং গুগল সার্চের মাধ্যমে গ্রাউন্ডিং)

  • টোকেন গণনা করুন

    • সর্বদা একটি ত্রুটি ফেলে। ক্লাউড-হোস্টেড এবং অন-ডিভাইস মডেলের মধ্যে গণনা ভিন্ন হবে, তাই কোনও স্বজ্ঞাত ফলব্যাক নেই।
  • ডিভাইসে অনুমানের জন্য Firebase কনসোলে AI পর্যবেক্ষণ।

    • মনে রাখবেন যে ক্লাউড-হোস্টেড মডেল ব্যবহার করে যেকোনো অনুমান Firebase AI Logic ক্লায়েন্ট SDK for Web ব্যবহার করে অন্যান্য অনুমানের মতোই পর্যবেক্ষণ করা যেতে পারে।


Firebase AI Logic এর সাথে আপনার অভিজ্ঞতা সম্পর্কে মতামত দিন।