सुरक्षा की सेटिंग

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

इस गाइड में बताया गया है कि Gemini API, सुरक्षा सेटिंग और फ़िल्टर करने की प्रक्रियाओं को कैसे मैनेज करता है. अपने ऐप्लिकेशन के लिए सुरक्षा सेटिंग कैसे बदली जा सकती हैं.

सुरक्षा फ़िल्टर

Gemini API के सुरक्षा के लिए अडजस्ट किए जा सकने वाले फ़िल्टर, इन कैटगरी में आते हैं:

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

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

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

कॉन्टेंट की सुरक्षा के लिए फ़िल्टर करने का लेवल

Gemini API, कॉन्टेंट के असुरक्षित होने की संभावना के लेवल को इस कैटगरी में रखता है HIGH, MEDIUM, LOW या NEGLIGIBLE.

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

  1. रोबोट ने मुझे मारा.
  2. रोबोट ने मुझे मार दिया.

पहले वाक्य का इस्तेमाल करने पर, कॉन्टेंट के असुरक्षित होने की संभावना बढ़ सकती है, लेकिन दूसरे वाक्य को हिंसा के मामले में ज़्यादा गंभीरता से लिया जा सकता है. इसलिए, यह ज़रूरी है कि आप इस बात की अच्छी तरह से जाँच करें कि आपके मुख्य इस्तेमाल के उदाहरणों के लिए, ब्लॉक करने के उचित लेवल की ज़रूरत होती है, असली उपयोगकर्ताओं को कम से कम नुकसान पहुंचाना.

हर अनुरोध के हिसाब से सुरक्षा के लिए फ़िल्टर करना

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

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

नीचे दिए गए टेबल में उन ब्लॉक सेटिंग के बारे में बताया गया है जिन्हें हर एक सेटिंग के लिए बदला जा सकता है श्रेणी. उदाहरण के लिए, अगर आप ब्लॉक सेटिंग को ब्लॉक करें पर सेट करते हैं, तो नफ़रत फैलाने वाली भाषा की कैटगरी में ऐसी हर चीज़ जिसमें नफ़रत होने की संभावना बहुत ज़्यादा होती है बोली वाली सामग्री ब्लॉक है. हालांकि, कम संभावना वाली हर चीज़ की अनुमति है.

थ्रेशोल्ड (Google AI Studio) थ्रेशोल्ड (एपीआई) ब्यौरा
किसी को ब्लॉक न करें BLOCK_NONE असुरक्षित कॉन्टेंट की संभावना पर ध्यान दिए बिना हमेशा दिखाएं
कुछ को ब्लॉक करें BLOCK_ONLY_HIGH असुरक्षित कॉन्टेंट ज़्यादा होने की संभावना होने पर ब्लॉक करें
कुछ लोगों को ब्लॉक करें BLOCK_MEDIUM_AND_ABOVE असुरक्षित कॉन्टेंट होने की सामान्य या ज़्यादा संभावना होने पर ब्लॉक करें
ज़्यादातर को ब्लॉक करें BLOCK_LOW_AND_ABOVE असुरक्षित कॉन्टेंट होने की संभावना कम, सामान्य या ज़्यादा होने पर ब्लॉक करें
लागू नहीं HARM_BLOCK_THRESHOLD_UNSPECIFIED थ्रेशोल्ड तय नहीं किया गया है. डिफ़ॉल्ट थ्रेशोल्ड का इस्तेमाल करके ब्लॉक करें

अगर यह नीति सेट नहीं है, तो ब्लॉक करने की डिफ़ॉल्ट सेटिंग, सभी कैटगरी के लिए कुछ को ब्लॉक करें पर सेट होती है.

जनरेटिव सेवा से जुड़े हर अनुरोध के लिए, ये सेटिंग सेट की जा सकती हैं. HarmBlockThreshold एपीआई देखें का संदर्भ देखें.

सुरक्षा से जुड़े सुझाव

generateContent नतीजे के तौर पर GenerateContentResponse जो सुरक्षा से जुड़े सुझाव और राय भी शामिल होती है.

प्रॉम्प्ट से जुड़े सवालों के जवाब पाने की सुविधा इसमें शामिल है promptFeedback. अगर आपने promptFeedback.blockReason सेट है, तो इसका मतलब है कि प्रॉम्प्ट का कॉन्टेंट ब्लॉक कर दिया गया है.

उम्मीदवार का दिया गया जवाब इसमें शामिल है Candidate.finishReason और Candidate.safetyRatings. अगर जवाब मिला कॉन्टेंट को ब्लॉक किया गया और finishReason, SAFETY थी. आप इसकी जांच कर सकते हैं ज़्यादा जानकारी के लिए, safetyRatings पर जाएं. ब्लॉक किया गया कॉन्टेंट नहीं लौटाया जाता.

