Ustawienia bezpieczeństwa

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:

  1. Robot mnie uderzył.
  2. 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.