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

मॉडल को किए गए हर कॉल में, मॉडल कॉन्फ़िगरेशन भेजा जा सकता है. इससे यह कंट्रोल किया जा सकता है कि मॉडल किस तरह से जवाब जनरेट करे. हर मॉडल में कॉन्फ़िगरेशन के अलग-अलग विकल्प होते हैं.

Google AI Studio का इस्तेमाल करके, प्रॉम्प्ट और मॉडल कॉन्फ़िगरेशन के साथ एक्सपेरिमेंट भी किया जा सकता है.

Gemini कॉन्फ़िगरेशन के विकल्पों पर जाएं Imagen कॉन्फ़िगरेशन के विकल्पों पर जाएं



Gemini मॉडल कॉन्फ़िगर करना

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

इस सेक्शन में, Gemini मॉडल के साथ इस्तेमाल करने के लिए, कॉन्फ़िगरेशन सेट अप करने का तरीका बताया गया है. साथ ही, हर पैरामीटर के बारे में जानकारी दी गई है.

मॉडल कॉन्फ़िगरेशन सेट अप करना (Gemini)

इस्तेमाल के सामान्य उदाहरणों के लिए कॉन्फ़िगरेशन

कॉन्फ़िगरेशन को इंस्टेंस के लाइफ़टाइम के लिए बनाए रखा जाता है. अगर आपको किसी दूसरे कॉन्फ़िगरेशन का इस्तेमाल करना है, तो उस कॉन्फ़िगरेशन के साथ एक नया GenerativeModel इंस्टेंस बनाएं.

Swift

GenerativeModel इंस्टेंस बनाते समय, GenerationConfig में पैरामीटर की वैल्यू सेट करें.


import FirebaseAI

// Set parameter values in a `GenerationConfig` (example values shown here)
let config = GenerationConfig(
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
  maxOutputTokens: 200,
  stopSequences: ["red"]
)

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

GenerativeModel इंस्टेंस बनाते समय, GenerationConfig में पैरामीटर की वैल्यू सेट करें.


// ...

// Set parameter values in a `GenerationConfig` (example values shown here)
val config = generationConfig {
    maxOutputTokens = 200
    stopSequences = listOf("red")
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    generationConfig = config
)

// ...

Java

GenerativeModel इंस्टेंस बनाते समय, GenerationConfig में पैरामीटर की वैल्यू सेट करें.


// ...

// Set parameter values in a `GenerationConfig` (example values shown here)
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;

GenerationConfig config = configBuilder.build();

// Specify the config as part of creating the `GenerativeModel` instance
GenerativeModelFutures model = GenerativeModelFutures.from(
        FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .generativeModel(
                    "GEMINI_MODEL_NAME",
                    config
                );
);

// ...

Web

GenerativeModel इंस्टेंस बनाते समय, GenerationConfig में पैरामीटर की वैल्यू सेट करें.


// ...

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

// Set parameter values in a `GenerationConfig` (example values shown here)
const generationConfig = {
  max_output_tokens: 200,
  stop_sequences: ["red"],
  temperature: 0.9,
  top_p: 0.1,
  top_k: 16,
};

// Specify the config as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, { model: "GEMINI_MODEL_NAME",  generationConfig });

// ...

Dart

GenerativeModel इंस्टेंस बनाते समय, GenerationConfig में पैरामीटर की वैल्यू सेट करें.


// ...

// Set parameter values in a `GenerationConfig` (example values shown here)
final generationConfig = GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: ["red"],
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
);

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
final model = FirebaseAI.googleAI().generativeModel(
  model: 'GEMINI_MODEL_NAME',
  config: generationConfig,
);

// ...

Unity

GenerativeModel इंस्टेंस बनाते समय, GenerationConfig में पैरामीटर की वैल्यू सेट करें.


// ...

// Set parameter values in a `GenerationConfig` (example values shown here)
var generationConfig = new GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" },
  temperature: 0.9f,
  topK: 16,
  topP: 0.1f
);

// Specify the config as part of creating the `GenerativeModel` instance
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
var model = ai.GetGenerativeModel(
  modelName: "GEMINI_MODEL_NAME",
  generationConfig: generationConfig
);

