Android অ্যাপে হাইব্রিড অভিজ্ঞতার জন্য কনফিগারেশন বিকল্প


এই পৃষ্ঠায় হাইব্রিড অভিজ্ঞতার জন্য নিম্নলিখিত কনফিগারেশন বিকল্পের বিবরণ দেওয়া আছে:

নিশ্চিত করুন যে আপনি হাইব্রিড অভিজ্ঞতা তৈরি করার জন্য শুরু করার গাইড সম্পূর্ণ করেছেন।

ইনফারেন্স মোড সেট করা

শুরু করার নির্দেশিকায় দেওয়া উদাহরণে PREFER_ON_DEVICE মোড ব্যবহার করা হয়েছে, কিন্তু এটি উপলভ্য চারটি ইনফারেন্স মোডের মধ্যে একটি।

উপলভ্য ইনফারেন্স মোডগুলি এখানে দেওয়া হল:

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

    Kotlin

    val config = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)
    

    Java

    InferenceMode mode = InferenceMode.PREFER_ON_DEVICE;
    OnDeviceConfig config = new OnDeviceConfig(mode);
    
  • ONLY_ON_DEVICE: ডিভাইসে উপলভ্য থাকলে এবং অনুরোধের ধরন কাজ করলে, ডিভাইসে থাকা মডেল ব্যবহার করার চেষ্টা করুন। অন্যথায়, ব্যতিক্রম দেখান।

    Kotlin

    val config = OnDeviceConfig(mode = InferenceMode.ONLY_ON_DEVICE)
    

    Java

    InferenceMode mode = InferenceMode.ONLY_ON_DEVICE;
    OnDeviceConfig config = new OnDeviceConfig(mode);
    
  • PREFER_IN_CLOUD: ডিভাইস অনলাইন থাকলে এবং মডেল উপলভ্য হলে, ক্লাউড-হোস্ট করা মডেল ব্যবহার করার চেষ্টা করুন। ডিভাইস অফলাইন থাকলে, ডিভাইসে সেভ করা মডেল ব্যবহার করুন। অন্যান্য সব ব্যর্থতার ক্ষেত্রে, একটি ব্যতিক্রম থ্রো করুন।

    Kotlin

    val config = OnDeviceConfig(mode = InferenceMode.PREFER_IN_CLOUD)
    

    Java

    InferenceMode mode = InferenceMode.PREFER_IN_CLOUD;
    OnDeviceConfig config = new OnDeviceConfig(mode);
    
  • ONLY_IN_CLOUD: ডিভাইস অনলাইন থাকলে এবং মডেল উপলভ্য হলে, ক্লাউড-হোস্ট করা মডেল ব্যবহার করার চেষ্টা করুন। অন্যথায়, ব্যতিক্রম দেখান।

    Kotlin

    val config = OnDeviceConfig(mode = InferenceMode.ONLY_IN_CLOUD)
    

    Java

    InferenceMode mode = InferenceMode.ONLY_IN_CLOUD;
    OnDeviceConfig config = new OnDeviceConfig(mode);
    

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

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

আপনি এই প্রপার্টি অ্যাক্সেস করলে, রিটার্ন করা ভ্যালু ON_DEVICE অথবা IN_CLOUD হবে।

Kotlin

// ...

print("You used: ${result.response.inferenceSource}")

print(result.response.text)

Java

// ...

System.out.println("You used: " + result.getResponse().getInferenceSource());

System.out.println(result.getResponse().getText());

ব্যবহার করার জন্য একটি মডেল নির্দিষ্ট করুন

এই পৃষ্ঠায় প্রদানকারী-নির্দিষ্ট কন্টেন্ট ও কোড দেখতে আপনার Gemini API প্রদানকারীর আইকনে ক্লিক করুন।

