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:
- Robot mnie uderzył.
- 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ń:
Użyj pokrętła, aby dostosować poszczególne ustawienia:
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-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,
}
)
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.