Güvenlik ayarları

Gemini API, sohbet sırasında düzenleyebileceğiniz güvenlik ayarları sağlar. uygulamanızın daha fazla mı yoksa daha az mı gerektirdiğini belirlemek için prototip oluşturma aşaması kısıtlayıcı güvenlik yapılandırması. Bu ayarları dört farklı filtre kategorilerini kullanarak belirli içerik türlerini kısıtlayabilir veya bunlara izin verebilirsiniz.

Bu kılavuzda, Gemini API'nin güvenlik ayarlarını ve filtrelemeyi nasıl işlediği ve uygulamanızın güvenlik ayarlarını nasıl değiştirebileceğinizi öğrenin.

Güvenlik filtreleri

Gemini API'nin ayarlanabilir güvenlik filtreleri aşağıdaki kategorileri kapsar:

Kategori Açıklama
Taciz Kimliği ve/veya korunan kimliğini hedefleyen olumsuz ya da zararlı yorumlar özellikleri hakkında daha fazla bilgi edinin.
Nefret söylemi Kaba, saygısız veya küfürlü içerik.
Müstehcen Cinsel eylemlere veya diğer müstehcen içeriklere referans veriyor.
Tehlikeli Zararlı eylemleri teşvik eden, kolaylaştıran veya destekleyen içerikler.

Kullanım alanınıza uygun öğeleri ayarlamak için bu filtreleri kullanabilirsiniz. Örneğin, Örneğin, video oyunu diyalogları oluşturuyorsanız kullanıcıların oyunun yapısı nedeniyle Tehlikeli olarak derecelendirilmiş daha fazla içeriğe izin verebilirsiniz.

Gemini API'de ayarlanabilir güvenlik filtrelerine ek olarak yerleşik güvenlik özellikleri bulunur. Çocukların güvenliğini tehlikeye atan içerikler gibi temel zararlara karşı koruma sağlayan içerikler. Bu tür zararlar her zaman engellenir ve düzenlenemez.

İçerik güvenliği filtreleme düzeyi

Gemini API, içeriğin güvenli olma olasılığını HIGH, MEDIUM, LOW veya NEGLIGIBLE.

Gemini API, içeriğin güvenli olmama olasılığına göre içerikleri engeller önem derecesini değil, Bazı içerikler zararın şiddeti riski az olsa da güvenli olmama ihtimali düşüktür yüksek olabilir. Örneğin, cümleleri karşılaştırırken:

  1. Robot beni yumruk attı.
  2. Robot beni kesti.

İlk cümle, güvensiz olma olasılığı daha yüksek olabilir, ancak ikinci cümlenin şiddet açısından daha ağır olduğu düşünülebilir. Bu nedenle, testin ne olduğunu dikkatlice test etmeniz ve hem yeterli düzeyde engelleme hem de temel kullanım alanlarınızı Son kullanıcılara verilen zararı en aza indirme.

İstek başına güvenlik filtrelemesi

API'ye gönderdiğiniz her istek için güvenlik ayarlarını düzenleyebilirsiniz. Zaman İçerik analiz edilir ve bir güvenlik derecelendirmesi verilir. İlgili içeriği oluşturmak için kullanılan güvenlik derecelendirmesi, sorunun kategorisini ve zarar görme olasılığını içerir en iyi uygulamaları görelim. Örneğin, içerik taciz nedeniyle engellendiyse olasılığı yüksek olduğunda, döndürülen güvenlik derecesi kategorisi HARASSMENT ve zarar olasılığı HIGH olarak ayarlandı.

Varsayılan olarak güvenlik ayarları, aracı veya e-posta adresi içeren içerikleri (istemler dahil) engeller. olasılığı daha yüksek olur. Bu temel güvenlik çoğu kullanım alanında kullanılmak üzere tasarlandığından yalnızca güvenliğinizi uygulamanız için sürekli olarak gerekiyorsa da bu ayarları değiştirebilirsiniz.

Aşağıdaki tabloda her bir cihaz için değiştirebileceğiniz engelleme ayarları açıklanmaktadır. seçin. Örneğin, engelleme ayarını Nefret söylemi kategorisi, nefret edilme olasılığı yüksek tüm öğeler içeriği engellenir. Ancak daha düşük olasılığa sahip olan şeylere izin verilir.

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 orta veya yüksek olasılıklı 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
Yok HARM_BLOCK_THRESHOLD_UNSPECIFIED Eşik belirtilmedi, varsayılan eşik kullanılarak engelle

Politika ayarlanmadan bırakılırsa varsayılan engelleme ayarı tüm kategoriler için Bazılarını engelle olur.

Üretken hizmete gönderdiğiniz her istek için bu ayarları belirleyebilirsiniz. HarmBlockThreshold API'yi inceleyin inceleyebilirsiniz.

