Model AI generatif Google, seperti Gemini 2.0 Flash, dirancang untuk memprioritaskan keamanan. Namun, model ini masih dapat menghasilkan respons yang berbahaya, terutama jika diberi perintah secara eksplisit. Untuk lebih meningkatkan keamanan dan meminimalkan penyalahgunaan, Anda dapat mengonfigurasi filter konten untuk memblokir respons yang berpotensi berbahaya.
Halaman ini menjelaskan setiap jenis filter konten dan keamanan serta menguraikan konsep keamanan utama. Untuk filter konten yang dapat dikonfigurasi, Anda akan melihat cara mengonfigurasi nilai minimum pemblokiran setiap kategori bahaya untuk mengontrol seberapa sering perintah dan respons diblokir.
Filter keamanan dan konten berfungsi sebagai penghalang, mencegah output berbahaya, tetapi tidak memengaruhi perilaku model secara langsung. Untuk mempelajari lebih lanjut kemampuan pengarahan model, lihat Petunjuk sistem untuk keamanan.
Perintah tidak aman
Gemini API di Vertex AI memberikan salah satu kode enum
berikut untuk menjelaskan alasan perintah ditolak:
Enum | Jenis filter | Deskripsi |
---|---|---|
PROHIBITED_CONTENT |
Filter keamanan yang tidak dapat dikonfigurasi | Perintah diblokir karena ditandai berisi konten terlarang, biasanya CSAM. |
BLOCKED_REASON_UNSPECIFIED |
T/A | Alasan pemblokiran perintah tidak ditentukan. |
OTHER |
T/A | Enum ini mengacu pada semua alasan lain untuk memblokir perintah. Perhatikan bahwa Gemini API di Vertex AI tidak mendukung semua bahasa. Untuk mengetahui daftar bahasa yang didukung, lihat Dukungan bahasa Gemini. |
Untuk mempelajari lebih lanjut, lihat BlockedReason.
Berikut adalah contoh output Gemini API di Vertex AI saat perintah diblokir karena berisi PROHIBITED_CONTENT
:
{
"promptFeedback": {
"blockReason": "PROHIBITED_CONTENT"
},
"usageMetadata": {
"promptTokenCount": 7,
"totalTokenCount": 7
}
}
Respons tidak aman
Filter berikut dapat mendeteksi dan memblokir respons yang berpotensi tidak aman:
- Filter keamanan yang tidak dapat dikonfigurasi, yang memblokir materi pelecehan seksual terhadap anak-anak (CSAM) dan informasi identitas pribadi (PII).
- Filter konten yang dapat dikonfigurasi, yang memblokir konten tidak aman berdasarkan daftar kategori bahaya dan nilai minimum pemblokiran yang dikonfigurasi pengguna. Anda dapat mengonfigurasi batas pemblokiran untuk setiap bahaya ini berdasarkan hal yang sesuai untuk kasus penggunaan dan bisnis Anda. Untuk mempelajari lebih lanjut, lihat Filter konten yang dapat dikonfigurasi.
- Filter kutipan, yang memberikan kutipan untuk materi sumber. Untuk mempelajari lebih lanjut, lihat Filter kutipan.
LLM menghasilkan respons dalam satuan teks yang disebut token. Model berhenti
membuat token karena mencapai titik berhenti alami atau
karena salah satu filter memblokir respons. Gemini API di Vertex AI
memberikan salah satu kode enum
berikut untuk menjelaskan alasan pembuatan token berhenti:
Enum | Jenis filter | Deskripsi |
---|---|---|
STOP |
T/A | Enum ini menunjukkan bahwa model mencapai titik penghentian alami atau urutan penghentian yang diberikan. |
MAX_TOKENS |
T/A | Pembuatan token dihentikan karena model mencapai jumlah maksimum token yang ditentukan dalam permintaan. |
SAFETY |
Filter konten yang dapat dikonfigurasi | Pembuatan token dihentikan karena respons ditandai sebagai konten berbahaya. |
RECITATION |
Filter kutipan | Pembuatan token dihentikan karena berpotensi ada pembacaan. |
SPII |
Filter keamanan yang tidak dapat dikonfigurasi | Pembuatan token dihentikan karena respons ditandai sebagai berisi konten Informasi Identitas Pribadi Sensitif (SPII). |
PROHIBITED_CONTENT |
Filter keamanan yang tidak dapat dikonfigurasi | Pembuatan token dihentikan karena respons ditandai berisi konten terlarang, biasanya CSAM. |
FINISH_REASON_UNSPECIFIED |
T/A | Alasan penyelesaian tidak ditentukan. |
OTHER |
T/A | Enum ini mengacu pada semua alasan lain yang menghentikan pembuatan token. Perhatikan bahwa pembuatan token tidak didukung untuk semua bahasa. Untuk mengetahui daftar bahasa yang didukung, lihat Dukungan bahasa Gemini. |
Untuk mempelajari lebih lanjut, lihat FinishReason.
Jika filter memblokir respons, filter akan membatalkan kolom Candidate.content
respons. Tidak memberikan masukan apa pun ke model.
Filter konten yang dapat dikonfigurasi
Filter konten menilai konten berdasarkan daftar bahaya. Untuk setiap kategori bahaya, filter konten menetapkan satu skor berdasarkan probabilitas konten yang berbahaya dan skor lainnya berdasarkan tingkat keparahan konten berbahaya.
Filter konten yang dapat dikonfigurasi tidak memiliki pembuatan versi yang terpisah dari versi model. Google tidak akan mengupdate filter konten yang dapat dikonfigurasi untuk versi model yang dirilis sebelumnya. Namun, filter konten yang dapat dikonfigurasi dapat diperbarui untuk versi model mendatang.
Kategori bahaya
Filter konten menilai konten berdasarkan kategori bahaya berikut:
Kategori Bahaya | Definisi |
---|---|
Ujaran Kebencian | Komentar negatif atau berbahaya yang menargetkan atribut identitas dan/atau dilindungi. |
Pelecehan | Komentar yang mengancam, mengintimidasi, menindas, atau melecehkan yang menargetkan individu lain. |
Seksual Vulgar | Berisi referensi ke tindakan seksual atau konten cabul lainnya. |
Konten Berbahaya | Mempromosikan atau memungkinkan akses ke barang, layanan, dan aktivitas berbahaya. |
Perbandingan skor probabilitas dan skor tingkat keparahan
Skor keamanan probabilitas mencerminkan kemungkinan respons model
terkait dengan bahaya masing-masing. Respons ini memiliki
skor keyakinan terkait antara 0.0
dan 1.0
, yang dibulatkan ke satu angka desimal.
Skor keyakinan didiskretkan menjadi empat tingkat keyakinan:
NEGLIGIBLE
, LOW
, MEDIUM
, dan HIGH
.
Skor keparahan mencerminkan besarnya potensi bahaya respons model. Setiap pelanggaran memiliki skor tingkat keparahan terkait yang berkisar dari
0.0
hingga 1.0
, yang dibulatkan ke satu angka di belakang koma. Skor tingkat keparahan didiskretisasi
menjadi empat tingkat: NEGLIGIBLE
, LOW
, MEDIUM
, dan HIGH
.
Konten dapat memiliki skor probabilitas rendah dan skor tingkat keseriusan tinggi, atau skor probabilitas tinggi dan skor tingkat keseriusan rendah.
Cara mengonfigurasi filter konten
Anda dapat menggunakan Gemini API di Vertex AI atau konsol Google Cloud untuk mengonfigurasi filter konten.
Gemini API di Vertex AI
Gemini API di Vertex AI menyediakan dua metode "pemblokiran bahaya":
- KEPARAHAN: Metode ini menggunakan skor probabilitas dan keparahan.
- PROBABILITAS: Metode ini hanya menggunakan skor probabilitas.
Metode defaultnya adalah SEVERITY
. Untuk model yang lebih lama dari gemini-1.5-flash
dan gemini-1.5-pro
, metode defaultnya adalah PROBABILITY
. Untuk mempelajari lebih lanjut, lihat
referensi API HarmBlockMethod
.
Gemini API di Vertex AI menyediakan nilai minimum "pemblokiran bahaya" berikut:
BLOCK_LOW_AND_ABOVE
: Memblokir saat skor probabilitas atau skor tingkat keparahan adalahLOW
,MEDIUM
, atauHIGH
.BLOCK_MEDIUM_AND_ABOVE
: Memblokir jika skor probabilitas atau skor tingkat keparahan adalahMEDIUM
atauHIGH
.BLOCK_ONLY_HIGH
: Blokir jika skor probabilitas atau skor tingkat keparahan adalahHIGH
.HARM_BLOCK_THRESHOLD_UNSPECIFIED
: Blokir menggunakan nilai minimum default.OFF
: Tidak ada pemblokiran respons otomatis dan tidak ada metadata yang ditampilkan. Untukgemini-2.0-flash-001
dan model berikutnya,OFF
adalah nilai default.BLOCK_NONE
: SetelanBLOCK_NONE
menghapus pemblokiran respons otomatis. Sebagai gantinya, Anda dapat mengonfigurasi pedoman konten Anda sendiri dengan skor yang ditampilkan. Ini adalah kolom terbatas yang tidak tersedia untuk semua pengguna di versi model GA.
Misalnya, kode Python berikut menunjukkan cara menyetel nilai minimum pemblokiran bahaya ke BLOCK_ONLY_HIGH
untuk kategori konten berbahaya:
generative_models.SafetySetting(
category=generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
threshold=generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
),
Tindakan ini akan memblokir sebagian besar konten yang diklasifikasikan sebagai konten berbahaya.
Untuk mempelajari lebih lanjut, lihat referensi API HarmBlockThreshold
.
Untuk contoh end-to-end di Python, Node.js, Java, Go, C#, dan REST, lihat Contoh konfigurasi filter konten.
Google Cloud console
Konsol Google Cloud memungkinkan Anda mengonfigurasi nilai minimum untuk setiap atribut konten. Filter konten hanya menggunakan skor probabilitas. Tidak ada opsi untuk menggunakan skor tingkat keparahan.
Konsol Google Cloud menyediakan nilai batas berikut:
- Nonaktif (default): Tidak ada pemblokiran respons otomatis.
- Blokir sedikit: Memblokir saat skor probabilitas adalah
HIGH
. - Blokir sebagian: Memblokir jika skor probabilitasnya
MEDIUM
atauHIGH
. - Blokir sebagian besar: Memblokir jika skor probabilitasnya adalah
LOW
,MEDIUM
, atauHIGH
.
Misalnya, jika Anda menyetel setelan pemblokiran ke Blokir sedikit untuk
kategori Konten Berbahaya, semua konten yang memiliki probabilitas tinggi
sebagai konten berbahaya akan diblokir. Apa pun dengan probabilitas lebih rendah diizinkan. Nilai minimum default-nya adalah Block some
.
Untuk menetapkan nilai minimum, lihat langkah-langkah berikut:
Di bagian Vertex AI pada konsol Google Cloud , buka halaman Vertex AI Studio.
Di bagian Buat perintah baru, klik salah satu tombol untuk membuka halaman desain perintah.
Klik Setelan keamanan.
Jendela dialog Setelan keamanan akan terbuka.
Untuk setiap kategori bahaya, konfigurasikan nilai batas yang diinginkan.
Klik Simpan.
Contoh output saat respons diblokir oleh filter konten yang dapat dikonfigurasi
Berikut adalah contoh output Gemini API di Vertex AI saat respons diblokir oleh filter konten yang dapat dikonfigurasi karena berisi konten berbahaya:
{
"candidates": [{
"finishReason": "SAFETY",
"safetyRatings": [{
"category": "HARM_CATEGORY_HATE_SPEECH",
"probability": "NEGLIGIBLE",
"probabilityScore": 0.11027937,
"severity": "HARM_SEVERITY_LOW",
"severityScore": 0.28487435
}, {
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"probability": "HIGH",
"blocked": true,
"probabilityScore": 0.95422274,
"severity": "HARM_SEVERITY_MEDIUM",
"severityScore": 0.43398145
}, {
"category": "HARM_CATEGORY_HARASSMENT",
"probability": "NEGLIGIBLE",
"probabilityScore": 0.11085559,
"severity": "HARM_SEVERITY_NEGLIGIBLE",
"severityScore": 0.19027223
}, {
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"probability": "NEGLIGIBLE",
"probabilityScore": 0.22901751,
"severity": "HARM_SEVERITY_NEGLIGIBLE",
"severityScore": 0.09089675
}]
}],
"usageMetadata": {
"promptTokenCount": 38,
"totalTokenCount": 38
}
}
Contoh konfigurasi filter konten
Contoh berikut menunjukkan cara mengonfigurasi filter konten menggunakan Gemini API di Vertex AI:
Gen AI SDK for Python
Instal
pip install --upgrade google-genai
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
REST
Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirim permintaan ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region untuk memproses permintaan. Opsi yang tersedia meliputi:
Klik untuk meluaskan daftar sebagian wilayah yang tersedia
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: Project ID Anda.
- MODEL_ID: ID model multimodal yang ingin Anda gunakan, seperti
gemini-2.0-flash
. - ROLE:
Peran dalam percakapan yang terkait dengan konten. Menentukan peran diperlukan bahkan dalam kasus penggunaan
sekali putaran.
Nilai yang dapat diterima mencakup hal berikut:
USER
: Menentukan konten yang dikirim oleh Anda.MODEL
: Menentukan respons model.
- TEXT: Petunjuk teks yang akan disertakan dalam perintah.
- SAFETY_CATEGORY:
Kategori keamanan untuk mengonfigurasi nilai minimum. Nilai yang dapat diterima mencakup hal berikut:
Klik untuk meluaskan kategori keamanan
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_DANGEROUS_CONTENT
- THRESHOLD:
Nilai minimum untuk memblokir respons yang mungkin termasuk dalam kategori keamanan yang ditentukan berdasarkan
probabilitas. Nilai yang dapat diterima mencakup hal berikut:
Klik untuk meluaskan nilai minimum pemblokiran
BLOCK_NONE
BLOCK_ONLY_HIGH
BLOCK_MEDIUM_AND_ABOVE
(default)BLOCK_LOW_AND_ABOVE
BLOCK_LOW_AND_ABOVE
memblokir paling banyak, sedangkanBLOCK_ONLY_HIGH
memblokir paling sedikit.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Isi JSON permintaan:
{ "contents": { "role": "ROLE", "parts": { "text": "TEXT" } }, "safetySettings": { "category": "SAFETY_CATEGORY", "threshold": "THRESHOLD" }, }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent" | Select-Object -Expand Content
Anda akan melihat respons JSON yang mirip seperti berikut:
Contoh perintah curl
LOCATION="us-central1"
MODEL_ID="gemini-2.0-flash"
PROJECT_ID="test-project"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:streamGenerateContent -d \
$'{
"contents": {
"role": "user",
"parts": { "text": "Hello!" }
},
"safety_settings": [
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "OFF"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_LOW_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_ONLY_HIGH"
}
]
}'
Filter kutipan
Fitur kode generatif Vertex AI dimaksudkan untuk menghasilkan konten asli. Menurut desainnya, Gemini membatasi kemungkinan konten yang sudah ada direplikasi secara detail. Jika fitur Gemini membuat kutipan panjang dari halaman web, Gemini akan mengutip halaman tersebut.
Terkadang konten yang sama dapat ditemukan di beberapa halaman web. Gemini berusaha mengarahkan Anda ke sumber yang populer. Dalam hal kutipan repositori kode, kutipan juga dapat merujuk ke lisensi open source yang relevan. Mematuhi setiap persyaratan lisensi adalah tanggung jawab Anda sendiri.
Untuk mempelajari metadata filter kutipan, lihat Referensi Citation API.
Filter integritas sipil
Filter integritas publik mendeteksi dan memblokir perintah yang menyebutkan atau terkait dengan pemilu dan kandidat politik. Filter ini dinonaktifkan secara default. Untuk mengaktifkannya, tetapkan nilai batas pemblokiran untuk CIVIC_INTEGRITY
ke salah satu nilai berikut. Nilai yang Anda tentukan tidak akan memengaruhi apa pun.
BLOCK_LOW_AND_ABOVE
BLOCK_MEDIUM_AND_ABOVE
BLOCK_ONLY_HIGH
Kode Python berikut menunjukkan cara mengaktifkan filter integritas sipil:
generative_models.SafetySetting(
category=generative_models.HarmCategory.CIVIC_INTEGRITY,
threshold=generative_models.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
),
Untuk mengetahui detail selengkapnya tentang filter integritas sipil, hubungi perwakilan Google Cloud Anda.
Praktik terbaik
Meskipun filter konten membantu mencegah konten tidak aman, terkadang filter tersebut dapat memblokir konten yang tidak berbahaya atau tidak mendeteksi konten berbahaya. Model canggih seperti Gemini 2.0 Flash dirancang untuk menghasilkan respons yang aman meskipun tanpa filter. Uji setelan filter yang berbeda untuk menemukan keseimbangan yang tepat antara keamanan dan mengizinkan konten yang sesuai.
Langkah berikutnya
- Pelajari petunjuk sistem untuk keselamatan.
- Pelajari pemantauan penyalahgunaan.
- Pelajari lebih lanjut responsible AI.
- Pelajari cara memproses respons yang diblokir.