Bu kılavuzda, Gemini API'sinde kullanılabilen düzenlenebilir güvenlik ayarları açıklanmaktadır. Prototip oluşturma aşamasında, uygulamanızın daha fazla mı yoksa daha az kısıtlayıcı yapılandırma gerektirip gerektirmediğini hızlı bir şekilde değerlendirmek için 4 boyutta güvenlik ayarlarını düzenleyebilirsiniz. Varsayılan olarak, güvenlik ayarları herhangi bir boyutta güvenli olmama olasılığı orta veya daha yüksek olan içerikleri (istemler dahil) engeller. Bu temel güvenlik, çoğu kullanım alanında çalışacak şekilde tasarlanmıştır. Bu nedenle güvenlik ayarlarınızı yalnızca uygulamanız için sürekli gerekliyse ayarlamalısınız.
Güvenlik filtreleri
Gemini API, ayarlanabilir güvenlik filtrelerinin yanı sıra çocukların güvenliğini tehlikeye atan içerikler gibi temel zararlara karşı yerleşik koruma özelliklerine sahiptir. Bu tür zararlar her zaman engellenir ve düzenlenemez.
Ayarlanabilir güvenlik filtreleri aşağıdaki kategorileri kapsar:
- Taciz
- Nefret söylemi
- Müstehcenlik
- Tehlikeli
Bu ayarlar, geliştirici olarak sizin kullanım alanınız için neyin uygun olduğunu belirlemenize olanak tanır. Örneğin, bir video oyunu diyalogu oluşturuyorsanız oyunun yapısı gereği tehlikeli olarak değerlendirilen daha fazla içeriğe izin vermeyi kabul edebilirsiniz. Aşağıda, bu güvenlik ayarlarında biraz esneklik gerektirebilecek diğer kullanım alanlarına birkaç örnek verilmiştir:
Kullanım Örneği | Kategori |
---|---|
Taciz Karşıtı Eğitim Uygulaması | Nefret söylemi, Müstehcen |
Senaryo Yazarı | Müstehcen, Tehlikeli |
Toksiklik sınıflandırıcı | Taciz, Tehlikeli |
Olasılık ve önem derecesi
Gemini API, içeriğin güvenli olmama olasılığına ve önem derecesi olmamasına göre içeriği engeller. Zararın ciddiyeti yine de yüksek olsa bile bazı içeriklerin güvenli olmama ihtimali düşük olabileceğinden bu durumun dikkate alınması önemlidir. Örneğin, cümleleri karşılaştırırken:
- Robot bana yumruk attı.
- Robot beni öldürdü.
1. cümlenin güvenli olmama olasılığı daha yüksek olabilir ancak 2. cümlenin şiddet açısından daha şiddetli olduğunu düşünebilirsiniz.
Bu göz önünde bulundurulduğunda, her geliştiricinin bir yandan son kullanıcılara zararı en aza indirirken diğer yandan temel kullanım alanlarını desteklemek için hangi engelleme düzeyinin gerekli olduğunu dikkatlice test etmesi ve düşünmesi önemlidir.
Güvenlik Ayarları
Güvenlik ayarları, üretici hizmete gönderdiğiniz isteğin bir parçasıdır. Ayarlar, API'ye gönderdiğiniz her istek için yapılabilir. Aşağıdaki tabloda, ayarlayabileceğiniz kategoriler listelenmekte ve her bir kategorinin kapsadığı zarar türü açıklanmaktadır.
Kategoriler | Açıklamalar |
---|---|
Taciz | Kimlik ve/veya korunan özellikleri hedefleyen olumsuz ya da zararlı yorumlar. |
Nefret söylemi | Kaba, saygısız veya küfürlü içerikler. |
Müstehcenlik | Cinsel eylemlere veya diğer açık saçık içeriğe atıfta bulunma. |
Tehlikeli | Zararlı eylemleri teşvik eden, kolaylaştıran veya destekleyen içerikler |
Bu tanımlar, API referansında da bulunur. Gemini modelleri yalnızca HARM_CATEGORY_HARASSMENT
, HARM_CATEGORY_HATE_SPEECH
, HARM_CATEGORY_SEXUALLY_EXPLICIT
ve HARM_CATEGORY_DANGEROUS_CONTENT
özelliklerini destekler. Diğer kategoriler PaLM 2 (Eski) modelleri tarafından kullanılır.
Aşağıdaki tabloda, her bir kategori için düzenleyebileceğiniz engelleme ayarları açıklanmaktadır. Örneğin, Nefret söylemi kategorisi için engelleme ayarını Az sayıda engelle olarak ayarlarsanız nefret söylemi içeriği olma olasılığı yüksek olan her şey engellenir. Ancak düşük olasılıklı her şeye izin verilir.
Politika ayarlanmadan bırakılırsa varsayılan engelleme ayarı tüm kategoriler için Bazılarını engelle olur.
Eşik (Google AI Studio) | Eşik (API) | Açıklama |
---|---|---|
Hiçbirini engelleme | BLOCK_NONE | Güvenli olmayan içerik olasılığından bağımsız olarak her zaman göster |
Birkaçını engelle | BLOCK_ONLY_HIGH | Güvenli olmayan içerik olasılığı yüksek olduğunda engelle |
Bazılarını engelle | BLOCK_MEDIUM_AND_ABOVE | Güvenli olmayan içerik olasılığı orta veya yüksek olduğunda engelle |
Çoğunu engelle | BLOCK_LOW_AND_ABOVE | Güvenli olmayan içerik olasılığı düşük, orta veya yüksek olduğunda engelle |
HARM_BLOCK_THRESHOLD_UNSPECIFIED | Eşik belirtilmemiş, varsayılan eşik kullanılarak engelle |
Bu ayarları, üretken hizmete yaptığınız her istek için belirleyebilirsiniz.
Ayrıntılar için HarmBlockThreshold
API referansına bakın.
Güvenlik geri bildirimi
generateContent
, güvenlik geri bildirimi içeren bir GenerateContentResponse
döndürür.
Hızlı geri bildirim özelliği promptFeedback
'e dahildir.
promptFeedback.blockReason
ayarlanmışsa istemin içeriği engellenmiştir.
Yanıt adayı geri bildirimi
finishReason
ve
safetyRatings
da yer alır. Yanıt içeriği engellendi ve finishReason
değeri SAFETY
ise daha ayrıntılı bilgi için safetyRatings
özelliğini inceleyebilirsiniz. Güvenlik derecelendirmesi, kategoriyi ve hasar sınıflandırmasının olasılığını içerir. Engellenen içerik döndürülmez.
Döndürülen olasılık, aşağıdaki tabloda gösterildiği gibi blok güven düzeylerine karşılık gelir:
Probability | Açıklama |
---|---|
İHMAL EDİLMEMİŞ | İçeriğin güvenli olmama olasılığı çok düşük düzeydedir |
DÜŞÜK | İçeriğin güvenli olmama olasılığı düşük |
ORTA | İçeriğin güvenli olma olasılığı orta düzeydedir |
YÜKSEK | İçeriğin güvenli olmama olasılığı yüksek |
Örneğin, içerik yüksek olasılıklı taciz kategorisi nedeniyle engellendiyse döndürülen güvenlik derecelendirmesinin kategorisi HARASSMENT
ve zarar olasılığı HIGH
olarak ayarlanır.
Google AI Studio'daki güvenlik ayarları
Güvenlik ayarlarını Google AI Studio'da da düzenleyebilirsiniz ancak bunları kapatamazsınız. Bunu yapmak için Ayarları çalıştır bölümünde Güvenlik ayarlarını düzenle'yi tıklayın:
Her bir ayarı düzenlemek için düğmeleri kullanın:
İçerik engellenirse
İçerik Yok mesajı görünür. Daha fazla ayrıntı görmek için işaretçiyi İçerik Yok'un üzerine getirin ve Güvenlik'i tıklayın.Kod örnekleri
Bu bölümde, python istemci kitaplığından yararlanarak güvenlik ayarlarının kodda nasıl kullanılacağı gösterilmektedir.
İstek örneği
Aşağıda GenerateContent
çağrınızda güvenlik ayarlarını nasıl yapacağınızı gösteren bir python kod snippet'i verilmiştir. Bu işlem, Harassment
ve Hate speech
zarar kategorilerini BLOCK_LOW_AND_ABOVE
olarak ayarlar. Böylece, taciz veya nefret söylemi olma olasılığı düşük veya yüksek olan tüm içerikler engellenir.
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,
}
)
Yanıt örneği
Aşağıda, yanıttaki güvenlik geri bildirimini ayrıştırmak için bir kod snippet'i gösterilmektedir.
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)
Sonraki adımlar
- Tam API hakkında daha fazla bilgi edinmek için API referansına bakın.
- LLM'ler ile geliştirme yaparken güvenlikle ilgili dikkat edilmesi gereken noktalara genel bir bakış için güvenlik kılavuzunu inceleyin.
- Olasılık ve şiddetin değerlendirilmesi hakkında Jigsaw ekibinden daha fazla bilgi edinebilirsiniz.
- Perspective API gibi güvenlik çözümlerine katkıda bulunan ürünler hakkında daha fazla bilgi edinin.
- Toksiklik sınıflandırıcı oluşturmak için bu güvenlik ayarlarını kullanabilirsiniz. Başlamak için sınıflandırma örneğine bakın.