Gemini API सुरक्षा से जुड़ी ऐसी सेटिंग उपलब्ध कराता है जिन्हें 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
सेट है, तो इसका मतलब है कि प्रॉम्प्ट का कॉन्टेंट ब्लॉक कर दिया गया है.
उम्मीदवार का दिया गया जवाब इसमें शामिल है
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.HarmBlockLowAndAbove,
},
{
Category: genai.HarmCategoryHateSpeech,
Threshold: genai.HarmBlockLowAndAbove,
},
}
Node.js
import { HarmBlockThreshold, HarmCategory } from "@google/generative-ai";
// ...
const safetySettings = [
{
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: safetySettings });
वेब
import { HarmBlockThreshold, HarmCategory } from "@google/generative-ai";
// ...
const safetySettings = [
{
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 एपीआई. * बुरे बर्ताव वाला कॉन्टेंट बनाने के लिए, इन सुरक्षा सेटिंग का इस्तेमाल किया जा सकता है क्लासिफ़ायर का इस्तेमाल करें. क्लासिफ़िकेशन देखें उदाहरण के तौर पर, 'शुरू करें'.