Ustawienia bezpieczeństwa

W tym przewodniku opisano dostępne ustawienia zabezpieczeń interfejsu Gemini API. Na etapie prototypowania możesz dostosować ustawienia zabezpieczeń w 4 wymiarach, aby szybko ocenić, czy Twoja aplikacja wymaga bardziej czy mniej restrykcyjnej konfiguracji. Domyślnie ustawienia bezpieczeństwa blokują treści (w tym komunikaty) o średnim lub wyższym prawdopodobieństwie zaistnienia takiej sytuacji w dowolnym wymiarze. To podstawowe zabezpieczenie działa w większości przypadków, więc ustawienia bezpieczeństwa należy dostosowywać tylko wtedy, gdy jest to niezbędne w danej aplikacji.

Filtry bezpieczeństwa

Oprócz dostosowywanych filtrów bezpieczeństwa interfejs Gemini ma wbudowane zabezpieczenia przed podstawowymi zagrożeniami, np. treściami zagrażającymi bezpieczeństwu dzieci. Tego typu szkody są zawsze blokowane i nie można ich dostosować.

Regulowane filtry bezpieczeństwa obejmują te kategorie:

  • Nękanie
  • Wypowiedzi szerzące nienawiść
  • Treści o charakterze jednoznacznie seksualnym
  • Treści niebezpieczne

Te ustawienia pozwalają Ci, jako deweloperowi, określić, które z nich są odpowiednie w Twoim przypadku. Na przykład podczas tworzenia dialogu z gry wideo możesz zaakceptować więcej treści, które zostały uznane za niebezpieczne ze względu na charakter gry. Oto kilka innych przykładów użycia, które mogą wymagać większej elastyczności w tych ustawieniach bezpieczeństwa:

Przykład zastosowania Kategoria
Aplikacja do nauki przeciwdziałania nękaniu Szerzenie nienawiści, treści o charakterze jednoznacznie seksualnym
Autor scenariusza filmowego Treści o charakterze jednoznacznie seksualnym, niebezpieczne
Klasyfikator toksyczności Nękanie, niebezpieczne

Prawdopodobieństwo a poziom ważności

Interfejs Gemini API blokuje treści na podstawie prawdopodobieństwa, że treść jest niebezpieczna, a nie jej wagi. Warto o tym pamiętać, ponieważ niektóre treści mogą mieć niskie prawdopodobieństwo, że będą niebezpieczne, mimo że poziom zagrożenia jest wysoki. Na przykład porównując zdania:

  1. Robot mnie uderzył.
  2. Robot mnie przegonił.

Zdanie 1 może zwiększać prawdopodobieństwo zagrożenia, ale możesz uznać zdanie 2 za bardziej surowe w odniesieniu do przemocy.

Z tego względu każdy deweloper powinien dokładnie przetestować i zastanowić się, jakiego poziomu blokowania będzie potrzebować, aby był on dostosowany do jego kluczowych przypadków użycia, a jednocześnie zminimalizować szkody dla użytkowników.

Ustawienia bezpieczeństwa

Ustawienia bezpieczeństwa to część żądania, które wysyłasz do usługi generatywnej. Ustawienia można dostosować dla każdego żądania wysyłanego do interfejsu API. W tabeli poniżej znajdziesz listę kategorii, które możesz ustawić, wraz z opisem rodzaju szkód, do których należą.

Kategorie Teksty reklamy
Nękanie Negatywne lub szkodliwe komentarze dotyczące tożsamości lub cech chronionych.
Wypowiedzi szerzące nienawiść Treści nieuprzejme, obraźliwe lub obraźliwe.
Treści o charakterze jednoznacznie seksualnym Treści zawierające odniesienia do aktów seksualnych lub innych lubieżnych treści.
Treści niebezpieczne Promowanie, wspieranie lub zachęcanie do szkodliwych działań.

Te definicje znajdziesz też w dokumentacji API. Modele Gemini obsługują tylko HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT i HARM_CATEGORY_DANGEROUS_CONTENT. Pozostałe kategorie są używane w modelach PaLM 2 (starsza wersja).

W tabeli poniżej opisujemy ustawienia blokowania, które możesz dostosować w przypadku każdej kategorii. Jeśli na przykład w kategorii Szerzenie nienawiści ustawisz blokowanie na Blokuj kilka, wszystkie treści, które z dużym prawdopodobieństwem mogą stać się szerzeniem nienawiści, będą blokowane. Dozwolone są wszystkie elementy o niższym prawdopodobieństwie.

Jeśli jej nie skonfigurujesz, domyślnym ustawieniem blokowania będzie Blokuj część dla wszystkich kategorii.

