Cilësimet e sigurisë

Gemini API ofron cilësime sigurie që mund t'i rregulloni gjatë fazës së prototipit për të përcaktuar nëse aplikacioni juaj kërkon konfigurim pak a shumë kufizues të sigurisë. Ju mund t'i rregulloni këto cilësime në katër kategori filtrash për të kufizuar ose lejuar lloje të caktuara të përmbajtjes.

Ky udhëzues mbulon mënyrën se si Gemini API trajton cilësimet dhe filtrimin e sigurisë dhe si mund të ndryshoni cilësimet e sigurisë për aplikacionin tuaj.

Filtra sigurie

Filtrat e rregullueshëm të sigurisë të Gemini API mbulojnë kategoritë e mëposhtme:

Kategoria Përshkrimi
Ngacmimi Komentet negative ose të dëmshme që synojnë identitetin dhe/ose atributet e mbrojtura.
Gjuha e urrejtjes Përmbajtje që është e vrazhdë, mosrespektuese ose profane.
Seksualisht eksplicite Përmban referenca për akte seksuale ose përmbajtje të tjera të turpshme.
E rrezikshme Promovon, lehtëson ose inkurajon veprime të dëmshme.
Integriteti qytetar Pyetje lidhur me zgjedhjet.

Ju mund t'i përdorni këto filtra për të rregulluar atë që është e përshtatshme për rastin tuaj të përdorimit. Për shembull, nëse po krijoni dialog për lojëra video, mund ta konsideroni të pranueshme të lejoni më shumë përmbajtje që vlerësohen si të rrezikshme për shkak të natyrës së lojës.

Përveç filtrave të rregullueshëm të sigurisë, Gemini API ka mbrojtje të integruar kundër dëmtimeve thelbësore, të tilla si përmbajtje që rrezikojnë sigurinë e fëmijëve. Këto lloj dëmesh janë gjithmonë të bllokuara dhe nuk mund të rregullohen.

Niveli i filtrimit të sigurisë së përmbajtjes

API-ja e Gemini kategorizon nivelin e probabilitetit të përmbajtjes që të jetë i pasigurt si HIGH , MEDIUM , LOW , ose NEGLIGIBLE .

API Gemini bllokon përmbajtjen bazuar në probabilitetin që përmbajtja të jetë e pasigurt dhe jo nga ashpërsia. Kjo është e rëndësishme të merret parasysh sepse disa përmbajtje mund të kenë probabilitet të ulët për të qenë të pasigurt edhe pse ashpërsia e dëmtimit mund të jetë ende e lartë. Për shembull, krahasimi i fjalive:

  1. Roboti më goditi me grusht.
  2. Roboti më goditi.

Fjalia e parë mund të rezultojë në një probabilitet më të lartë për të qenë të pasigurt, por ju mund ta konsideroni fjalinë e dytë si një ashpërsi më të lartë për sa i përket dhunës. Duke pasur parasysh këtë, është e rëndësishme që të testoni me kujdes dhe të konsideroni se cili nivel i duhur i bllokimit nevojitet për të mbështetur rastet tuaja kryesore të përdorimit, duke minimizuar dëmin për përdoruesit përfundimtarë.

Filtrim i sigurisë sipas kërkesës

Mund të rregulloni cilësimet e sigurisë për çdo kërkesë që i bëni API-së. Kur bëni një kërkesë, përmbajtja analizohet dhe i caktohet një vlerësim sigurie. Vlerësimi i sigurisë përfshin kategorinë dhe probabilitetin e klasifikimit të dëmit. Për shembull, nëse përmbajtja është bllokuar për shkak të kategorisë së ngacmimit që ka një probabilitet të lartë, vlerësimi i sigurisë i kthyer do të kishte kategorinë e barabartë me HARASSMENT dhe probabilitetin e dëmtimit të vendosur në HIGH .

Si parazgjedhje, cilësimet e sigurisë bllokojnë përmbajtjen (përfshirë kërkesat) me probabilitet mesatar ose më të lartë për të qenë të pasigurt në çdo filtër. Kjo siguri bazë është krijuar për të funksionuar për shumicën e rasteve të përdorimit, kështu që ju duhet të rregulloni cilësimet tuaja të sigurisë vetëm nëse kërkohet vazhdimisht për aplikacionin tuaj.

Tabela e mëposhtme përshkruan cilësimet e bllokut që mund të rregulloni për secilën kategori. Për shembull, nëse vendosni cilësimin e bllokut në Blloko pak për kategorinë e gjuhës së urrejtjes , gjithçka që ka një probabilitet të lartë për të qenë përmbajtje e gjuhës së urrejtjes bllokohet. Por çdo gjë me një probabilitet më të ulët lejohet.

