הסבר על הגדרות הבטיחות ושימוש בהן

אתם יכולים להשתמש בהגדרות הבטיחות כדי לשנות את הסבירות לקבלת תשובות שעשויות להיחשב כמזיקות. כברירת מחדל, הגדרות הבטיחות חוסמות תוכן שיש לו הסתברות בינונית ו/או גבוהה להיות תוכן לא בטוח בכל המאפיינים.

מעבר להגדרות הבטיחות של Gemini מעבר להגדרות הבטיחות של Imagen

הגדרות בטיחות לדגמי Gemini

מידע נוסף על הגדרות הבטיחות של מודלים מסוג Gemini זמין במסמכי העזרה של Google Cloud.

Swift

מגדירים את SafetySettings כשיוצרים מכונה של GenerativeModel.

דוגמה עם הגדרת בטיחות אחת:

// ...

let model = vertex.generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  safetySettings: [
    SafetySetting(harmCategory: .harassment, threshold: .blockOnlyHigh)
  ]
)

// ...

דוגמה עם כמה הגדרות בטיחות:

// ...

let harassmentSafety = SafetySetting(harmCategory: .harassment, threshold: .blockOnlyHigh)
let hateSpeechSafety = SafetySetting(harmCategory: .hateSpeech, threshold: .blockMediumAndAbove)

let model = vertex.generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  safetySettings: [harassmentSafety, hateSpeechSafety]
)

// ...

Kotlin

מגדירים את SafetySettings כשיוצרים מכונה של GenerativeModel.

דוגמה עם הגדרת בטיחות אחת:

import com.google.firebase.vertexai.type.HarmBlockThreshold
import com.google.firebase.vertexai.type.HarmCategory
import com.google.firebase.vertexai.type.SafetySetting

val generativeModel = Firebase.vertexAI.generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    safetySettings = listOf(
        SafetySetting(HarmCategory.HARASSMENT, HarmBlockThreshold.ONLY_HIGH)
    )
)

// ...

דוגמה עם כמה הגדרות בטיחות:

import com.google.firebase.vertexai.type.HarmBlockThreshold
import com.google.firebase.vertexai.type.HarmCategory
import com.google.firebase.vertexai.type.SafetySetting

val harassmentSafety = SafetySetting(HarmCategory.HARASSMENT, HarmBlockThreshold.ONLY_HIGH)
val hateSpeechSafety = SafetySetting(HarmCategory.HATE_SPEECH, HarmBlockThreshold.MEDIUM_AND_ABOVE)

val generativeModel = Firebase.vertexAI.generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    safetySettings = listOf(harassmentSafety, hateSpeechSafety)
)

// ...

Java

מגדירים את SafetySettings כשיוצרים מכונה של GenerativeModel.

SafetySetting harassmentSafety = new SafetySetting(HarmCategory.HARASSMENT,
    HarmBlockThreshold.ONLY_HIGH);

GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
    "GEMINI_MODEL_NAME",
    /* generationConfig is optional */ null,
    Collections.singletonList(harassmentSafety)
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

דוגמה עם כמה הגדרות בטיחות:

SafetySetting harassmentSafety = new SafetySetting(HarmCategory.HARASSMENT,
    HarmBlockThreshold.ONLY_HIGH);

SafetySetting hateSpeechSafety = new SafetySetting(HarmCategory.HATE_SPEECH,
    HarmBlockThreshold.MEDIUM_AND_ABOVE);

GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
    "GEMINI_MODEL_NAME",
    /* generationConfig is optional */ null,
    List.of(harassmentSafety, hateSpeechSafety)
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

Web

מגדירים את SafetySettings כשיוצרים מכונה של GenerativeModel.

דוגמה עם הגדרת בטיחות אחת:

import { HarmBlockThreshold, HarmCategory, getGenerativeModel } from "firebase/vertexai";

// ...

const safetySettings = [
  {
    category: HarmCategory.HARM_CATEGORY_HARASSMENT,
    threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH,
  },
];

const model = getGenerativeModel(vertex, { model: "GEMINI_MODEL_NAME", safetySettings });

// ...

דוגמה עם כמה הגדרות בטיחות:

import { HarmBlockThreshold, HarmCategory, getGenerativeModel } from "firebase/vertexai";

// ...

const safetySettings = [
  {
    category: HarmCategory.HARM_CATEGORY_HARASSMENT,
    threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH,
  },
  {
    category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
    threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
  },
];

const model = getGenerativeModel(vertex, { model: "GEMINI_MODEL_NAME", safetySettings });

// ...

Dart

