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

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

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

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

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

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

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

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

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

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

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

  1. หุ่นยนต์ต่อยฉัน
  2. หุ่นยนต์ทับฉัน

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

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

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

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

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

เกณฑ์ (Google AI Studio) เกณฑ์ (API) คำอธิบาย
ไม่บล็อกเลย BLOCK_NONE แสดงเสมอโดยไม่คำนึงถึงความน่าจะเป็นของเนื้อหาที่ไม่ปลอดภัย
บล็อกเพียงไม่กี่รายการ BLOCK_ONLY_HIGH บล็อกเมื่อมีโอกาสสูงที่เนื้อหาที่ไม่ปลอดภัย
บล็อกบางรายการ BLOCK_MEDIUM_AND_ABOVE บล็อกเมื่อมีแนวโน้มปานกลางหรือสูงเกี่ยวกับเนื้อหาที่ไม่ปลอดภัย
บล็อกส่วนใหญ่ BLOCK_LOW_AND_ABOVE บล็อกเมื่อมีแนวโน้มต่ำ ปานกลาง หรือสูงเกี่ยวกับเนื้อหาที่ไม่ปลอดภัย
ไม่มีข้อมูล HARM_BLOCK_THRESHOLD_UNSPECIFIED ไม่ได้ระบุเกณฑ์ โปรดบล็อกโดยใช้เกณฑ์เริ่มต้น

หากไม่ได้ตั้งค่า การตั้งค่าการบล็อกเริ่มต้นจะเป็นบล็อกบางรายการสำหรับทุกหมวดหมู่

คุณตั้งค่าเหล่านี้สำหรับคำขอแต่ละรายการที่ทำกับ Generative Service ได้ โปรดดูรายละเอียดในHarmBlockThreshold เอกสารอ้างอิง API

ความคิดเห็นด้านความปลอดภัย

generateContent แสดงผล GenerateContentResponse ที่มีความคิดเห็นด้านความปลอดภัย

ความคิดเห็นของข้อความแจ้งจะรวมอยู่ใน promptFeedback หากตั้งค่า promptFeedback.blockReason ระบบจะบล็อกเนื้อหาของข้อความแจ้ง

ความคิดเห็นของผู้สมัครรับเลือกตั้งจะรวมอยู่ใน finishReason และ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
  • ดูข้อมูลเพิ่มเติมเกี่ยวกับผลิตภัณฑ์ที่ส่งผลต่อโซลูชันด้านความปลอดภัย เช่น Perspective API * คุณใช้การตั้งค่าความปลอดภัยเหล่านี้เพื่อสร้างตัวแยกประเภทสารพิษได้ ดูตัวอย่างการแยกประเภทเพื่อเริ่มต้นใช้งาน