Pragu (Google AI Studio) Pragu (API) Përshkrimi
Blloko asnjë BLOCK_NONE Shfaq gjithmonë pavarësisht nga probabiliteti i përmbajtjes së pasigurt
Blloko pak BLOCK_ONLY_HIGH Blloko kur ka probabilitet të lartë për përmbajtje të pasigurt
Blloko disa BLOCK_MEDIUM_AND_ABOVE Blloko kur ka probabilitet mesatar ose të lartë për përmbajtje të pasigurt
Blloko shumicën BLOCK_LOW_AND_ABOVE Blloko kur ka probabilitet të ulët, mesatar ose të lartë për përmbajtje të pasigurt
N/A HARM_BLOCK_THRESHOLD_UNSPECIFIED Pragu është i paspecifikuar, blloko duke përdorur pragun e paracaktuar

Nëse pragu nuk është caktuar, pragu i parazgjedhur i bllokut është Block most (vetëm për gemini-1.5-pro-002 dhe gemini-1.5-flash-002 ) ose Blloko disa (në të gjitha modelet e tjera) për të gjitha kategoritë, përveç kategorisë së integritetit qytetar .

Pragu i parazgjedhur i bllokut për kategorinë e integritetit qytetar është Blloko më së shumti kur dërgon kërkesa duke përdorur Google AI Studio dhe Blloko asnjë kur përdor drejtpërdrejt API-në Gemini.

Ju mund t'i vendosni këto cilësime për çdo kërkesë që i bëni shërbimit gjenerues. Shikoni referencën HarmBlockThreshold API për detaje.

Komentet e sigurisë

generateContent kthen një GenerateContentResponse e cila përfshin komente për sigurinë.

Reagimet e menjëhershme përfshihen në promptFeedback . Nëse është caktuar promptFeedback.blockReason , atëherë përmbajtja e kërkesës është bllokuar.

Reagimet e kandidatit për përgjigje përfshihen në Candidate.finishReason dhe Candidate.safetyRatings . Nëse përmbajtja e përgjigjes u bllokua dhe finishReason ishte SAFETY , mund të inspektoni safetyRatings për më shumë detaje. Përmbajtja e bllokuar nuk kthehet.

Rregulloni cilësimet e sigurisë

Ky seksion mbulon se si të rregulloni cilësimet e sigurisë si në Google AI Studio ashtu edhe në kodin tuaj.

Google AI Studio

Mund të rregulloni cilësimet e sigurisë në Google AI Studio, por nuk mund t'i çaktivizoni.

Klikoni "Modifiko cilësimet e sigurisë" në panelin e cilësimeve "Run" për të hapur modalin "Ekzekuto cilësimet e sigurisë" . Në modal, mund të përdorni rrëshqitësit për të rregulluar nivelin e filtrimit të përmbajtjes sipas kategorisë së sigurisë:

Kur dërgoni një kërkesë (për shembull, duke i bërë një pyetje modelit), shfaqet një mesazh pa përmbajtje nëse përmbajtja e kërkesës është e bllokuar. Për të parë më shumë detaje, mbajeni treguesin mbi tekstin Pa përmbajtje dhe klikoni Siguria .

Gemini API SDK

Pjesa e mëposhtme e kodit tregon se si të vendosni cilësimet e sigurisë në telefonatën tuaj GenerateContent . Kjo cakton pragjet për kategoritë e ngacmimeve ( HARM_CATEGORY_HARASSMENT ) dhe gjuhës së urrejtjes ( HARM_CATEGORY_HATE_SPEECH ). Për shembull, vendosja e këtyre kategorive në BLOCK_LOW_AND_ABOVE bllokon çdo përmbajtje që ka një probabilitet të ulët ose më të lartë për të qenë ngacmim ose gjuhë urrejtjeje. Për të kuptuar cilësimet e pragut, shihni Filtrimi i sigurisë për kërkesë .

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

Shkoni

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

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

Nyja.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 });

Shigjetë (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);

PUSHIMI

    echo '{
    "safetySettings": [
        {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_ONLY_HIGH"},
        {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"}
    ],
    "contents": [{
        "parts":[{
            "text": "'I support Martians Soccer Club and I think Jupiterians Football Club sucks! Write a ironic phrase about them.'"}]}]}' > request.json

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=$GOOGLE_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d @request.json 2> /dev/null

Hapat e ardhshëm

  • Shikoni referencën API për të mësuar më shumë rreth API-së së plotë.
  • Rishikoni udhëzimet e sigurisë për një vështrim të përgjithshëm në konsideratat e sigurisë gjatë zhvillimit me LLM.
  • Mësoni më shumë rreth vlerësimit të probabilitetit kundrejt ashpërsisë nga ekipi Jigsaw
  • Mësoni më shumë rreth produkteve që kontribuojnë në zgjidhjet e sigurisë si Perspective API . * Ju mund t'i përdorni këto cilësime sigurie për të krijuar një klasifikues toksiciteti. Shihni shembullin e klasifikimit për të filluar.