किसी मॉडल के व्यवहार को कंट्रोल करने के लिए, सिस्टम से जुड़े निर्देशों का इस्तेमाल करें

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

सिस्टम के निर्देश, सभी Gemini मॉडल के साथ काम करते हैं. ये Imagen मॉडल के साथ काम नहीं करते.

कोड के सैंपल पर जाएं


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

सिस्टम के निर्देशों का इस्तेमाल कई तरीकों से किया जा सकता है. जैसे:

  • किसी पर्सोना या भूमिका को तय करना (उदाहरण के लिए, चैटबॉट के लिए)
  • आउटपुट का फ़ॉर्मैट तय करना (मार्कडाउन, YAML वगैरह)
  • आउटपुट की स्टाइल और टोन तय करना (उदाहरण के लिए, शब्दों की संख्या, औपचारिकता, और पढ़ने का टारगेट लेवल)
  • टास्क के लिए लक्ष्य या नियम तय करना (उदाहरण के लिए, बिना किसी और जानकारी के कोड स्निपेट दिखाना)
  • प्रॉम्प्ट के लिए ज़्यादा जानकारी देना (उदाहरण के लिए, नॉलेज कटऑफ़)

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

सिस्टम के निर्देश सेट करना

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

सामान्य इस्तेमाल के मामलों के लिए, सिस्टम के निर्देश सेट करना

Swift

GenerativeModel इंस्टेंस बनाते समय, systemInstruction तय किया जाता है.


import FirebaseAILogic

// Specify the system instructions as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko.")
)

Kotlin

GenerativeModel इंस्टेंस बनाते समय, systemInstruction तय किया जाता है.


// Specify the system instructions as part of creating the `GenerativeModel` instance.
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
  modelName = "GEMINI_MODEL_NAME",
  systemInstruction = content { text("You are a cat. Your name is Neko.") }
)

Java

GenerativeModel इंस्टेंस बनाते समय, systemInstruction तय किया जाता है.


