Güvenlik ayarları

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:

  1. Robot bana yumruk attı.
  2. 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 safetyRatingsda 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:

Güvenlik ayarları düğmesi

Her bir ayarı düzenlemek için düğmeleri kullanın:

Güvenlik ayarları düğmesi

İç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.