การตั้งค่าความปลอดภัย

Gemini API มีการตั้งค่าความปลอดภัยที่คุณปรับเปลี่ยนได้ในระหว่าง ขั้นตอนการสร้างต้นแบบเพื่อพิจารณาว่าแอปพลิเคชันของคุณต้องการมากหรือน้อย การกำหนดค่าความปลอดภัยที่จำกัด คุณสามารถปรับการตั้งค่าเหล่านี้ได้ กรองหมวดหมู่เพื่อจำกัดหรืออนุญาตเนื้อหาบางประเภทได้

คู่มือนี้ครอบคลุมวิธีที่ Gemini API จัดการการตั้งค่าความปลอดภัยและการกรอง และ วิธีเปลี่ยนการตั้งค่าความปลอดภัยสำหรับแอปพลิเคชันของคุณ

ตัวกรองความปลอดภัย

ตัวกรองความปลอดภัยแบบปรับได้ของ Gemini API ครอบคลุมหมวดหมู่ต่อไปนี้

หมวดหมู่ คำอธิบาย
การล่วงละเมิด ความคิดเห็นเชิงลบหรือเป็นอันตรายที่มีเป้าหมายเป็นอัตลักษณ์และ/หรือได้รับการคุ้มครอง
วาจาสร้างความเกลียดชัง เนื้อหาที่หยาบคาย ไม่เคารพ หรือหยาบคาย
เกี่ยวกับเรื่องเพศอย่างโจ่งแจ้ง มีการอ้างอิงถึงกิจกรรมทางเพศหรือเนื้อหาลามกอื่นๆ
อันตราย ส่งเสริม สนับสนุน หรือก่อให้เกิดการกระทำที่เป็นอันตราย

โดยคุณสามารถใช้ตัวกรองเหล่านี้เพื่อปรับให้เหมาะสมกับกรณีการใช้งานได้ สำหรับ ตัวอย่างเช่น หากคุณกำลังสร้างบทสนทนาของวิดีโอเกม คุณอาจถือว่ายอมรับ อนุญาตให้แสดงเนื้อหาที่ได้รับการจัดประเภทเป็นอันตรายเพิ่มเติมเนื่องจากลักษณะของเกม

นอกจากตัวกรองความปลอดภัยแบบปรับได้แล้ว Gemini API ยังมีฟีเจอร์ในตัว การป้องกันอันตรายหลัก เช่น เนื้อหาที่เป็นอันตรายต่อความปลอดภัยของเด็ก อันตรายประเภทนี้จะถูกบล็อกเสมอและไม่สามารถปรับเปลี่ยนได้

ระดับการกรองความปลอดภัยของเนื้อหา

Gemini API จะจัดหมวดหมู่ระดับความน่าจะเป็นของเนื้อหาที่ไม่ปลอดภัยเป็น HIGH, MEDIUM, LOW หรือ NEGLIGIBLE

Gemini API บล็อกเนื้อหาตามความเป็นไปได้ที่เนื้อหาจะไม่ปลอดภัย และไม่ใช่ความรุนแรง ซึ่งเป็นสิ่งสำคัญที่ต้องพิจารณา เพราะเนื้อหาบางอย่างอาจ มีความเป็นไปได้ต่ำที่จะไม่ปลอดภัย แม้ว่าความรุนแรงของอันตรายจะ ยังคงสูงอยู่ เช่น การเปรียบเทียบประโยคต่างๆ

  1. หุ่นยนต์ต่อยฉัน
  2. หุ่นยนต์ตบฉันอย่างแรง

ประโยคแรกอาจทำให้มีโอกาสสูงขึ้นที่จะเกิดความไม่ปลอดภัย แต่คุณ อาจถือว่าประโยคที่ 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.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 });

ลูกดอก (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 * คุณใช้การตั้งค่าความปลอดภัยเหล่านี้เพื่อสร้างเนื้อหาที่ไม่เหมาะสมได้ ตัวแยกประเภท ดูการจัดประเภท ตัวอย่างเป็น เริ่มต้นใช้งาน