Model AI generatif Google, seperti Gemini 1.5 Flash dan Gemini 1.5 Pro, dirancang untuk memprioritaskan keamanan. Namun, mereka masih dapat menghasilkan respons berbahaya, terutama saat diprompt 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 keamanan dan konten serta menguraikan konsep keamanan utama. Untuk filter konten yang dapat dikonfigurasi, halaman ini menunjukkan 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 kemampuan kemudi model lebih lanjut, lihat Petunjuk sistem untuk keamanan.
Perintah yang tidak aman
Vertex AI Gemini API memberikan salah satu kode enum
berikut untuk menjelaskan alasan perintah ditolak:
Enum | Jenis filter | Deskripsi |
---|---|---|
PROHIBITED_CONTENT |
Filter keamanan yang tidak dapat dikonfigurasi | Perintah tersebut diblokir karena ditandai karena berisi konten yang dilarang, 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 Vertex AI Gemini API tidak mendukung semua bahasa. Untuk mengetahui daftar bahasa yang didukung, lihat Dukungan bahasa Gemini. |
Untuk mempelajari lebih lanjut, lihat BlockedReason.
Berikut adalah contoh output Vertex AI Gemini API saat perintah
diblokir karena berisi PROHIBITED_CONTENT
:
{
"promptFeedback": {
"blockReason": "PROHIBITED_CONTENT"
},
"usageMetadata": {
"promptTokenCount": 7,
"totalTokenCount": 7
}
}
Respons yang 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 nilai minimum 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 unit teks yang disebut token. Model berhenti
membuat token karena mencapai titik perhentian alami atau
karena salah satu filter memblokir respons. Vertex AI Gemini API
menyediakan salah satu kode enum
berikut untuk menjelaskan alasan pembuatan token dihentikan:
Enum | Jenis filter | Deskripsi |
---|---|---|
STOP |
T/A | Enum ini menunjukkan bahwa model mencapai titik perhentian alami atau urutan perhentian 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 potensi pembacaan. |
SPII |
Filter keamanan yang tidak dapat dikonfigurasi | Pembuatan token dihentikan karena respons ditandai untuk konten Informasi Identitas Pribadi yang Sensitif (SPII). |
PROHIBITED_CONTENT |
Filter keamanan yang tidak dapat dikonfigurasi | Pembuatan token dihentikan karena respons ditandai karena berisi konten yang dilarang, 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. Model ini 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 lain berdasarkan keparahan konten berbahaya.
Filter konten yang dapat dikonfigurasi tidak memiliki pembuatan versi yang independen dari versi model. Google tidak akan memperbarui filter konten yang dapat dikonfigurasi untuk versi model yang dirilis sebelumnya. Namun, tindakan ini dapat memperbarui filter konten yang dapat dikonfigurasi untuk versi model mendatang.
Kategori bahaya
Filter konten menilai konten berdasarkan kategori bahaya berikut:
Kategori Kerugian | Definisi |
---|---|
Ujaran Kebencian | Komentar negatif atau berbahaya yang menargetkan atribut identitas dan/atau dilindungi. |
Pelecehan | Komentar yang mengancam, mengintimidasi, menindas, atau melecehkan yang menarget 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 keparahan
Skor keamanan probabilitas mencerminkan kemungkinan respons model
terkait dengan bahaya masing-masing. Atribut ini memiliki
skor keyakinan terkait antara 0.0
dan 1.0
, yang dibulatkan ke satu angka desimal.
Skor keyakinan diskretisasi menjadi empat tingkat keyakinan:
NEGLIGIBLE
, LOW
, MEDIUM
, dan HIGH
.
Skor keparahan mencerminkan besarnya tingkat bahaya respons
model. Masalah ini memiliki skor keparahan terkait yang berkisar dari
0.0
hingga 1.0
, dibulatkan ke satu tempat desimal. Skor keparahan diskretasikan
menjadi empat level: NEGLIGIBLE
, LOW
, MEDIUM
, dan HIGH
.
Konten dapat memiliki skor probabilitas yang rendah dan skor keparahan yang tinggi, atau skor probabilitas yang tinggi dan skor keparahan yang rendah.
Cara mengonfigurasi filter konten
Anda dapat menggunakan Vertex AI Gemini API atau konsol Google Cloud untuk mengonfigurasi filter konten.
Vertex AI Gemini API
Vertex AI Gemini API menyediakan dua metode "blokir bahaya":
- SEVERITY: Metode ini menggunakan skor probabilitas dan keparahan.
- PROBABILITY: Metode ini hanya menggunakan skor probabilitas.
Metode default-nya 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.
Vertex AI Gemini API menyediakan nilai minimum "blokir bahaya" berikut:
BLOCK_LOW_AND_ABOVE
: Blokir jika skor probabilitas atau skor keparahan adalahLOW
,MEDIUM
, atauHIGH
.BLOCK_MEDIUM_AND_ABOVE
: Blokir jika skor probabilitas atau skor keparahan adalahMEDIUM
atauHIGH
. Untukgemini-1.5-flash-001
dangemini-1.5-pro-001
,BLOCK_MEDIUM_AND_ABOVE
adalah nilai default.BLOCK_ONLY_HIGH
: Blokir jika skor probabilitas atau skor keparahan adalahHIGH
.HARM_BLOCK_THRESHOLD_UNSPECIFIED
: Memblokir menggunakan nilai minimum default.OFF
: Tidak ada pemblokiran respons otomatis dan tidak ada metadata yang ditampilkan. Untukgemini-1.5-flash-002
dangemini-1.5-pro-002
,OFF
adalah nilai default.BLOCK_NONE
: SetelanBLOCK_NONE
menghapus pemblokiran respons otomatis. Sebagai gantinya, Anda dapat mengonfigurasi panduan konten Anda sendiri dengan skor yang ditampilkan. Ini adalah kolom terbatas yang tidak tersedia untuk semua pengguna dalam versi model GA.
Misalnya, kode Python berikut menunjukkan cara menetapkan nilai minimum pemblokiran
konten berbahaya 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 menyeluruh di Python, Node.js, Java, Go, C#, dan REST, lihat Contoh konfigurasi filter konten.
Konsol Google Cloud
Konsol Google Cloud memungkinkan Anda mengonfigurasi nilai minimum untuk setiap atribut konten. Filter konten hanya menggunakan skor probabilitas. Tidak ada opsi untuk menggunakan skor keparahan.
Konsol Google Cloud menyediakan nilai nilai minimum berikut:
- Nonaktif (default): Tidak ada pemblokiran respons otomatis.
- Blokir beberapa: Memblokir jika skor probabilitasnya adalah
HIGH
. - Blokir beberapa: Memblokir jika skor probabilitasnya adalah
MEDIUM
atauHIGH
. - Blokir sebagian besar: Memblokir jika skor probabilitasnya adalah
LOW
,MEDIUM
, atauHIGH
.
Misalnya, jika Anda menetapkan setelan pemblokiran ke Block few untuk
kategori Konten Berbahaya, semua konten yang memiliki probabilitas tinggi
sebagai konten berbahaya akan diblokir. Semua yang memiliki 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 nilai minimum yang diinginkan.
Klik Simpan.
Contoh output saat respons diblokir oleh filter konten yang dapat dikonfigurasi
Berikut adalah contoh output Vertex AI Gemini API 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 Vertex AI Gemini API:
Gen AI SDK untuk Python
Pelajari cara menginstal atau mengupdate Google Gen AI SDK untuk Python.
Untuk mengetahui informasi selengkapnya, lihat
dokumentasi referensi Gen AI SDK untuk Python API atau
repositori GitHub python-genai
.
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=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=True
Vertex AI SDK untuk Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Vertex AI SDK untuk Python.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Go Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API C# Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST
Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirimkan permintaan ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION: Region untuk memproses permintaan. Opsi
yang tersedia mencakup hal berikut:
Klik untuk meluaskan sebagian daftar region 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 model multimodal
yang ingin Anda gunakan. Opsinya adalah:
gemini-1.0-pro
gemini-1.0-pro-vision
- ROLE:
Peran dalam percakapan yang terkait dengan konten. Menentukan peran diperlukan bahkan dalam
kasus penggunaan satu giliran.
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:
Batas 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-1.0-pro"
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. Secara desain, Gemini membatasi kemungkinan konten yang ada direplikasi secara mendetail. Jika fitur Gemini membuat kutipan yang panjang dari halaman web, Gemini akan mencantumkan halaman tersebut sebagai sumber kutipan.
Terkadang konten yang sama dapat ditemukan di beberapa halaman web. Gemini mencoba mengarahkan Anda ke sumber yang populer. Dalam hal kutipan ke repositori kode, kutipan juga dapat merujuk ke lisensi open source yang berlaku. Mematuhi setiap persyaratan lisensi adalah tanggung jawab Anda.
Untuk mempelajari metadata filter kutipan, lihat Referensi Citation API.
Filter integritas sipil
Filter integritas sipil mendeteksi dan memblokir perintah yang menyebutkan atau terkait dengan
pemilu dan kandidat politik. Filter ini dinonaktifkan secara default. Untuk mengaktifkannya, tetapkan nilai minimum pemblokiran untuk CIVIC_INTEGRITY
ke salah satu nilai berikut. Nilai yang Anda tentukan tidak akan berpengaruh.
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, filter tersebut terkadang dapat memblokir konten yang tidak berbahaya atau melewatkan konten berbahaya. Model lanjutan seperti Gemini 1.5 Flash dan Gemini 1.5 Pro dirancang untuk menghasilkan respons yang aman meskipun tanpa filter. Uji berbagai setelan filter untuk menemukan keseimbangan yang tepat antara keamanan dan mengizinkan konten yang sesuai.
Langkah berikutnya
- Pelajari petunjuk sistem untuk keselamatan.
- Pelajari pemantauan penyalahgunaan.
- Pelajari responsible AI lebih lanjut.
- Pelajari tata kelola data.