Gemini API มีการตั้งค่าความปลอดภัยที่คุณปรับเปลี่ยนได้ในระหว่าง ขั้นตอนการสร้างต้นแบบเพื่อพิจารณาว่าแอปพลิเคชันของคุณต้องการมากหรือน้อย การกำหนดค่าความปลอดภัยที่จำกัด คุณสามารถปรับการตั้งค่าเหล่านี้ได้ กรองหมวดหมู่เพื่อจำกัดหรืออนุญาตเนื้อหาบางประเภทได้
คู่มือนี้ครอบคลุมวิธีที่ Gemini API จัดการการตั้งค่าความปลอดภัยและการกรอง และ วิธีเปลี่ยนการตั้งค่าความปลอดภัยสำหรับแอปพลิเคชันของคุณ
ตัวกรองความปลอดภัย
ตัวกรองความปลอดภัยแบบปรับได้ของ Gemini API ครอบคลุมหมวดหมู่ต่อไปนี้
หมวดหมู่ | คำอธิบาย |
---|---|
การล่วงละเมิด | ความคิดเห็นเชิงลบหรือเป็นอันตรายที่มีเป้าหมายเป็นอัตลักษณ์และ/หรือได้รับการคุ้มครอง |
วาจาสร้างความเกลียดชัง | เนื้อหาที่หยาบคาย ไม่เคารพ หรือหยาบคาย |
เกี่ยวกับเรื่องเพศอย่างโจ่งแจ้ง | มีการอ้างอิงถึงกิจกรรมทางเพศหรือเนื้อหาลามกอื่นๆ |
อันตราย | ส่งเสริม สนับสนุน หรือก่อให้เกิดการกระทำที่เป็นอันตราย |
โดยคุณสามารถใช้ตัวกรองเหล่านี้เพื่อปรับให้เหมาะสมกับกรณีการใช้งานได้ สำหรับ ตัวอย่างเช่น หากคุณกำลังสร้างบทสนทนาของวิดีโอเกม คุณอาจถือว่ายอมรับ อนุญาตให้แสดงเนื้อหาที่ได้รับการจัดประเภทเป็นอันตรายเพิ่มเติมเนื่องจากลักษณะของเกม
นอกจากตัวกรองความปลอดภัยแบบปรับได้แล้ว Gemini API ยังมีฟีเจอร์ในตัว การป้องกันอันตรายหลัก เช่น เนื้อหาที่เป็นอันตรายต่อความปลอดภัยของเด็ก อันตรายประเภทนี้จะถูกบล็อกเสมอและไม่สามารถปรับเปลี่ยนได้
ระดับการกรองความปลอดภัยของเนื้อหา
Gemini API จะจัดหมวดหมู่ระดับความน่าจะเป็นของเนื้อหาที่ไม่ปลอดภัยเป็น
HIGH
, MEDIUM
, LOW
หรือ NEGLIGIBLE
Gemini API บล็อกเนื้อหาตามความเป็นไปได้ที่เนื้อหาจะไม่ปลอดภัย และไม่ใช่ความรุนแรง ซึ่งเป็นสิ่งสำคัญที่ต้องพิจารณา เพราะเนื้อหาบางอย่างอาจ มีความเป็นไปได้ต่ำที่จะไม่ปลอดภัย แม้ว่าความรุนแรงของอันตรายจะ ยังคงสูงอยู่ เช่น การเปรียบเทียบประโยคต่างๆ
- หุ่นยนต์ต่อยฉัน
- หุ่นยนต์ตบฉันอย่างแรง
ประโยคแรกอาจทำให้มีโอกาสสูงขึ้นที่จะเกิดความไม่ปลอดภัย แต่คุณ อาจถือว่าประโยคที่ 2 มีความรุนแรงในระดับที่สูงกว่า ดังนั้น คุณจึงควรทดสอบอย่างรอบคอบและพิจารณาสิ่งที่ การบล็อกในระดับที่เหมาะสมจำเป็นต่อการสนับสนุนกรณีการใช้งานที่สำคัญ เพื่อลดอันตรายต่อผู้ใช้ปลายทาง
การกรองความปลอดภัยต่อคำขอ
คุณปรับการตั้งค่าความปลอดภัยสำหรับคำขอแต่ละรายการที่ดำเนินการกับ API ได้ วันและเวลา
เมื่อคุณส่งคำขอ เนื้อหาจะได้รับการวิเคราะห์และได้รับการจัดประเภทความปลอดภัย
คะแนนความปลอดภัยรวมถึงหมวดหมู่และความน่าจะเป็นของอันตราย
การจำแนกประเภท เช่น หากเนื้อหาถูกบล็อกเนื่องจากการคุกคาม
มีโอกาสสูง คะแนนความปลอดภัยที่แสดง
หมวดหมู่เท่ากับ HARASSMENT
และมีการตั้งค่าความน่าจะเป็นอันตรายเป็น HIGH
โดยค่าเริ่มต้น การตั้งค่าความปลอดภัยจะบล็อกเนื้อหา (รวมถึงข้อความแจ้ง) ที่ใช้สื่อหรือข้อความแจ้ง ความเป็นไปได้สูงกว่าที่จะไม่ปลอดภัยในทุกตัวกรอง ความปลอดภัยพื้นฐานนี้ ออกแบบมาให้ใช้ได้กับกรณีการใช้งานส่วนใหญ่ ดังนั้นคุณควรปรับเฉพาะความปลอดภัย หากจำเป็นต้องใช้สำหรับแอปพลิเคชันของคุณอย่างสม่ำเสมอ
ตารางต่อไปนี้อธิบายการตั้งค่าการบล็อกที่คุณปรับเปลี่ยนได้สำหรับ หมวดหมู่ เช่น หากคุณตั้งค่าการบล็อกเป็นบล็อกจำนวนน้อยสำหรับ หมวดหมู่วาจาสร้างความเกลียดชัง ทุกอย่างที่มีโอกาสสูงที่จะถูกเกลียดชัง เนื้อหาคำพูดถูกบล็อก แต่อนุญาตทุกเรื่องที่มีความน่าจะเป็นต่ำกว่า
เกณฑ์ (Google AI Studio) | เกณฑ์ (API) | คำอธิบาย |
---|---|---|
ไม่บล็อก | BLOCK_NONE |
แสดงเสมอโดยไม่คำนึงถึงความเป็นไปได้ของเนื้อหาที่ไม่ปลอดภัย |
บล็อก 2-3 รายการ | BLOCK_ONLY_HIGH |
บล็อกเมื่อมีโอกาสสูงที่จะเกิดเนื้อหาที่ไม่ปลอดภัย |
บล็อกบางรายการ | BLOCK_MEDIUM_AND_ABOVE |
บล็อกเมื่อมีแนวโน้มสูงที่จะมีเนื้อหาที่ไม่ปลอดภัย |
บล็อกส่วนใหญ่ | BLOCK_LOW_AND_ABOVE |
บล็อกเมื่อมีแนวโน้มต่ำ ปานกลาง หรือสูงที่จะมีเนื้อหาที่ไม่ปลอดภัย |
ไม่มี | HARM_BLOCK_THRESHOLD_UNSPECIFIED |
ไม่ได้ระบุเกณฑ์ บล็อกโดยใช้เกณฑ์เริ่มต้น |
หากไม่ได้ตั้งค่า การตั้งค่าการบล็อกเริ่มต้นจะเป็นบล็อกบางรายการสำหรับทุกหมวดหมู่
คุณสามารถตั้งค่าเหล่านี้สำหรับแต่ละคำขอที่คุณส่งไปยังบริการ Generative ได้
ดู HarmBlockThreshold
API
เพื่อดูรายละเอียด
ความคิดเห็นด้านความปลอดภัย
generateContent
แสดงผลเป็น
GenerateContentResponse
ซึ่ง
ความคิดเห็นด้านความปลอดภัย
ความคิดเห็นเกี่ยวกับพรอมต์รวมอยู่ใน
promptFeedback
ถ้า
ตั้งค่า promptFeedback.blockReason
แล้ว เนื้อหาของข้อความแจ้งจึงถูกบล็อก
ความคิดเห็นเกี่ยวกับตัวเลือกคำตอบจะรวมอยู่ใน
Candidate.finishReason
และ
Candidate.safetyRatings
หากตอบสนอง
เนื้อหาถูกบล็อก และfinishReason
คือSAFETY
คุณสามารถตรวจสอบ
safetyRatings
เพื่อขอรายละเอียดเพิ่มเติม และจะไม่แสดงเนื้อหาที่ถูกบล็อก
ปรับการตั้งค่าความปลอดภัย
ส่วนนี้จะครอบคลุมวิธีปรับการตั้งค่าความปลอดภัยทั้งใน Google AI Studio และในโค้ดของคุณ
Google AI Studio
คุณปรับการตั้งค่าความปลอดภัยได้ใน Google AI Studio แต่เปลี่ยนไม่ได้ ปิดอยู่
คลิกแก้ไขการตั้งค่าความปลอดภัยในแผงเรียกใช้การตั้งค่าเพื่อเปิดเรียกใช้ การตั้งค่าความปลอดภัย ในโมดัลนี้ คุณสามารถใช้แถบเลื่อนเพื่อปรับ ระดับการกรองเนื้อหาต่อหมวดหมู่ความปลอดภัย:
เมื่อส่งคำขอ (เช่น ถามคำถามโมเดล)
ข้อความไม่มีเนื้อหาจะปรากฏขึ้นหากมีการบล็อกเนื้อหาของคำขอ ดูเพิ่มเติม ให้วางเมาส์ไว้เหนือ ข้อความไม่มีเนื้อหา แล้วคลิก ความปลอดภัยSDK ของ Gemini API
ข้อมูลโค้ดต่อไปนี้จะแสดงวิธีตั้งค่าความปลอดภัยใน
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,
}
)
Go
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 });
ลูกดอก (Flutter)
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);
ขั้นตอนถัดไป
- โปรดดูเอกสารอ้างอิง API เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ API แบบเต็ม
- อ่านคำแนะนำด้านความปลอดภัยเพื่อดูภาพรวมด้านความปลอดภัย ที่ควรพิจารณาเมื่อพัฒนาด้วย LLM
- เรียนรู้เพิ่มเติมเกี่ยวกับการประเมินความน่าจะเป็นและความรุนแรงจาก Jigsaw ทีม
- ดูข้อมูลเพิ่มเติมเกี่ยวกับผลิตภัณฑ์ที่นำไปสู่โซลูชันด้านความปลอดภัย เช่น มุมมอง API * คุณใช้การตั้งค่าความปลอดภัยเหล่านี้เพื่อสร้างเนื้อหาที่ไม่เหมาะสมได้ ตัวแยกประเภท ดูการจัดประเภท ตัวอย่างเป็น เริ่มต้นใช้งานได้เลย