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` इंस्टेंस बनाते समय, आपको इस्तेमाल करने के लिए, क्लाउड मॉडल के बारे में साफ़ तौर पर जानकारी देनी होगी.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 प्रोवाइडर के हिसाब से कॉन्टेंट और कोड देखने के लिए, उस पर क्लिक करें.

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

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