Gemini API নিরাপত্তা সেটিংস প্রদান করে যা আপনি প্রোটোটাইপিং পর্যায়ে সামঞ্জস্য করতে পারেন তা নির্ধারণ করতে আপনার অ্যাপ্লিকেশনটির কম বা কম সীমাবদ্ধ সুরক্ষা কনফিগারেশন প্রয়োজন কিনা। নির্দিষ্ট ধরণের সামগ্রীকে সীমাবদ্ধ বা অনুমতি দিতে আপনি চারটি ফিল্টার বিভাগে এই সেটিংস সামঞ্জস্য করতে পারেন।
Gemini API কীভাবে নিরাপত্তা সেটিংস এবং ফিল্টারিং পরিচালনা করে এবং কীভাবে আপনি আপনার অ্যাপ্লিকেশনের নিরাপত্তা সেটিংস পরিবর্তন করতে পারেন তা এই নির্দেশিকাটি কভার করে।
নিরাপত্তা ফিল্টার
Gemini API এর সামঞ্জস্যযোগ্য নিরাপত্তা ফিল্টারগুলি নিম্নলিখিত বিভাগগুলিকে কভার করে:
শ্রেণী | বর্ণনা |
---|---|
হয়রানি | পরিচয় এবং/অথবা সুরক্ষিত বৈশিষ্ট্যকে লক্ষ্য করে নেতিবাচক বা ক্ষতিকর মন্তব্য। |
ঘৃণামূলক বক্তব্য | অভদ্র, অসম্মানজনক বা অপবিত্র বিষয়বস্তু। |
যৌনতাপূর্ণ | যৌন ক্রিয়াকলাপ বা অন্যান্য অশ্লীল বিষয়বস্তুর উল্লেখ রয়েছে৷ |
বিপজ্জনক | প্রচার করে, সুবিধা দেয় বা ক্ষতিকারক কাজকে উৎসাহিত করে। |
নাগরিক অখণ্ডতা | নির্বাচন সংক্রান্ত প্রশ্ন। |
আপনার ব্যবহারের ক্ষেত্রে যা উপযুক্ত তা সামঞ্জস্য করতে আপনি এই ফিল্টারগুলি ব্যবহার করতে পারেন৷ উদাহরণস্বরূপ, আপনি যদি ভিডিও গেমের সংলাপ তৈরি করছেন, তাহলে গেমের প্রকৃতির কারণে বিপজ্জনক হিসাবে রেট দেওয়া আরও সামগ্রীকে অনুমতি দেওয়া আপনি গ্রহণযোগ্য বলে মনে করতে পারেন।
সামঞ্জস্যযোগ্য নিরাপত্তা ফিল্টার ছাড়াও, Gemini API-এর মূল ক্ষতির বিরুদ্ধে অন্তর্নির্মিত সুরক্ষা রয়েছে, যেমন বিষয়বস্তু যা শিশুদের নিরাপত্তাকে বিপন্ন করে। এই ধরনের ক্ষতি সবসময় অবরুদ্ধ এবং সমন্বয় করা যাবে না.
বিষয়বস্তু নিরাপত্তা ফিল্টারিং স্তর
Gemini API বিষয়বস্তুর অনিরাপদ হওয়ার সম্ভাবনার স্তরটিকে HIGH
, MEDIUM
, LOW
বা NEGLIGIBLE
হিসাবে শ্রেণীবদ্ধ করে৷
Gemini API বিষয়বস্তু অনিরাপদ হওয়ার সম্ভাবনার উপর ভিত্তি করে বিষয়বস্তু ব্লক করে এবং তীব্রতা নয়। এটি বিবেচনা করা গুরুত্বপূর্ণ কারণ কিছু সামগ্রীর অনিরাপদ হওয়ার সম্ভাবনা কম থাকতে পারে যদিও ক্ষতির তীব্রতা এখনও বেশি হতে পারে। উদাহরণস্বরূপ, বাক্যগুলির তুলনা করা:
- রোবট আমাকে ঘুষি মারল।
- রোবট আমাকে ছিঁড়ে ফেলেছে।
প্রথম বাক্যটি অনিরাপদ হওয়ার উচ্চ সম্ভাবনার কারণ হতে পারে, তবে আপনি দ্বিতীয় বাক্যটিকে সহিংসতার পরিপ্রেক্ষিতে উচ্চতর তীব্রতা বলে বিবেচনা করতে পারেন। এই প্রদত্ত, এটি গুরুত্বপূর্ণ যে আপনি সতর্কতার সাথে পরীক্ষা করুন এবং বিবেচনা করুন যে আপনার মূল ব্যবহারের ক্ষেত্রে শেষ ব্যবহারকারীদের ক্ষতি কমিয়ে সমর্থন করার জন্য ব্লক করার উপযুক্ত স্তরটি কী প্রয়োজন।
অনুরোধ প্রতি নিরাপত্তা ফিল্টারিং
আপনি API-তে করা প্রতিটি অনুরোধের জন্য নিরাপত্তা সেটিংস সামঞ্জস্য করতে পারেন। আপনি যখন একটি অনুরোধ করেন, তখন বিষয়বস্তু বিশ্লেষণ করা হয় এবং একটি নিরাপত্তা রেটিং দেওয়া হয়। নিরাপত্তা রেটিং বিভাগ এবং ক্ষতির শ্রেণীবিভাগের সম্ভাবনা অন্তর্ভুক্ত। উদাহরণস্বরূপ, যদি হয়রানি বিভাগের উচ্চ সম্ভাবনা থাকার কারণে বিষয়বস্তুটি অবরুদ্ধ করা হয়, তাহলে প্রত্যাবর্তিত সুরক্ষা রেটিংটি HARASSMENT
সমান বিভাগ এবং ক্ষতির সম্ভাবনা HIGH
সেট করা হবে।
ডিফল্টরূপে, নিরাপত্তা সেটিংস কোনো ফিল্টার জুড়ে অনিরাপদ হওয়ার মাঝারি বা উচ্চ সম্ভাবনা সহ সামগ্রী (প্রম্পট সহ) ব্লক করে। এই বেসলাইন সুরক্ষাটি বেশিরভাগ ব্যবহারের ক্ষেত্রে কাজ করার জন্য ডিজাইন করা হয়েছে, তাই আপনার অ্যাপ্লিকেশনের জন্য ধারাবাহিকভাবে প্রয়োজন হলেই আপনার নিরাপত্তা সেটিংস সামঞ্জস্য করা উচিত।
নিম্নলিখিত সারণীটি ব্লক সেটিংস বর্ণনা করে যা আপনি প্রতিটি বিভাগের জন্য সামঞ্জস্য করতে পারেন। উদাহরণস্বরূপ, আপনি যদি ঘৃণাত্মক বক্তৃতা বিভাগের জন্য ব্লক সেটিংটি ব্লক কয়েকটিতে সেট করেন, তাহলে ঘৃণাত্মক বক্তব্যের বিষয়বস্তু হওয়ার উচ্চ সম্ভাবনা রয়েছে এমন সমস্ত কিছু ব্লক করা হবে৷ কিন্তু একটি কম সম্ভাবনা সঙ্গে কিছু অনুমোদিত.
থ্রেশহোল্ড (গুগল এআই স্টুডিও) | থ্রেশহোল্ড (API) | বর্ণনা |
---|---|---|
কোনটিই ব্লক করবেন না | BLOCK_NONE | অনিরাপদ সামগ্রীর সম্ভাবনা নির্বিশেষে সর্বদা দেখান |
কয়েকটি ব্লক করুন | BLOCK_ONLY_HIGH | অনিরাপদ বিষয়বস্তুর উচ্চ সম্ভাবনা থাকলে ব্লক করুন |
কিছু ব্লক | BLOCK_MEDIUM_AND_ABOVE | অনিরাপদ সামগ্রীর মাঝারি বা উচ্চ সম্ভাবনা থাকলে ব্লক করুন |
বেশিরভাগ ব্লক করুন | BLOCK_LOW_AND_ABOVE | অনিরাপদ সামগ্রীর কম, মাঝারি বা উচ্চ সম্ভাবনা থাকলে ব্লক করুন |
N/A | HARM_BLOCK_THRESHOLD_UNSPECIFIED | থ্রেশহোল্ড অনির্দিষ্ট, ডিফল্ট থ্রেশহোল্ড ব্যবহার করে ব্লক করুন |
যদি থ্রেশহোল্ড সেট করা না থাকে, ডিফল্ট ব্লক থ্রেশহোল্ড হল ব্লক মোস্ট (কেবল gemini-1.5-pro-002
এবং gemini-1.5-flash-002
এর জন্য) অথবা সিভিক ইন্টিগ্রিটি বিভাগ ব্যতীত সমস্ত বিভাগের জন্য কিছু ব্লক করুন (অন্য সব মডেলে) .
সিভিক ইন্টিগ্রিটি ক্যাটাগরির জন্য ডিফল্ট ব্লক থ্রেশহোল্ড হল Google AI স্টুডিও ব্যবহার করে প্রম্পট পাঠানোর সময় সবচেয়ে বেশি ব্লক করুন এবং সরাসরি Gemini API ব্যবহার করার সময় কোনওটি ব্লক করবেন না ।
আপনি জেনারেটিভ পরিষেবাতে আপনার করা প্রতিটি অনুরোধের জন্য এই সেটিংস সেট করতে পারেন। বিস্তারিত জানার জন্য HarmBlockThreshold
API রেফারেন্স দেখুন।
নিরাপত্তা প্রতিক্রিয়া
generateContent
একটি GenerateContentResponse
প্রদান করে যার মধ্যে নিরাপত্তা ফিডব্যাক রয়েছে।
প্রম্পট ফিডব্যাক promptFeedback
অন্তর্ভুক্ত করা হয়েছে। যদি promptFeedback.blockReason
সেট করা থাকে, তাহলে প্রম্পটের বিষয়বস্তু ব্লক করা হয়েছে।
প্রার্থীর প্রতিক্রিয়া প্রার্থীর প্রতিক্রিয়া Candidate.finishReason
এবং Candidate.safetyRatings
এ অন্তর্ভুক্ত করা হয়েছে। যদি প্রতিক্রিয়া বিষয়বস্তু অবরুদ্ধ করা হয় এবং finishReason
SAFETY
ছিল, আপনি আরও বিশদ বিবরণের জন্য safetyRatings
পরীক্ষা করতে পারেন। ব্লক করা বিষয়বস্তু ফেরত দেওয়া হয় না.
নিরাপত্তা সেটিংস সামঞ্জস্য করুন
এই বিভাগে Google AI স্টুডিও এবং আপনার কোড উভয়ের নিরাপত্তা সেটিংস কীভাবে সামঞ্জস্য করা যায় তা কভার করে।
গুগল এআই স্টুডিও
আপনি Google AI স্টুডিওতে নিরাপত্তা সেটিংস সামঞ্জস্য করতে পারেন, কিন্তু আপনি সেগুলি বন্ধ করতে পারবেন না।
রান নিরাপত্তা সেটিংস মোডাল খুলতে রান সেটিংস প্যানেলে নিরাপত্তা সেটিংস সম্পাদনা করুন ক্লিক করুন। মোডেলে, আপনি সুরক্ষা বিভাগের জন্য সামগ্রী ফিল্টারিং স্তর সামঞ্জস্য করতে স্লাইডারগুলি ব্যবহার করতে পারেন:
আপনি যখন একটি অনুরোধ পাঠান (উদাহরণস্বরূপ, মডেলটিকে একটি প্রশ্ন জিজ্ঞাসা করে), অনুরোধের বিষয়বস্তু ব্লক করা থাকলে একটি
নো বিষয়বস্তু বার্তা উপস্থিত হয়৷ আরও বিশদ দেখতে, নো কন্টেন্ট টেক্সটের উপরে পয়েন্টার ধরে রাখুন এবং নিরাপত্তা ক্লিক করুন।Gemini API SDKs
নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে আপনার GenerateContent
কলে নিরাপত্তা সেটিংস সেট করতে হয়। এটি হয়রানি ( HARM_CATEGORY_HARASSMENT
) এবং ঘৃণাত্মক বক্তব্য ( HARM_CATEGORY_HATE_SPEECH
) বিভাগের জন্য থ্রেশহোল্ড সেট করে৷ উদাহরণস্বরূপ, এই বিভাগগুলিকে BLOCK_LOW_AND_ABOVE
তে সেট করা যেকোন সামগ্রীকে অবরুদ্ধ করে যাতে হয়রানি বা ঘৃণামূলক বক্তব্য হওয়ার সম্ভাবনা কম বা বেশি থাকে৷ থ্রেশহোল্ড সেটিংস বুঝতে, অনুরোধ প্রতি নিরাপত্তা ফিল্টারিং দেখুন।
পাইথন
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,
);
কোটলিন
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)
)
জাভা
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);
বিশ্রাম
echo '{
"safetySettings": [
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_ONLY_HIGH"},
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"}
],
"contents": [{
"parts":[{
"text": "'I support Martians Soccer Club and I think Jupiterians Football Club sucks! Write a ironic phrase about them.'"}]}]}' > request.json
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d @request.json 2> /dev/null
পরবর্তী পদক্ষেপ
- সম্পূর্ণ API সম্পর্কে আরও জানতে API রেফারেন্স দেখুন।
- এলএলএম-এর সাথে বিকাশ করার সময় নিরাপত্তার বিবেচনার দিকে সাধারণ দৃষ্টিভঙ্গির জন্য নিরাপত্তা নির্দেশিকা পর্যালোচনা করুন।
- জিগস টিম থেকে সম্ভাব্যতা বনাম তীব্রতা মূল্যায়ন সম্পর্কে আরও জানুন
- পারস্পেকটিভ API-এর মতো নিরাপত্তা সমাধানে অবদান রাখে এমন পণ্য সম্পর্কে আরও জানুন। * আপনি একটি বিষাক্ত শ্রেণীবিভাগ তৈরি করতে এই নিরাপত্তা সেটিংস ব্যবহার করতে পারেন। শুরু করার জন্য শ্রেণীবিভাগের উদাহরণ দেখুন।