Gemini API सुरक्षा से जुड़ी सेटिंग उपलब्ध कराता है. इसे प्रोटोटाइप करने के दौरान, इस दौरान अडजस्ट किया जा सकता है कि आपके ऐप्लिकेशन को ज़्यादा या कम सुरक्षा सेटिंग की ज़रूरत है या नहीं. कुछ खास तरह के कॉन्टेंट को सीमित करने या अनुमति देने के लिए, इन चार फ़िल्टर कैटगरी में बदलाव किया जा सकता है.
इस गाइड में बताया गया है कि Gemini API, सुरक्षा सेटिंग और फ़िल्टर को कैसे मैनेज करता है. साथ ही, ऐप्लिकेशन की सुरक्षा सेटिंग बदलने का तरीका भी बताया गया है.
सुरक्षा फ़िल्टर
Gemini API के सुरक्षा से जुड़े फ़िल्टर में इन कैटगरी को अडजस्ट किया जा सकता है:
कैटगरी | कंपनी का ब्यौरा |
---|---|
उत्पीड़न | किसी व्यक्ति की पहचान और/या सुरक्षित एट्रिब्यूट को टारगेट करने वाली नेगेटिव या नुकसान पहुंचाने वाली टिप्पणियां. |
नफ़रत फैलाने वाली भाषा | असभ्य, अपमानजनक या धर्म का अपमान करने वाला कॉन्टेंट. |
सेक्शुअल ऐक्ट दिखाने वाली इमेज | ऐसा कॉन्टेंट जिसमें सेक्शुअल ऐक्ट या अन्य भद्दा कॉन्टेंट के बारे में बताया गया हो. |
खतरनाक चीज़ों के विज्ञापन | नुकसान पहुंचाने वाली गतिविधियों का प्रचार करता है, उन्हें लागू करने में मदद करता है या उन्हें बढ़ावा देता है. |
अपने इस्तेमाल के हिसाब से बेहतर नतीजे पाने के लिए, इन फ़िल्टर का इस्तेमाल किया जा सकता है. उदाहरण के लिए, अगर वीडियो गेम वाला डायलॉग बनाया जा रहा है, तो गेम के टाइप की वजह से खतरनाक रेटिंग वाले ज़्यादा कॉन्टेंट को अनुमति देना सही माना जा सकता है.
Gemini API में सुरक्षा से जुड़े अडजस्ट किए जा सकने वाले फ़िल्टर और पहले से मौजूद सुरक्षा सुविधाएं उपलब्ध होती हैं. इनकी मदद से, बच्चों को नुकसान पहुंचाने वाले कॉन्टेंट का खतरा भी कम हो जाता है. जैसे, बच्चों की सुरक्षा को खतरे में डालने वाला कॉन्टेंट. इस तरह के नुकसान को हमेशा ब्लॉक किया जाता है और इनमें बदलाव नहीं किया जा सकता.
कॉन्टेंट की सुरक्षा को फ़िल्टर करने का लेवल
Gemini API, कॉन्टेंट के असुरक्षित होने की संभावना के लेवल को HIGH
, MEDIUM
, LOW
या NEGLIGIBLE
की कैटगरी में रखता है.
Gemini API, कॉन्टेंट के असुरक्षित होने की संभावना के आधार पर ब्लॉक करता है, न कि गंभीरता के आधार पर. इस पर ध्यान देना ज़रूरी है, क्योंकि कुछ कॉन्टेंट के असुरक्षित होने की संभावना कम होती है, भले ही नुकसान की गंभीरता फिर भी ज़्यादा हो सकती है. उदाहरण के लिए, वाक्यों की तुलना करना:
- रोबोट ने मुझे मुक्का मार दिया.
- रोबोट ने मुझे मारपीट कर दी.
पहले वाक्य के असुरक्षित होने की संभावना ज़्यादा हो सकती है, लेकिन हो सकता है कि दूसरे वाक्य को हिंसा के मामले में ज़्यादा गंभीर लगे. इसे देखते हुए, यह ज़रूरी है कि आप इस बात की सावधानी से जांच करें और इस बात पर विचार करें कि मुख्य इस्तेमाल के मामलों में आपकी मदद करने के लिए, असली उपयोगकर्ताओं को कम से कम नुकसान पहुंचाने के लिए किस लेवल पर ब्लॉक किया जाना चाहिए.
हर अनुरोध के हिसाब से, सुरक्षा से जुड़े फ़िल्टर करने की सुविधा
एपीआई से किए गए हर अनुरोध के लिए, सुरक्षा सेटिंग में बदलाव किया जा सकता है. अनुरोध किए जाने पर, कॉन्टेंट का विश्लेषण किया जाता है और उसे सुरक्षा रेटिंग दी जाती है. सुरक्षा रेटिंग में नुकसान की कैटगरी और उसकी संभावना
शामिल होती है. उदाहरण के लिए, अगर उत्पीड़न करने की बहुत ज़्यादा संभावना वाली कैटगरी की वजह से कॉन्टेंट को ब्लॉक किया गया था, तो मिलने वाली सुरक्षा रेटिंग की कैटगरी 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
को सेट किया गया है, तो इसका मतलब है कि प्रॉम्प्ट का कॉन्टेंट ब्लॉक किया गया है.
जवाब देने वाले व्यक्ति के सुझाव, शिकायत या राय को
finishReason
और
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);
अगले चरण
- पूरे एपीआई के बारे में ज़्यादा जानने के लिए, एपीआई का रेफ़रंस देखें.
- एलएलएम के साथ डेवलप करते समय, सुरक्षा से जुड़ी ज़रूरी बातों के बारे में जानने के लिए, सुरक्षा से जुड़े दिशा-निर्देश देखें.
- Jigsaw टीम से, संभावना बनाम गंभीरता का आकलन करने के बारे में ज़्यादा जानें
- Perspective API जैसे सुरक्षा समाधान में योगदान देने वाले प्रॉडक्ट के बारे में ज़्यादा जानें. * इन सुरक्षा सेटिंग का इस्तेमाल करके, बुरे बर्ताव की कैटगरी तय करने वाला टूल बनाया जा सकता है. शुरू करने के लिए, कैटगरी तय करने का उदाहरण देखें.