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

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

सिस्टम के निर्देशों का इस्तेमाल सभी 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

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


// ...

// 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."),
  // ...
);

// ...

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

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

कोड जनरेट करना

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

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

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

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

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

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

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

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

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

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

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

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