Setelan keamanan

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:

  1. Robot itu memukul saya.
  2. 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:

Tombol setelan keamanan

Dan gunakan kenop untuk menyesuaikan setiap setelan:

Tombol setelan keamanan

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.