Gemini API udostępnia ustawienia bezpieczeństwa, które możesz dostosować podczas prototypowania, by określić, czy aplikacja wymaga więcej czy mniej. restrykcyjna konfiguracja bezpieczeństwa. Możesz dostosować te ustawienia w czterech i ograniczyć wyświetlanie określonych typów treści lub na nie zezwolić.
Z tego przewodnika dowiesz się, jak interfejs Gemini API obsługuje ustawienia bezpieczeństwa, filtrowanie i jak zmienić ustawienia bezpieczeństwa aplikacji.
Filtry bezpieczeństwa
Regulowane filtry bezpieczeństwa interfejsu Gemini API obejmują te kategorie:
Kategoria | Opis |
---|---|
Nękanie | Negatywne lub szkodliwe komentarze dotyczące tożsamości innej osoby lub ochrony . |
Szerzenie nienawiści | Treści nieuprzejme, obraźliwe lub wulgarne. |
Treści o charakterze jednoznacznie seksualnym | Treści zawierające odniesienia do aktów seksualnych lub innych lubieżnych treści. |
Treści niebezpieczne | Zachęca do szkodliwych działań, wspiera je lub wspiera. |
Za pomocą tych filtrów możesz dostosować ustawienia do swoich potrzeb. Dla: Jeśli na przykład tworzysz dialogi z gier wideo, możesz uznać, będą zezwalać na więcej treści sklasyfikowanych jako niebezpieczne ze względu na charakter gry.
Oprócz regulowanych filtrów bezpieczeństwa Gemini API ma wbudowany ochronę przed podstawowymi zagrożeniami, takimi jak treści zagrażające bezpieczeństwu dzieci; Tego typu szkody są zawsze blokowane i nie można ich zmienić.
Poziom filtrowania pod kątem bezpieczeństwa treści
Gemini API klasyfikuje poziom prawdopodobieństwa, że treści są niebezpieczne:
HIGH
, MEDIUM
, LOW
lub NEGLIGIBLE
.
Interfejs Gemini API blokuje treści na podstawie ich prawdopodobieństwa, że są one niebezpieczne a nie wagi. Warto o tym pamiętać, ponieważ niektóre treści mogą mają niskie prawdopodobieństwo niebezpieczeństwa, chociaż poważne szkody mogą będzie wysoka. Na przykład porównując zdania:
- Robot mnie uderzył.
- Robot mnie potrącił.
Pierwsze zdanie może zwiększyć ryzyko, że jest ono niebezpieczne, ale można uznać drugie zdanie za bardziej surowe dla przemocy. Dlatego ważne jest, aby dokładnie sprawdzić i rozważyć, odpowiedni poziom blokowania do obsługi kluczowych przypadków użycia minimalizacji szkód dla użytkowników.
Filtrowanie bezpieczeństwa na żądanie
Możesz dostosować ustawienia bezpieczeństwa każdego żądania wysyłanego do interfejsu API. Kiedy
gdy wyślesz prośbę, treści zostaną przeanalizowane i przypisane do oceny bezpieczeństwa.
ocena bezpieczeństwa obejmuje kategorię i prawdopodobieństwo wyrządzenia szkody
klasyfikacja danych. Na przykład, jeśli treści zostały zablokowane ze względu na nękanie.
o wysokim prawdopodobieństwie, zwracana ocena bezpieczeństwa miałaby
kategoria jest równa HARASSMENT
, a prawdopodobieństwo szkody jest ustawione na HIGH
.
Domyślnie ustawienia bezpieczeństwa blokują treści (w tym prompty) zawierające średnią lub jest większe prawdopodobieństwo, że jest niebezpieczne przez jakikolwiek filtr. To podstawowe bezpieczeństwo jest stworzonych z myślą o większości zastosowań, należy więc dostosować tylko ustawień, jeśli są one konsekwentnie wymagane w danej aplikacji.
W tabeli poniżej znajdziesz ustawienia blokowania, które możesz dostosować w przypadku każdego typu reklam . Jeśli na przykład ustawisz blokowanie na Blokuj kilka dla szerzenie nienawiści – wszystko, co z dużym prawdopodobieństwem prowadzi do nienawiści; treści głosowe są zablokowane. Dozwolone jest jednak wszystko o mniejszym prawdopodobieństwie.
Próg (Google AI Studio) | Próg (API) | Opis |
---|---|---|
Nie blokuj niczego | BLOCK_NONE |
Zawsze wyświetlaj niezależnie od prawdopodobieństwa, że treści mogą być niebezpieczne |
Blokuj niektóre | BLOCK_ONLY_HIGH |
Blokuj w przypadku wysokiego prawdopodobieństwa wystąpienia niebezpiecznych treści |
Blokuj część | BLOCK_MEDIUM_AND_ABOVE |
Blokuj w przypadku średniego lub wysokiego prawdopodobieństwa pojawienia się niebezpiecznych treści |
Blokuj większość | BLOCK_LOW_AND_ABOVE |
Blokuj w przypadku niskiego, średniego lub wysokiego prawdopodobieństwa pojawienia się niebezpiecznych treści |
Nie dotyczy | HARM_BLOCK_THRESHOLD_UNSPECIFIED |
Próg nie jest określony; zablokuj za pomocą progu domyślnego |
Jeśli zasada nie jest skonfigurowana, domyślnym ustawieniem blokowania jest Blokuj niektóre w przypadku wszystkich kategorii.
Możesz skonfigurować te ustawienia w przypadku każdego żądania wysyłanego do usługi generatywnej.
Zobacz interfejs API HarmBlockThreshold
.
Opinia na temat bezpieczeństwa
generateContent
zwraca
GenerateContentResponse
, która
zawiera opinię dotyczącą bezpieczeństwa.
Prośby o opinię są uwzględnione w
promptFeedback
Jeśli
Wartość promptFeedback.blockReason
została ustawiona, co oznacza, że treść promptu została zablokowana.
Opinia kandydata jest uwzględniona w:
Candidate.finishReason
i
Candidate.safetyRatings
Jeśli odpowiedź
treść została zablokowana, a finishReason
miał wartość SAFETY
, możesz sprawdzić
safetyRatings
, aby uzyskać więcej informacji. Zablokowane treści nie są zwracane.
Dostosuj ustawienia bezpieczeństwa
Z tej sekcji dowiesz się, jak dostosować ustawienia bezpieczeństwa w Google AI Studio i w kodzie.
Google AI Studio
Możesz zmienić ustawienia bezpieczeństwa w Google AI Studio, ale nie możesz ich zmienić wyłączone.
W panelu Ustawienia uruchamiania kliknij Edytuj ustawienia bezpieczeństwa, aby otworzyć opcję Uruchom ustawień bezpieczeństwa. W tym oknie za pomocą suwaków możesz dostosować poziom filtrowania treści według kategorii bezpieczeństwa:
Gdy wysyłasz żądanie (np. zadając pytanie modelowi),
Jeśli treści żądania zostaną zablokowane, pojawi się komunikat No Content (Brak treści). Aby zobaczyć więcej najedź kursorem na tekst Brak zawartości i kliknij . Bezpieczeństwo.Pakiety SDK Gemini API
Fragment kodu poniżej pokazuje, jak skonfigurować ustawienia bezpieczeństwa w
GenerateContent
połączenie. To spowoduje nękanie (HARM_CATEGORY_HARASSMENT
)
i treści szerzących nienawiść (HARM_CATEGORY_HATE_SPEECH
) na
BLOCK_LOW_AND_ABOVE
, który blokuje treści o niskiej lub wyższej wartości
prawdopodobieństwo nękania lub szerzenia nienawiści.
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,
}
)
Przeczytaj
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 });
Przeglądarka
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 });
Rzutki (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);
Dalsze kroki
- Aby dowiedzieć się więcej o pełnej wersji interfejsu API, zapoznaj się z dokumentacją API.
- Zapoznaj się ze wskazówkami dotyczącymi bezpieczeństwa, aby uzyskać ogólne informacje o bezpieczeństwie. które warto wziąć pod uwagę przy tworzeniu modeli LLM.
- Więcej informacji o ocenie prawdopodobieństwa i wagi wagi znajdziesz w narzędziu Jigsaw
- Dowiedz się więcej o produktach, które pomagają w tworzeniu rozwiązań z zakresu bezpieczeństwa, takich jak Perspektywa API. * Możesz użyć tych ustawień bezpieczeństwa, aby utworzyć toksyczne zanieczyszczenie do klasyfikatora. Zobacz klasyfikację przykład pierwsze kroki.