इस पेज के अगले सेक्शन में, हर पैरामीटर के बारे में जानकारी दी गई है.

Gemini Live API के लिए कॉन्फ़िगरेशन

पैरामीटर की जानकारी (Gemini)

यहां उपलब्ध पैरामीटर के बारे में खास जानकारी दी गई है. Gemini Developer API के दस्तावेज़ में, आपको पैरामीटर और उनकी वैल्यू की पूरी सूची मिल सकती है.

पैरामीटर ब्यौरा डिफ़ॉल्ट वैल्यू
ऑडियो टाइमस्टैंप
audioTimestamp

यह एक बूलियन है, जो सिर्फ़ ऑडियो वाले इनपुट फ़ाइलों के लिए टाइमस्टैंप समझने की सुविधा चालू करता है.

यह सुविधा सिर्फ़ generateContent या generateContentStream कॉल का इस्तेमाल करने पर लागू होती है. साथ ही, इनपुट टाइप सिर्फ़ ऑडियो फ़ाइल होना चाहिए.

false
फ़्रीक्वेंसी पेनल्टी
frequencyPenalty
इससे जनरेट किए गए जवाब में, बार-बार दिखने वाले टोकन को शामिल करने की संभावना को कंट्रोल किया जाता है.
पॉज़िटिव वैल्यू, जनरेट किए गए कॉन्टेंट में बार-बार दिखने वाले टोकन को दंडित करती हैं. इससे कॉन्टेंट को दोहराने की संभावना कम हो जाती है.
---
ज़्यादा से ज़्यादा आउटपुट टोकन
maxOutputTokens
इससे जवाब में जनरेट किए जा सकने वाले टोकन की ज़्यादा से ज़्यादा संख्या तय की जाती है. ---
मौजूदगी की पेनल्टी
presencePenalty
इससे यह कंट्रोल किया जाता है कि जनरेट किए गए जवाब में, पहले से मौजूद टोकन को शामिल करने की कितनी संभावना है.
पॉज़िटिव वैल्यू, जनरेट किए गए कॉन्टेंट में पहले से मौजूद टोकन को दंडित करती हैं. इससे अलग-अलग तरह का कॉन्टेंट जनरेट होने की संभावना बढ़ जाती है.
---
जवाब जनरेट होने के बाद रुकने के लिए इस्तेमाल किए जाने वाले शब्द
stopSequences

यह विकल्पों की एक ऐसी सूची होती है जो मॉडल को यह निर्देश देती है कि अगर जवाब में इनमें से कोई विकल्प दिखता है, तो कॉन्टेंट जनरेट करना बंद कर दे.

यह सिर्फ़ तब लागू होता है, जब GenerativeModel कॉन्फ़िगरेशन का इस्तेमाल किया जा रहा हो.

---
तापमान
temperature
इससे जवाब में रैंडमनेस को कंट्रोल किया जाता है.
टेंपरेचर कम होने पर, जवाब ज़्यादा सटीक होते हैं. वहीं, टेंपरेचर ज़्यादा होने पर, जवाब अलग-अलग तरह के या क्रिएटिव होते हैं.
यह मॉडल पर निर्भर करता है
टॉप-के
topK
इससे जनरेट किए गए कॉन्टेंट में, सबसे ज़्यादा संभावना वाले शब्दों की संख्या सीमित हो जाती है.
टॉप-K वैल्यू 1 का मतलब है कि चुना गया अगला टोकन, मॉडल की शब्दावली में मौजूद सभी टोकन में से सबसे ज़्यादा संभावित होना चाहिए. वहीं, टॉप-K वैल्यू n का मतलब है कि अगला टोकन, n सबसे ज़्यादा संभावित टोकन में से चुना जाना चाहिए. ये सभी, सेट किए गए तापमान पर आधारित होते हैं.
यह मॉडल पर निर्भर करता है
Top-P
topP
इससे जनरेट किए गए कॉन्टेंट की विविधता को कंट्रोल किया जाता है.
टोकन, सबसे ज़्यादा संभावना वाले (ऊपर टॉप-K देखें) से लेकर सबसे कम संभावना वाले तक चुने जाते हैं. ऐसा तब तक किया जाता है, जब तक उनकी संभावनाओं का योग, टॉप-P वैल्यू के बराबर न हो जाए.
यह मॉडल पर निर्भर करता है
जवाब देने का तरीका
responseModality

