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

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

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

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

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

---
बोली (आवाज़)
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 आउटपुट जनरेट करने के लिए इस सुविधा का इस्तेमाल किया जाता है. हालांकि, इसका इस्तेमाल वर्गीकरण के टास्क के लिए भी किया जा सकता है. जैसे, जब आपको मॉडल को किसी खास लेबल या टैग का इस्तेमाल करना हो.