Próg (Google AI Studio) Próg (API) Opis
Nie blokuj niczego BLOCK_NONE Zawsze wyświetlaj niezależnie od prawdopodobieństwa wystąpienia niebezpiecznej treści
Blokuj niektóre BLOCK_ONLY_HIGH Blokuj, gdy istnieje wysokie prawdopodobieństwo wystąpienia niebezpiecznej treści
Blokuj część BLOCK_MEDIUM_AND_ABOVE Blokuj, gdy istnieje wysokie lub wysokie prawdopodobieństwo wystąpienia niebezpiecznych treści
Blokuj większość BLOCK_LOW_AND_ABOVE Blokuj, gdy treści są niebezpieczne, średnie lub wysokie
HARM_BLOCK_THRESHOLD_UNSPECIFIED Próg nie jest określony; blokuj za pomocą progu domyślnego

Możesz skonfigurować te ustawienia dla każdego żądania wysyłanego do usługi generatywnej. Więcej informacji znajdziesz w dokumentacji interfejsu API HarmBlockThreshold.

Opinia o bezpieczeństwie

generateContent zwraca wartość GenerateContentResponse, która zawiera opinię dotyczącą bezpieczeństwa.

promptFeedback zawiera informacje o prośbach. Jeśli skonfigurowana jest wartość promptFeedback.blockReason, treść promptu została zablokowana.

Opinia kandydata do odpowiedzi znajduje się w finishReason i safetyRatings. Jeśli treść odpowiedzi została zablokowana, a finishReason to SAFETY, możesz sprawdzić safetyRatings, aby uzyskać więcej informacji. Ocena bezpieczeństwa obejmuje kategorię i prawdopodobieństwo klasyfikacji zagrożenia. Zablokowane treści nie są zwracane.

Zwrócone prawdopodobieństwo odpowiada poziomom ufności bloków, jak pokazano w tej tabeli:

Probability, Opis
NIEZMIANY Treści z niewielkim prawdopodobieństwem będą niebezpieczne
NISKI Treść raczej nie jest bezpieczna
ŚREDNIE Treści mają średnie prawdopodobieństwo, że są niebezpieczne
WYSOKA Treści z dużym prawdopodobieństwem są niebezpieczne

Jeśli na przykład treści zostały zablokowane ze względu na wysokie prawdopodobieństwo, że kategoria nękania jest bardzo prawdopodobna, zwrócona ocena bezpieczeństwa będzie miała wartość HARASSMENT, a prawdopodobieństwo szkody – HIGH.

Ustawienia bezpieczeństwa w Google AI Studio

Możesz też dostosować ustawienia zabezpieczeń w Google AI Studio, ale nie możesz ich wyłączyć. Aby to zrobić, w Ustawieniach uruchamiania kliknij Edytuj ustawienia zabezpieczeń:

Przycisk ustawień bezpieczeństwa

Użyj pokrętła, aby dostosować poszczególne ustawienia:

Przycisk ustawień bezpieczeństwa

Jeśli treść jest zablokowana, pojawi się komunikat Brak treści. Aby wyświetlić więcej szczegółów, najedź kursorem na Brak treści i kliknij Bezpieczeństwo.

Przykłady kodu

W tej sekcji pokazujemy, jak używać ustawień zabezpieczeń w kodzie za pomocą biblioteki klienta Pythona.

Przykład żądania

Poniżej znajdziesz fragment kodu Pythona, który pokazuje, jak skonfigurować ustawienia bezpieczeństwa w wywołaniu funkcji GenerateContent. Spowoduje to ustawienie kategorii szkód Harassment i Hate speech na BLOCK_LOW_AND_ABOVE, co spowoduje zablokowanie treści, w przypadku których prawdopodobieństwo nękania lub szerzenia nienawiści jest niskie lub większe.

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,
    }
)

Przykładowa odpowiedź

Poniżej znajdziesz fragment kodu służący do analizowania opinii o bezpieczeństwie z tej odpowiedzi.

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)

Dalsze kroki

  • Więcej informacji o pełnym interfejsie API znajdziesz w dokumentacji API.
  • Zapoznaj się ze wskazówkami dotyczącymi bezpieczeństwa, aby dowiedzieć się więcej na temat bezpieczeństwa przy tworzeniu modeli LLM.
  • Dowiedz się więcej o ocenianiu prawdopodobieństwa w porównaniu z poziomem ważności od zespołu Jigsaw
  • Dowiedz się więcej o usługach, które przyczyniają się do powstawania rozwiązań zabezpieczających, takich jak Perspective API.
  • Możesz użyć tych ustawień bezpieczeństwa do utworzenia klasyfikatora toksyczności. Na początek zapoznaj się z przykładem klasyfikacji.