// Specify the system instructions as part of creating the `GenerativeModel` instance.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .generativeModel(
      /* modelName */ "GEMINI_MODEL_NAME",
      /* generationConfig (optional) */ null,
      /* safetySettings (optional) */ null,
      /* requestOptions (optional) */ new RequestOptions(),
      /* tools (optional) */ null,
      /* toolsConfig (optional) */ null,
      /* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
    );

GenerativeModelFutures model = GenerativeModelFutures.from(ai);

Web

GenerativeModel इंस्टेंस बनाते समय, systemInstruction तय किया जाता है.


// ...

const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Specify the system instructions as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, {
  model: "GEMINI_MODEL_NAME",
  systemInstruction: "You are a cat. Your name is Neko."
});

Dart

systemInstruction GenerativeModelइंस्टेंस बनाते समय, तय किया जाता है.


// ...

// Specify the system instructions as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.googleAI().generativeModel(
  model: 'GEMINI_MODEL_NAME',
  systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);

// ...

Unity

GenerativeModel इंस्टेंस बनाते समय, systemInstruction तय किया जाता है.


// ...

var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Specify the system instructions as part of creating the `GenerativeModel` instance.
var model = ai.GetGenerativeModel(
  modelName: "GEMINI_MODEL_NAME",
  systemInstruction: ModelContent.Text("You are a cat. Your name is Neko.")
);

Gemini Live API के लिए, सिस्टम के निर्देश सेट करना

Swift

LiveModel इंस्टेंस बनाते समय, systemInstruction तय किया जाता है.


// ...

// Specify the system instructions as part of creating the `liveModel` instance
let liveModel = FirebaseAI.firebaseAI(backend: .googleAI()).liveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko."),
  // ...
)

// ...

Kotlin

LiveModel इंस्टेंस बनाते समय, systemInstruction तय किया जाता है.


// ...

// Specify the system instructions as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
    modelName = "GEMINI_LIVE_MODEL_NAME",
    systemInstruction = content { text("You are a cat. Your name is Neko.") },
    // ...
)

// ...

Java

LiveModel इंस्टेंस बनाते समय, systemInstruction तय किया जाता है.


// ...

// Specify the system instructions as part of creating the `LiveModel` instance.
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.googleAI()).liveModel(
          /* modelName */ "GEMINI_LIVE_MODEL_NAME",
          /* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
          // ...
);

LiveModelFutures liveModel = LiveModelFutures.from(lm);

// ...

Web

LiveGenerativeModel इंस्टेंस बनाते समय, systemInstruction तय किया जाता है.


// ...

const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Specify the system instructions as part of creating the `LiveGenerativeModel` instance.
const liveModel = getLiveGenerativeModel(ai, {
  model: "GEMINI_LIVE_MODEL_NAME",
  systemInstruction: "You are a cat. Your name is Neko.",
  // ...
});

// ...

Dart

इंस्टेंस LiveGenerativeModel बनाते समय, systemInstruction तय किया जाता है.


// ...

// Specify the system instructions as part of creating the `liveGenerativeModel` instance.
final liveModel = FirebaseAI.googleAI().liveGenerativeModel(
  model: 'GEMINI_LIVE_MODEL_NAME',
  systemInstruction: Content.system('You are a cat. Your name is Neko.'),
  // ...
);

// ...

Unity

LiveModel इंस्टेंस बनाते समय, systemInstruction तय किया जाता है.


// ...

// Specify the system instructions as part of creating the `LiveModel` instance.
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetLiveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  systemInstruction: ModelContent.Text("You are a cat. Your name is Neko."),
  // ...
);

// ...

सिस्टम के निर्देशों के उदाहरण

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

कोड जनरेशन

  • सिस्टम का निर्देश:
    आप कोडिंग के विशेषज्ञ हैं. आपको फ़्रंटएंड इंटरफ़ेस के लिए कोड रेंडर करने में महारत हासिल है. जब मैं अपनी बनाई जाने वाली वेबसाइट के किसी कॉम्पोनेंट के बारे में बताऊं, तो कृपया उसे बनाने के लिए ज़रूरी एचटीएमएल और सीएसएस कोड दिखाएं. इस कोड के बारे में कोई जानकारी न दें. साथ ही, यूज़र इंटरफ़ेस (यूआई) डिज़ाइन के कुछ सुझाव भी दें.

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

संगीत से जुड़ा चैटबॉट

  • सिस्टम का निर्देश:
    आप संगीत के इतिहासकार के तौर पर जवाब देंगे. साथ ही, संगीत की अलग-अलग शैलियों के बारे में पूरी जानकारी देंगे और काम के उदाहरण देंगे. आपकी टोन उत्साहित और जोश से भरी होगी, ताकि संगीत का आनंद फैलाया जा सके. अगर कोई सवाल संगीत से जुड़ा नहीं है, तो जवाब में यह कहा जाना चाहिए, "मुझे इसकी जानकारी नहीं है."

  • उपयोगकर्ता का प्रॉम्प्ट:
    अगर किसी व्यक्ति का जन्म 1960 के दशक में हुआ था, तो उस समय संगीत की सबसे लोकप्रिय शैली कौनसी थी? बुलेट पॉइंट में पांच गानों की सूची बनाएं.

फ़ॉर्मैट किया गया डेटा जनरेट करना

  • सिस्टम का निर्देश:
    आप घर पर खाना बनाने वाले लोगों के लिए असिस्टेंट हैं. आपको सामग्री की सूची मिलती है और आप उन सामग्रियों का इस्तेमाल करके बनाई जा सकने वाली रेसिपी की सूची के साथ जवाब देते हैं. जिन रेसिपी के लिए किसी अतिरिक्त सामग्री की ज़रूरत नहीं होती उन्हें हमेशा उन रेसिपी से पहले दिखाया जाना चाहिए जिनके लिए अतिरिक्त सामग्री की ज़रूरत होती है.

    आपका जवाब, तीन रेसिपी वाला JSON ऑब्जेक्ट होना चाहिए. रेसिपी ऑब्जेक्ट का स्कीमा इस तरह होना चाहिए:

    • name: रेसिपी का नाम
    • usedIngredients: रेसिपी में इस्तेमाल की गई वे सामग्रियां जो सूची में दी गई थीं
    • otherIngredients: रेसिपी में इस्तेमाल की गई वे सामग्रियां जो सूची में नहीं दी गई थीं (अगर कोई अन्य सामग्री नहीं है, तो इसे छोड़ दिया जाता है)
    • description: रेसिपी की कम शब्दों में जानकारी. इसे इस तरह लिखा जाना चाहिए, जैसे इसे बेचा जा रहा हो
  • उपयोगकर्ता का प्रॉम्प्ट:

    • फ़्रोज़न ब्रोकली का 1 एलबी बैग
    • गाढ़ी क्रीम का 1 पिंट
    • चीज़ के टुकड़ों और स्लाइस का 1 एलबी पैक

कॉन्टेंट जनरेशन को कंट्रोल करने के अन्य विकल्प

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