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


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

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

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

শুরু করার নির্দেশিকার উদাহরণগুলিতে 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 : যদি অন-ডিভাইস মডেলটি উপলব্ধ থাকে এবং অনুরোধের ধরণটি সমর্থন করে, তবে সেটি ব্যবহার করার চেষ্টা করুন। অন্যথায়, একটি ব্যতিক্রম (exception) নিক্ষেপ করুন

    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());

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

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

যদি আপনার প্রাথমিক বা ফলব্যাক ইনফারেন্স কোনো ক্লাউড-হোস্টেড মডেল দ্বারা সম্পাদিত হওয়ার সম্ভাবনা থাকে, তাহলে generativeModel ইনস্ট্যান্স তৈরি করার সময় আপনাকে ব্যবহারের জন্য একটি ক্লাউড মডেল স্পষ্টভাবে উল্লেখ করতে হবে।

Kotlin

val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel(
        modelName = "MODEL_NAME",
        onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)
    )

Java

GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .generativeModel(
        "MODEL_NAME",
        new OnDeviceConfig(InferenceMode.PREFER_ON_DEVICE)
    );

GenerativeModelFutures model = GenerativeModelFutures.from(ai);

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

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

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

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

ক্লাউড-হোস্টেড মডেলগুলির ক্ষেত্রে, সেগুলির কনফিগারেশন সরাসরি মডেলের কনফিগারেশনেই সেট করুন। তবে, অন-ডিভাইস মডেলগুলির ক্ষেত্রে, সেগুলির কনফিগারেশন একটি onDeviceConfig মধ্যে সেট করুন।

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

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

Kotlin

val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel("MODEL_NAME",
        // Config for cloud-hosted model
        generationConfig = generationConfig {
          temperature = 0.8f,
          topK = 10
        },
        // Config for on-device model
        onDeviceConfig = onDeviceConfig {
          mode = InferenceMode.PREFER_ON_DEVICE,
          temperature = 0.8f,
          topK = 5
        })

Java

// Config for cloud-hosted model
GenerationConfig generationConfig = new GenerationConfig.Builder()
    .setTemperature(0.8f)
    .setTopK(10)
    .build();

// Config for on-device model
OnDeviceConfig onDeviceConfig = new OnDeviceConfig.Builder()
    .setMode(InferenceMode.PREFER_ON_DEVICE)
    .setTemperature(0.8f)
    .setTopK(5)
    .build();

GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .generativeModel(
        "MODEL_NAME",
        generationConfig,
        onDeviceConfig
    );

GenerativeModelFutures model = GenerativeModelFutures.from(ai);