Panduan ini menjelaskan setelan keamanan yang dapat disesuaikan yang tersedia untuk Gemini API. Selama tahap pembuatan prototipe, Anda dapat menyesuaikan setelan keamanan pada 4 dimensi untuk menilai dengan cepat apakah aplikasi Anda memerlukan konfigurasi yang lebih atau kurang ketat. Secara default, setelan keamanan memblokir konten (termasuk perintah) dengan kemungkinan sedang atau lebih tinggi sebagai tidak aman di semua dimensi. Keamanan dasar pengukuran ini dirancang agar berfungsi pada sebagian besar kasus penggunaan, jadi sebaiknya Anda hanya menyesuaikan setelan keamanan jika secara konsisten diperlukan untuk aplikasi Anda.
Filter keamanan
Selain filter keamanan yang dapat disesuaikan, Gemini API memiliki perlindungan bawaan terhadap bahaya inti, seperti konten yang membahayakan keselamatan anak. Jenis bahaya ini selalu diblokir dan tidak dapat disesuaikan.
Filter keamanan yang dapat disesuaikan mencakup kategori berikut:
- Pelecehan
- Ujaran kebencian
- Seksual vulgar
- Berbahaya
Setelan ini memungkinkan Anda, sebagai developer, menentukan apa yang sesuai untuk kasus penggunaan Anda. Misalnya, jika Anda membuat dialog video game, Anda mungkin akan menganggap lebih banyak konten yang dikategorikan berbahaya karena sifat game-nya masih diperbolehkan. Berikut adalah beberapa contoh kasus penggunaan lain yang mungkin memerlukan fleksibilitas dalam setelan keamanan ini:
Kasus Penggunaan | Kategori |
---|---|
Aplikasi Pelatihan Anti-Pelecehan | Ujaran kebencian, Seksual vulgar |
Penulis Skenario | Seksual vulgar, Berbahaya |
Pengklasifikasi toksisitas | Pelecehan, Berbahaya |
Probabilitas versus tingkat keparahan
Gemini API memblokir konten berdasarkan probabilitas konten tidak aman dan bukan tingkat keparahannya. Hal ini penting untuk dipertimbangkan karena beberapa konten memiliki probabilitas rendah bahwa tidak aman meskipun tingkat keparahan bahayanya masih tinggi. Misalnya, membandingkan kalimat:
- Robot itu memukul saya.
- Robot itu menebas saya.
Kalimat 1 mungkin memiliki kemungkinan lebih tinggi untuk dianggap tidak aman, tetapi Anda dapat menganggap kalimat 2 memiliki tingkat keseriusan yang lebih tinggi dari segi kekerasan.
Oleh karena itu, penting bagi setiap developer untuk menguji dan mempertimbangkan tingkat pemblokiran yang tepat yang diperlukan untuk mendukung kasus penggunaan utama mereka sekaligus meminimalkan bahaya bagi pengguna akhir.
Setelan Keamanan
Setelan keamanan adalah bagian dari permintaan yang Anda kirim ke layanan generatif. Setelan dapat disesuaikan untuk setiap permintaan yang Anda buat ke API. Tabel berikut mencantumkan kategori yang dapat Anda tetapkan dan mendeskripsikan jenis bahaya yang mencakup setiap kategori.
Kategori | Deskripsi |
---|---|
Pelecehan | Komentar negatif atau berbahaya yang menargetkan atribut identitas dan/atau dilindungi. |
Ujaran kebencian | Konten yang kasar, tidak sopan, atau tidak senonoh. |
Seksual vulgar | Berisi referensi ke tindakan seksual atau konten cabul lainnya. |
Berbahaya | Mempromosikan, memfasilitasi, atau mendorong tindakan berbahaya. |
Definisi ini juga ada dalam referensi API. Model Gemini hanya mendukung HARM_CATEGORY_HARASSMENT
,
HARM_CATEGORY_HATE_SPEECH
, HARM_CATEGORY_SEXUALLY_EXPLICIT
, dan
HARM_CATEGORY_DANGEROUS_CONTENT
. Kategori lainnya digunakan oleh model PaLM 2 (Lama).
Tabel berikut menjelaskan setelan pemblokiran yang dapat Anda sesuaikan untuk setiap kategori. Misalnya, jika Anda menetapkan setelan pemblokiran ke Blokir beberapa untuk kategori Ujaran kebencian, semua konten yang kemungkinan besar merupakan konten dengan ujaran kebencian akan diblokir. Tetapi apa pun dengan probabilitas lebih rendah diperbolehkan.
Jika tidak disetel, setelan pemblokiran default adalah Blokir beberapa untuk semua kategori.
Nilai Minimum (Google AI Studio) | Ambang batas (API) | Deskripsi |
---|---|---|
Jangan blokir | BLOCK_NONE | Selalu tampilkan terlepas dari kemungkinan adanya konten yang tidak aman |
Blokir beberapa | BLOCK_ONLY_HIGH | Blokir saat kemungkinan tinggi berisi konten yang tidak aman |
Blokir beberapa | BLOCK_MEDIUM_AND_ABOVE | Blokir saat kemungkinan besar atau sedang ada konten yang tidak aman |
Blokir sebagian besar | BLOCK_LOW_AND_ABOVE | Blokir saat kemungkinan konten tidak aman rendah, sedang, atau tinggi |
HARM_BLOCK_THRESHOLD_UNSPECIFIED | Nilai minimum tidak ditentukan, blokir menggunakan nilai minimum default |
Anda dapat menetapkan setelan ini untuk setiap permintaan yang Anda buat ke layanan generatif.
Lihat referensi API HarmBlockThreshold
untuk mengetahui detailnya.
Masukan keamanan
generateContent
menampilkan
GenerateContentResponse
yang
menyertakan masukan keamanan.
Masukan perintah disertakan dalam
promptFeedback
.
Jika
promptFeedback.blockReason
disetel, konten perintah akan diblokir.
Masukan kandidat respons disertakan dalam
finishReason
dan
safetyRatings
. Jika
konten respons diblokir dan finishReason
adalah SAFETY
, Anda dapat
memeriksa safetyRatings
untuk mengetahui detail selengkapnya. Rating keamanan mencakup
kategori dan probabilitas klasifikasi bahaya. Konten yang
diblokir tidak akan ditampilkan.
Probabilitas yang ditampilkan sesuai dengan tingkat keyakinan blok seperti yang ditunjukkan dalam tabel berikut:
Probability | Deskripsi |
---|---|
DAPAT DIDASARKAN | Konten memiliki kemungkinan tidak aman yang dapat diabaikan |
RENDAH | Konten memiliki kemungkinan rendah bahwa konten tidak aman |
SEDANG | Konten memiliki kemungkinan sedang tidak aman |
TINGGI | Konten sangat berpotensi tidak aman |
Misalnya, jika konten diblokir karena kategori pelecehan memiliki
probabilitas tinggi, rating keamanan yang ditampilkan akan memiliki kategori yang sama dengan
HARASSMENT
dan probabilitas bahaya yang ditetapkan ke HIGH
.
Setelan keamanan di Google AI Studio
Anda juga dapat menyesuaikan setelan keamanan di Google AI Studio, tetapi tidak dapat menonaktifkannya. Untuk melakukannya, di bagian Jalankan setelan, klik Edit setelan keamanan:
Dan gunakan kenop untuk menyesuaikan setiap setelan:
Pesan
No Content akan muncul jika konten diblokir. Untuk melihat detail selengkapnya, tahan kursor ke No Content, lalu klik Safety.Contoh kode
Bagian ini menunjukkan cara menggunakan setelan keamanan dalam kode menggunakan library klien python.
Contoh permintaan
Berikut adalah cuplikan kode Python yang menunjukkan cara menetapkan setelan keamanan dalam
panggilan GenerateContent
Anda. Tindakan ini menetapkan kategori bahaya Harassment
dan
Hate speech
ke BLOCK_LOW_AND_ABOVE
yang akan memblokir konten apa pun yang memiliki kemungkinan rendah
atau lebih tinggi sebagai pelecehan atau ujaran kebencian.
from google.generativeai.types import HarmCategory, HarmBlockThreshold
model = genai.GenerativeModel(model_name='gemini-pro-vision')
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,
}
)
Contoh respons
Berikut ini cuplikan kode untuk menguraikan masukan keamanan dari respons.
try:
print(response.text)
except ValueError:
# If the response doesn't contain text, check if the prompt was blocked.
print(response.prompt_feedback)
# Also check the finish reason to see if the response was blocked.
print(response.candidates[0].finish_reason)
# If the finish reason was SAFETY, the safety ratings have more details.
print(response.candidates[0].safety_ratings)
Langkah berikutnya
- Lihat referensi API untuk mempelajari lebih lanjut API lengkap.
- Tinjau panduan keamanan untuk mendapatkan gambaran umum tentang pertimbangan keamanan saat melakukan pengembangan dengan LLM.
- Pelajari lebih lanjut cara menilai probabilitas versus tingkat keparahan dari tim Jigsaw
- Pelajari lebih lanjut produk yang berkontribusi pada solusi keamanan seperti Perspective API.
- Anda dapat menggunakan setelan keamanan ini untuk membuat pengklasifikasi toksisitas. Lihat contoh klasifikasi untuk memulai.