इससे यह तय होता है कि Live API या Gemini मॉडल के नेटिव मल्टीमॉडल आउटपुट का इस्तेमाल करते समय, स्ट्रीम किए गए आउटपुट का टाइप क्या होगा. जैसे, टेक्स्ट, ऑडियो या इमेज.

यह सुविधा सिर्फ़ तब काम करती है, जब Live API और LiveModel कॉन्फ़िगरेशन का इस्तेमाल किया जा रहा हो. इसके अलावा, यह सुविधा तब भी काम करती है, जब मल्टीमॉडल आउटपुट देने में सक्षम Gemini मॉडल का इस्तेमाल किया जा रहा हो.

---
स्पीच (आवाज़)
speechConfig

इस विकल्प से यह तय किया जाता है कि Live API का इस्तेमाल करते समय, स्ट्रीम किए गए ऑडियो आउटपुट के लिए किस आवाज़ का इस्तेमाल किया जाएगा.

यह सिर्फ़ तब लागू होता है, जब Live API और LiveModel कॉन्फ़िगरेशन का इस्तेमाल किया जा रहा हो.

Puck



Imagen मॉडल कॉन्फ़िगर करना

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

इस सेक्शन में, Imagen मॉडल के साथ इस्तेमाल करने के लिए, कॉन्फ़िगरेशन सेट अप करने का तरीका बताया गया है. साथ ही, हर पैरामीटर के बारे में जानकारी दी गई है.

मॉडल कॉन्फ़िगरेशन सेट अप करना (Imagen)

कॉन्फ़िगरेशन को इंस्टेंस के लाइफ़टाइम के लिए बनाए रखा जाता है. अगर आपको किसी दूसरे कॉन्फ़िगरेशन का इस्तेमाल करना है, तो उस कॉन्फ़िगरेशन के साथ एक नया ImagenModel इंस्टेंस बनाएं.

Swift

ImagenModel इंस्टेंस बनाते समय, ImagenGenerationConfig में पैरामीटर की वैल्यू सेट करें.


import FirebaseAI

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
let config = ImagenGenerationConfig(
  negativePrompt: "frogs",
  numberOfImages: 2,
  aspectRatio: .landscape16x9,
  imageFormat: .jpeg(compressionQuality: 100),
  addWatermark: false
)

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).imagenModel(
  modelName: "IMAGEN_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

ImagenModel इंस्टेंस बनाते समय, ImagenGenerationConfig में पैरामीटर की वैल्यू सेट करें.


// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
val config = ImagenGenerationConfig {
    negativePrompt = "frogs",
    numberOfImages = 2,
    aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
    imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
    addWatermark = false
}

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
    modelName = "IMAGEN_MODEL_NAME",
    generationConfig = config
)

// ...

Java

ImagenModel इंस्टेंस बनाते समय, ImagenGenerationConfig में पैरामीटर की वैल्यू सेट करें.


// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
    .setNegativePrompt("frogs")
    .setNumberOfImages(2)
    .setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
    .setImageFormat(ImagenImageFormat.jpeg(100))
    .setAddWatermark(false)
    .build();

// Specify the config as part of creating the `ImagenModel` instance
ImagenModelFutures model = ImagenModelFutures.from(
        FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .imagenModel(
                    "IMAGEN_MODEL_NAME",
                    config
                );
);

// ...

Web

ImagenModel इंस्टेंस बनाते समय, ImagenGenerationConfig में पैरामीटर की वैल्यू सेट करें.


// ...

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

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
const generationConfig = {
  negativePrompt: "frogs",
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.LANDSCAPE_16x9,
  imageFormat: ImagenImageFormat.jpeg(100),
  addWatermark: false
};

// Specify the config as part of creating the `ImagenModel` instance
const model = getImagenModel(ai, { model: "IMAGEN_MODEL_NAME", generationConfig });

// ...

Dart

ImagenModel इंस्टेंस बनाते समय, ImagenGenerationConfig में पैरामीटर की वैल्यू सेट करें.


// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
final generationConfig = ImagenGenerationConfig(
  negativePrompt: 'frogs',
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.landscape16x9,
  imageFormat: ImagenImageFormat.jpeg(compressionQuality: 100)
  addWatermark: false
);

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
final model = FirebaseAI.googleAI().imagenModel(
  model: 'IMAGEN_MODEL_NAME',
  config: generationConfig,
);

// ...

Unity

फ़िलहाल, Unity के लिए Imagen का इस्तेमाल नहीं किया जा सकता. हालांकि, यह सुविधा जल्द ही उपलब्ध होगी!

इस पेज के अगले सेक्शन में, हर पैरामीटर के बारे में जानकारी दी गई है.

पैरामीटर की जानकारी (Imagen)

यहां उपलब्ध पैरामीटर के बारे में खास जानकारी दी गई है. आपको Google Cloud के दस्तावेज़ में, पैरामीटर और उनकी वैल्यू की पूरी सूची मिल सकती है.

पैरामीटर ब्यौरा डिफ़ॉल्ट वैल्यू
नेगेटिव प्रॉम्प्ट
negativePrompt
जनरेट की गई इमेज में आपको जो नहीं चाहिए उसके बारे में जानकारी

यह पैरामीटर, फ़िलहाल imagen-3.0-generate-002 के साथ काम नहीं करता.

---
नतीजों की संख्या
numberOfImages
हर अनुरोध के लिए, जनरेट की गई इमेज की संख्या Imagen 3 मॉडल के लिए, डिफ़ॉल्ट रूप से एक इमेज होती है
आसपेक्ट रेशियो
aspectRatio
जनरेट की गई इमेज की चौड़ाई और ऊंचाई का अनुपात डिफ़ॉल्ट रूप से स्क्वेयर (1:1) होता है
इमेज का फ़ॉर्मैट
imageFormat
आउटपुट के विकल्प, जैसे कि इमेज का फ़ॉर्मैट (MIME टाइप) और जनरेट की गई इमेज के कंप्रेस होने का लेवल डिफ़ॉल्ट MIME टाइप PNG है
डिफ़ॉल्ट कंप्रेशन 75 है (अगर MIME टाइप को JPEG पर सेट किया गया है)
वॉटरमार्क
addWatermark
जनरेट की गई इमेज में, न दिखने वाला डिजिटल वॉटरमार्क (जिसे SynthID कहा जाता है) जोड़ना है या नहीं Imagen 3 मॉडल के लिए, डिफ़ॉल्ट रूप से true सेट होता है
व्यक्ति की इमेज जनरेट करना
personGeneration
क्या मॉडल को लोगों की इमेज जनरेट करने की अनुमति देनी है डिफ़ॉल्ट वैल्यू, मॉडल पर निर्भर करती है



कॉन्टेंट जनरेट करने की सुविधा को कंट्रोल करने के अन्य विकल्प

  • प्रॉम्प्ट डिज़ाइन के बारे में ज़्यादा जानें, ताकि मॉडल को अपनी ज़रूरतों के हिसाब से आउटपुट जनरेट करने के लिए कहा जा सके.
  • सुरक्षा सेटिंग का इस्तेमाल करके, ऐसे जवाब मिलने की संभावना को कम करें जिन्हें नुकसान पहुंचाने वाला माना जा सकता है. जैसे, नफ़रत फैलाने वाली भाषा और साफ़ तौर पर सेक्शुअल ऐक्ट दिखाने वाला कॉन्टेंट.
  • मॉडल के व्यवहार को कंट्रोल करने के लिए, सिस्टम के निर्देश सेट करें. यह सुविधा, एक तरह की प्रस्तावना है. इसे आपको मॉडल को असली उपयोगकर्ता से मिलने वाले किसी भी निर्देश से पहले जोड़ना होता है.
  • किसी खास आउटपुट स्कीमा के बारे में बताने के लिए, प्रॉम्प्ट के साथ जवाब का स्कीमा पास करें. इस सुविधा का इस्तेमाल आम तौर पर तब किया जाता है, जब JSON आउटपुट जनरेट करना हो. हालांकि, इसका इस्तेमाल क्लासिफ़िकेशन टास्क के लिए भी किया जा सकता है. जैसे, जब आपको मॉडल से खास लेबल या टैग का इस्तेमाल करवाना हो.