Güvenlik geri bildirimi

generateContent şunu döndürür: GenerateContentResponse güvenlik geri bildirimi içerir.

İstem geri bildirimi şuna dahildir: promptFeedback. Eğer promptFeedback.blockReason ayarlandıktan sonra istemin içeriği engellendi.

Yanıt adayının geri bildirimi dahil edilir Candidate.finishReason ve Candidate.safetyRatings. Yanıt ise içerik engellendi ve finishReason SAFETY değerine sahipti. Kontrol edebilirsiniz Ayrıntılı bilgi için safetyRatings. Engellenen içerik döndürülmez.

Güvenlik ayarlarını yapma

Bu bölümde, güvenlik ayarlarının hem Google AI Studio'da nasıl düzenleneceği açıklanmaktadır. ve kodunuza ekleyin.

Google AI Studio

Google AI Studio'da güvenlik ayarlarını düzenleyebilirsiniz ancak bunları etkinleştiremezsiniz kapalı.

Ayarları çalıştır panelinde Güvenlik ayarlarını düzenle'yi tıklayarak Çalıştır güvenlik ayarları kalıcı iletişim kutusunu işaretleyin. Kalıcı iletişim kutusunda güvenlik kategorisi başına içerik filtreleme düzeyi:

Bir istek gönderdiğinizde (örneğin, modele soru sorarak) İsteğin içeriği engellenirse İçerik Yok mesajı görünür. Daha fazlasını görmek için ayrıntıları görmek için işaretçiyi İçerik Yok metni ve simgesini tıklayın. Güvenlik.

Gemini API SDK'ları

Aşağıdaki kod snippet'i, GenerateContent arama. Bu durum, tacize neden oluyor (HARM_CATEGORY_HARASSMENT) ve nefret söylemi (HARM_CATEGORY_HATE_SPEECH) kategorilerini BLOCK_LOW_AND_ABOVE, düşük veya yüksek değere sahip içerikleri engeller. taciz veya nefret söylemi olma ihtimalini artırır.

Python

from google.generativeai.types import HarmCategory, HarmBlockThreshold

model = genai.GenerativeModel(model_name='gemini-1.5-flash')
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,
    }
)

Go

model := client.GenerativeModel("gemini-1.5-flash")

model.SafetySettings = []*genai.SafetySetting{
  {
    Category:  genai.HarmCategoryHarassment,
    Threshold: genai.HarmBlockLowAndAbove,
  },
  {
    Category:  genai.HarmCategoryHateSpeech,
    Threshold: genai.HarmBlockLowAndAbove,
  },
}

Node.js

import { HarmBlockThreshold, HarmCategory } from "@google/generative-ai";

// ...

const safetySettings = [
  {
    category: HarmCategory.HARM_CATEGORY_HARASSMENT,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
  {
    category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
];

const model = genAi.getGenerativeModel({ model: "gemini-1.5-flash", safetySettings: safetySettings });

Web

import { HarmBlockThreshold, HarmCategory } from "@google/generative-ai";

// ...

const safetySettings = [
  {
    category: HarmCategory.HARM_CATEGORY_HARASSMENT,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
  {
    category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
    threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
  },
];

const model = genAi.getGenerativeModel({ model: "gemini-1.5-flash", safetySettings });

Dart (Flutter)

final safetySettings = [
  SafetySetting(HarmCategory.harassment, HarmBlockThreshold.low),
  SafetySetting(HarmCategory.hateSpeech, HarmBlockThreshold.low),
];
final model = GenerativeModel(
  model: 'gemini-1.5-flash',
  apiKey: apiKey,
  safetySettings: safetySettings,
);

Kotlin

val harassmentSafety = SafetySetting(HarmCategory.HARASSMENT, BlockThreshold.LOW_AND_ABOVE)

val hateSpeechSafety = SafetySetting(HarmCategory.HATE_SPEECH, BlockThreshold.LOW_AND_ABOVE)

val generativeModel = GenerativeModel(
    modelName = "gemini-1.5-flash",
    apiKey = BuildConfig.apiKey,
    safetySettings = listOf(harassmentSafety, hateSpeechSafety)
)

Java

SafetySetting harassmentSafety = new SafetySetting(HarmCategory.HARASSMENT,
    BlockThreshold.LOW_AND_ABOVE);

SafetySetting hateSpeechSafety = new SafetySetting(HarmCategory.HATE_SPEECH,
    BlockThreshold.LOW_AND_ABOVE);

GenerativeModel gm = new GenerativeModel(
    "gemini-1.5-flash",
    BuildConfig.apiKey,
    null, // generation config is optional
    Arrays.asList(harassmentSafety, hateSpeechSafety)
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Sonraki adımlar