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 उपलब्ध कराने वाली कंपनी के हिसाब से कॉन्टेंट और कोड देखने के लिए, Gemini API उपलब्ध कराने वाली कंपनी पर क्लिक करें.

अगर क्लाउड पर होस्ट किए गए मॉडल से प्राइमरी या फ़ॉलबैक अनुमान लगाया जा सकता है, तो आपको 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);

Gemini के साथ काम करने वाले सभी मॉडल के नाम ढूंढें.

जवाबों को कंट्रोल करने के लिए, मॉडल कॉन्फ़िगरेशन का इस्तेमाल करना

इस पेज पर, Gemini API उपलब्ध कराने वाली कंपनी के हिसाब से कॉन्टेंट और कोड देखने के लिए, Gemini API उपलब्ध कराने वाली कंपनी पर क्लिक करें.

मॉडल को किए गए हर अनुरोध में, मॉडल कॉन्फ़िगरेशन भेजा जा सकता है. इससे यह कंट्रोल किया जा सकता है कि मॉडल जवाब कैसे जनरेट करे. क्लाउड पर होस्ट किए गए मॉडल और डिवाइस पर मौजूद मॉडल, कॉन्फ़िगरेशन के अलग-अलग विकल्प देते हैं (क्लाउड बनाम डिवाइस पर मौजूद पैरामीटर).

क्लाउड पर होस्ट किए गए मॉडल के लिए, उनके कॉन्फ़िगरेशन को सीधे मॉडल के कॉन्फ़िगरेशन में सेट करें. हालांकि, डिवाइस पर मौजूद मॉडल के लिए, उनके कॉन्फ़िगरेशन को 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);