מגדירים את SafetySettings כשיוצרים מכונה של GenerativeModel.

דוגמה עם הגדרת בטיחות אחת:

// ...

final safetySettings = [
  SafetySetting(HarmCategory.harassment, HarmBlockThreshold.high)
];
final model = FirebaseVertexAI.instance.generativeModel(
  model: 'GEMINI_MODEL_NAME',
  safetySettings: safetySettings,
);

// ...

דוגמה עם כמה הגדרות בטיחות:

// ...

final safetySettings = [
  SafetySetting(HarmCategory.harassment, HarmBlockThreshold.high),
  SafetySetting(HarmCategory.hateSpeech, HarmBlockThreshold.high),
];
final model = FirebaseVertexAI.instance.generativeModel(
  model: 'GEMINI_MODEL_NAME',
  safetySettings: safetySettings,
);

// ...

הגדרות בטיחות לדגמי Imagen

בתיעוד של Google Cloud מפורט מידע על כל הגדרות הבטיחות הנתמכות והערכים הזמינים שלהן במודלים של Imagen.

Swift

מגדירים את ImagenSafetySettings כשיוצרים מכונה של ImagenModel.

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

// Create an `ImagenModel` instance
let model = vertex.imagenModel(
  modelName: "IMAGEN_MODEL_NAME",
  // Configure image generation safety settings for the model
  safetySettings: ImagenSafetySettings(
    safetyFilterLevel: .blockLowAndAbove,
    personFilterLevel: .allowAdult
  )
)

// ...

Kotlin

מגדירים את ImagenSafetySettings כשיוצרים מכונה של ImagenModel.

// Create an `ImagenModel` instance
val imagenModel = Firebase.vertexAI.imagenModel(
  modelName = "IMAGEN_MODEL_NAME",
  // Configure image generation safety settings for the model
  safetySettings = ImagenSafetySettings(
    safetyFilterLevel = ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
    personFilterLevel = ImagenPersonFilterLevel.BLOCK_ALL
  )
)

// ...

Java

מגדירים את ImagenSafetySettings כשיוצרים מכונה של ImagenModel.

// Create an `ImagenModel` instance
ImagenModel imagenModel =
    FirebaseVertexAI.getInstance().imagenModel(
            /* modelName */ "IMAGEN_MODEL_NAME",
            /* imageGenerationConfig */ null);
ImagenModelFutures model = ImagenModelFutures.from(imagenModel);

// ...

Web

מגדירים את ImagenSafetySettings כשיוצרים מכונה של ImagenModel.

// Create an `ImagenModel` instance
const imagenModel = getImagenModel(
  vertexAI,
  {
    model: "IMAGEN_MODEL_NAME",
    // Configure image generation safety settings for the model
    safetySettings: {
      safetyFilterLevel: ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
      personFilterLevel: ImagenPersonFilterLevel.ALLOW_ADULT,
    }
  }
);

// ...

Dart

מגדירים את ImagenSafetySettings כשיוצרים מכונה של ImagenModel.

// Create an `ImagenModel` instance
var model = FirebaseVertexAI.instance.imagenModel(
  model: 'IMAGEN_MODEL_NAME',
  // Configure image generation safety settings for the model
  safetySettings: ImagenSafetySettings(
    ImagenSafetyFilterLevel.blockLowAndAbove,
    ImagenPersonFilterLevel.allowAdult,
  ),
);

// ...

אפשרויות נוספות לשליטה ביצירת תוכן

  • מידע נוסף על עיצוב הנחיות כדי שתוכלו להשפיע על המודל כך שיניב פלט ספציפי לצרכים שלכם.
  • מגדירים פרמטרים של מודל כדי לקבוע איך המודל ייצור תשובה. במודלים מסוג Gemini, הפרמטרים האלה כוללים את מספר האסימונים המקסימלי בפלט, הטמפרטורה, topK ו-topP. במודלים מסוג Imagen, האפשרויות האלה כוללות יחס גובה-רוחב, יצירת אנשים, הוספת סימני מים וכו'.
  • מגדירים הוראות מערכת כדי להשפיע על התנהגות המודל. התכונה הזו היא כמו 'מבוא' שמוסיפים לפני שהמודל נחשף להוראות נוספות ממשתמש הקצה.
  • מעבירים סכימה של תגובה יחד עם ההנחיה כדי לציין סכימת פלט ספציפית. התכונה הזו משמשת בדרך כלל ליצירת פלט JSON, אבל אפשר להשתמש בה גם למשימות סיווג (למשל, כשרוצים שהמודל ישתמש בתוויות או בתגים ספציפיים).