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

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

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

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


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

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

  • किसी पर्सोना या भूमिका को तय करना (उदाहरण के लिए, चैटबॉट के लिए)
  • आउटपुट फ़ॉर्मैट तय करना (मार्कडाउन, 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 पिंट गाढ़ी क्रीम
    • चीज़ के टुकड़ों का 1 पाउंड का पैक

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

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