generativeModel ইনস্ট্যান্স (Kotlin | Java) তৈরি করার সময় ব্যবহার করার জন্য আপনি কোনও মডেল নির্দিষ্ট করতে পারবেন।

  • ক্লাউড-হোস্টেড মডেল নির্দিষ্ট করুন:

    • আপনার ইনফারেন্স মোড PREFER_ON_DEVICE, PREFER_IN_CLOUD বা ONLY_IN_CLOUD হলে, আপনাকে ব্যবহার করার জন্য অবশ্যই ক্লাউড-হোস্ট করা মডেল স্পষ্টভাবে নির্দিষ্ট করতে হবে। SDK-তে কোনও ডিফল্ট ক্লাউড-হোস্টেড মডেল নেই।

    • সব ক্লাউড-হোস্ট করা Gemini মডেলের নাম দেখুন।

  • অন-ডিভাইস মডেল নির্দিষ্ট করুন:

    • আপনার ইনফারেন্স মোড PREFER_ON_DEVICE, PREFER_IN_CLOUD অথবা ONLY_ON_DEVICE হলে, আপনি ব্যবহার করার জন্য onDeviceConfig-এ ঐচ্ছিকভাবে অন-ডিভাইস মডেলের "বিভাগ" নির্দিষ্ট করতে পারবেন। রিলিজের স্টেজ ও পারফর্ম্যান্সের বৈশিষ্ট্য একত্রিত করে বিভাগ তৈরি করা হয়।

    • নিচে ব্যবহার করা যায় এমন বিভাগীয় ভ্যালু তালিকাভুক্ত করা হল।
      AICore, নির্দিষ্ট বিভাগের শর্ত পূরণ করে এবং ডিভাইসে কাজ করে এমন অন-ডিভাইস মডেল অটোমেটিক বেছে নেয়। যেমন, আপনি যদি PREVIEW উল্লেখ করেন এবং ডিভাইসটি Pixel 9 হয়, তাহলে Gemini Nano 4 Full [Preview] (nano-v4-full) সম্ভবত অটোমেটিক বেছে নেওয়া হবে।

      • STABLE: ডিভাইসে থাকা লেটেস্ট স্থিতিশীল মডেল।

        • সম্পূর্ণ পরীক্ষা করা হয়েছে এবং গ্রাহকের ডিভাইসে ব্যবহার করা যাবে।

        • যেমন, Gemini Nano 3 (nano-v3) অথবা Gemini Nano 2 (nano-v2)।

        • কোনও OnDeviceModelOption নির্দিষ্ট করা না থাকলে, ডিভাইসে থাকা মডেলের জন্য ডিফল্ট সেটিং।

      • PREVIEW: সম্পূর্ণ পারফর্ম্যান্স ক্ষমতা সহ ডিভাইসে থাকা লেটেস্ট প্রিভিউ মডেল।

        • আরও বেশি যুক্তিনির্ভর কারণ নির্ণয় ও জটিল টাস্কের জন্য ডিজাইন করা হয়েছে।

        • যেমন, Gemini Nano 4 Full [Preview] (nano-v4-full, যা Gemma 4 E4B-এর উপর ভিত্তি করে তৈরি করা হয়েছে)।

      • PREVIEW_FAST: ডিভাইসে থাকা দ্রুত কাজ করে এমন লেটেস্ট প্রিভিউ মডেল।

        • সর্বাধিক স্পিড ও কম লেটেন্সির জন্য অপ্টিমাইজ করা হয়েছে।

        • যেমন, Gemini Nano 4 Fast [Preview] (nano-v4-fast, যা Gemma 4 E2B-এর উপর ভিত্তি করে তৈরি করা হয়েছে)।

Kotlin

val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel(
        // Specify a cloud-hosted model.
        // Required for `PREFER_ON_DEVICE`, `PREFER_IN_CLOUD`, and `ONLY_IN_CLOUD` inference modes.
        modelName = "CLOUD_MODEL_NAME",
        onDeviceConfig = OnDeviceConfig(
            mode = InferenceMode.INFERENCE_MODE,
            // (Optional) Specify an on-device model category.
            // AICore will auto-select an on-device model based on this category.
            // If not specified, AICore will auto-select the default stable on-device model.
            modelOption = OnDeviceModelOption.ON-DEVICE_MODEL_CATEGORY)
    )

Java

GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .generativeModel(
        // Specify a cloud-hosted model.
        // Required for `PREFER_ON_DEVICE`, `PREFER_IN_CLOUD`, and `ONLY_IN_CLOUD` inference modes.
        "CLOUD_MODEL_NAME",
        /* config = */ null,
        /* safetySettings = */ null,
        /* tools = */ null,
        /* toolConfig = */ null,
        /* systemInstruction = */ null,
        /* requestOptions = */ new RequestOptions(),
        new OnDeviceConfig(
                /* mode = */ InferenceMode.INFERENCE_MODE,
                /* maxOutputTokens = */ null,
                /* temperature = */ null,
                /* topK = */ null,
                /* seed = */ null,
                /* candidateCount = */ 1,
                // (Optional) Specify an on-device model category.
                // AICore will auto-select an on-device model based on this category.
                // If not specified, AICore will auto-select the default stable on-device model.
                /* modelOption = */ OnDeviceModelOption.ON-DEVICE_MODEL_CATEGORY)
    );

GenerativeModelFutures model = GenerativeModelFutures.from(ai);

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

এই পৃষ্ঠায় প্রদানকারী-নির্দিষ্ট কন্টেন্ট ও কোড দেখতে আপনার Gemini API প্রদানকারীর আইকনে ক্লিক করুন।

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

  • ক্লাউড-হোস্ট করা মডেল: generationConfig (Kotlin | Java) ব্যবহার করে কনফিগারেশন সেট করুন। উপলভ্য প্যারামিটার সম্পর্কে জানুন।

  • ডিভাইসে থাকা মডেল: onDeviceConfig (Kotlin | Java) ব্যবহার করে কনফিগারেশন সেট করুন। উপলভ্য প্যারামিটার সম্পর্কে জানুন (Kotlin | Java)।

ইনস্ট্যান্সের লাইফটাইম ধরে কনফিগারেশন বজায় রাখা হয়। আপনি অন্য কোনও কনফিগারেশন ব্যবহার করতে চাইলে, সেই কনফিগারেশন দিয়ে নতুন GenerativeModel ইনস্ট্যান্স তৈরি করুন।

এখানে এমন একটি উদাহরণ দেওয়া হল যা ক্লাউড-হোস্টেড এবং অন-ডিভাইস মডেলের জন্য কনফিগারেশন সেট করে যা PREFER_ON_DEVICE ইনফারেন্স মোড সেট করা হলে ব্যবহার করা যেতে পারে:

Kotlin

// Config for cloud-hosted model
val generationConfig = generationConfig {
    maxOutputTokens = 200
    stopSequences = listOf("red")
}

// Config for on-device model
val onDeviceConfig = OnDeviceConfig(
    mode = InferenceMode.PREFER_ON_DEVICE,
    maxOutputTokens = 200
)

val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel(
        modelName = "CLOUD_MODEL_NAME",
        generationConfig = generationConfig,
        onDeviceConfig = onDeviceConfig
    )

Java

// Config for cloud-hosted model
GenerationConfig generationConfig = new GenerationConfig.Builder()
    .setMaxOutputTokens(200)
    .setStopSequences(List.of("red"))
    .build();

// Config for on-device model
OnDeviceConfig onDeviceConfig = new OnDeviceConfig(
    /* mode = */ InferenceMode.PREFER_ON_DEVICE,
    /* maxOutputTokens = */ 200,
    /* temperature = */ null,
    /* topK = */ null,
    /* seed = */ null,
    /* candidateCount = */ 1,
    /* modelOption = */ null
);

GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .generativeModel(
        "CLOUD_MODEL_NAME",
        generationConfig,
        /* safetySettings = */ null,
        /* tools = */ null,
        /* toolConfig = */ null,
        /* systemInstruction = */ null,
        /* requestOptions = */ new RequestOptions(),
        onDeviceConfig
    );

GenerativeModelFutures model = GenerativeModelFutures.from(ai);


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


অন্য কিছু উল্লেখ না করা থাকলে, এই পৃষ্ঠার কন্টেন্ট Creative Commons Attribution 4.0 License-এর অধীনে এবং কোডের নমুনাগুলি Apache 2.0 License-এর অধীনে লাইসেন্স প্রাপ্ত। আরও জানতে, Google Developers সাইট নীতি দেখুন। Java হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।

2026-10-09 UTC-তে শেষবার আপডেট করা হয়েছে।