सुरक्षा सेटिंग में बदलाव करना

इस सेक्शन में, Google AI Studio और दोनों में सुरक्षा सेटिंग में बदलाव करने का तरीका बताया गया है और आपके कोड में दिखेगा.

Google AI Studio

Google AI Studio में जाकर, सुरक्षा सेटिंग में बदलाव किए जा सकते हैं. हालांकि, इन्हें चालू नहीं किया जा सकता बंद करें.

'रन सेटिंग' को खोलने के लिए, रन सेटिंग पैनल में जाकर सुरक्षा सेटिंग में बदलाव करें पर क्लिक करें सुरक्षा सेटिंग मॉडल. मोडल में, स्लाइडर का इस्तेमाल करके सुरक्षा कैटगरी के हिसाब से कॉन्टेंट फ़िल्टर करने का लेवल:

कोई अनुरोध भेजने पर (उदाहरण के लिए, मॉडल से सवाल पूछकर),

अगर अनुरोध का कॉन्टेंट ब्लॉक किया गया है, तो कोई कॉन्टेंट नहीं मैसेज दिखेगा. ज़्यादा देखने के लिए विवरण, पॉइंटर को कोई सामग्री नहीं टेक्स्ट और क्लिक करें सुरक्षा.

Gemini API के SDK टूल

नीचे दिया गया कोड स्निपेट, अपने स्टोर में सुरक्षा सेटिंग सेट करने का तरीका बताता है GenerateContent कॉल. ऐसा करने पर, उत्पीड़न (HARM_CATEGORY_HARASSMENT) के लिए तय किया गया और नफ़रत फैलाने वाली भाषा (HARM_CATEGORY_HATE_SPEECH) की कैटगरी के हिसाब से BLOCK_LOW_AND_ABOVE, जो ऐसे किसी भी कॉन्टेंट को ब्लॉक करता है जिसमें कम या ज़्यादा वैल्यू हो उत्पीड़न या नफ़रत फैलाने वाली भाषा होने की संभावना.

Python

from google.generativeai.types import HarmCategory, HarmBlockThreshold

model = genai.GenerativeModel(model_name='gemini-1.5-flash')
response = model.generate_content(
    ['Do these look store-bought or homemade?', img],
    safety_settings={
        HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
    }
)

शुरू करें

model := client.GenerativeModel("gemini-1.5-flash")

model.SafetySettings = []*genai.SafetySetting{
  {
    Category:  genai.HarmCategoryHarassment,
    Threshold: genai.HarmBlockOnlyLowAndAbove,
  },
  {
    Category:  genai.HarmCategoryHateSpeech,
    Threshold: genai.HarmBlockOnlyLowAndAbove,
  },
}

Node.js

import { HarmBlockThreshold, HarmCategory } from "@google/generative-ai";

// ...

const safetySetting = [
  {
    category: HarmCategory.HARM_CATEGORY_HARASSMENT,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
  {
    category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
];

const model = genAi.getGenerativeModel({ model: "gemini-1.5-flash", safetySettings });

वेब

import { HarmBlockThreshold, HarmCategory } from "@google/generative-ai";

// ...

const safetySetting = [
  {
    category: HarmCategory.HARM_CATEGORY_HARASSMENT,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
  {
    category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
];

const model = genAi.getGenerativeModel({ model: "gemini-1.5-flash", safetySettings });

डार्ट (फ़्लटर)

final safetySettings = [
  SafetySetting(HarmCategory.harassment, HarmBlockThreshold.low),
  SafetySetting(HarmCategory.hateSpeech, HarmBlockThreshold.low),
];
final model = GenerativeModel(
  model: 'gemini-1.5-flash',
  apiKey: apiKey,
  safetySettings: safetySettings,
);

Kotlin

val harassmentSafety = SafetySetting(HarmCategory.HARASSMENT, BlockThreshold.LOW_AND_ABOVE)

val hateSpeechSafety = SafetySetting(HarmCategory.HATE_SPEECH, BlockThreshold.LOW_AND_ABOVE)

val generativeModel = GenerativeModel(
    modelName = "gemini-1.5-flash",
    apiKey = BuildConfig.apiKey,
    safetySettings = listOf(harassmentSafety, hateSpeechSafety)
)

Java

SafetySetting harassmentSafety = new SafetySetting(HarmCategory.HARASSMENT,
    BlockThreshold.LOW_AND_ABOVE);

SafetySetting hateSpeechSafety = new SafetySetting(HarmCategory.HATE_SPEECH,
    BlockThreshold.LOW_AND_ABOVE);

GenerativeModel gm = new GenerativeModel(
    "gemini-1.5-flash",
    BuildConfig.apiKey,
    null, // generation config is optional
    Arrays.asList(harassmentSafety, hateSpeechSafety)
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

अगले चरण