إعدادات الأمن الشخصي

توفّر واجهة Gemini API إعدادات أمان يمكنك تعديلها خلال مرحلة إنشاء النماذج الأولية، وذلك لتحديد ما إذا كان تطبيقك يتطلّب إعدادات أمان أكثر أو أقل تقييدًا. يمكنك ضبط هذه الإعدادات عبر أربع فئات للفلاتر لحظر أنواع معينة من المحتوى أو السماح بها.

يوضّح هذا الدليل كيفية تعامل واجهة برمجة تطبيقات Gemini API مع إعدادات الأمان والفلترة وكيفية تغيير إعدادات الأمان لتطبيقك.

فلاتر الأمان

تشمل فلاتر الأمان القابلة للتعديل في Gemini API الفئات التالية:

الفئة الوصف
التحرش التعليقات السلبية أو الضارة التي تستهدِف الهوية و/أو السمات المحمية.
الكلام الذي يحضّ على الكراهية محتوى فظ أو مُهين أو مكتوب بلغة نابية
المحتوى الجنسي الفاضح يحتوي على إشارات إلى ممارسات جنسية أو محتوى فاحش آخر.
الفئات الخطيرة يروّج لأفعال ضارّة أو يسهّل تنفيذها أو يشجّع عليها

ويمكنك استخدام هذه الفلاتر لضبط ما يناسب حالة استخدامك. على سبيل المثال، إذا كنت تنشئ حوارًا للعبة فيديو، قد تعتبر أنه من المقبول السماح بمزيد من المحتوى الذي يتم تصنيفه على أنه خطير نظرًا لطبيعة اللعبة.

بالإضافة إلى فلاتر الأمان القابلة للتعديل، تتضمّن واجهة برمجة تطبيقات Gemini إجراءات حماية مدمجة من الأضرار الأساسية، مثل المحتوى الذي يعرّض سلامة الأطفال للخطر. يتم دائمًا حظر هذه الأنواع من الضرر ولا يمكن تعديلها.

مستوى فلترة المحتوى بأمان

في Gemini API، يتم تصنيف مستوى احتمالية المحتوى غير الآمن على أنّه HIGH أو MEDIUM أو LOW أو NEGLIGIBLE.

تحظر واجهة برمجة تطبيقات Gemini المحتوى استنادًا إلى احتمال أن يكون المحتوى غير آمن، وليس استنادًا إلى درجة الخطورة. من المهم مراعاة ذلك لأنّ بعض أنواع المحتوى قد تكون غير آمنة على الرغم من أنّ خطورة الضرر قد تكون عالية. على سبيل المثال، مقارنة الجمل:

  1. لكم الروبوت.
  2. رأى الروبوت يلاحق.

قد تؤدي الجملة الأولى إلى زيادة احتمالية أن تكون غير آمن، لكنك قد تعتبر الجملة الثانية أعلى خطورة في ما يتعلق بالعنف. بناءً على ذلك، من المهم أن تختبر بعناية وتفكر في مستوى الحظر المناسب اللازم لتعزيز حالات الاستخدام الرئيسية مع تقليل الضرر الذي يقع على المستخدمين النهائيين.

فلترة السلامة حسب الطلب

يمكنك ضبط إعدادات الأمان لكل طلب ترسله إلى واجهة برمجة التطبيقات. عند تقديم طلب، يتم تحليل المحتوى ومنحه تقييم سلامة. ويتضمن تصنيف السلامة الفئة واحتمالية تصنيف الضرر. على سبيل المثال، إذا تم حظر المحتوى بسبب احتمال كبير أن يكون ضمن فئة المضايقة، تكون فئة تقييم الأمان المعروضة هي HARASSMENT، وسيتم ضبط فئة احتمالية الضرر على HIGH.

تحظر إعدادات الأمان تلقائيًا المحتوى (بما في ذلك الطلبات) الذي يُحتمل أن يكون غير آمن بدرجة متوسطة أو أعلى في أي فلتر. تم تصميم نظام الأمان الأساسي هذا ليتوافق مع معظم حالات الاستخدام، لذا يجب عدم تعديل إعدادات الأمان إلا إذا كان مطلوبًا باستمرار في تطبيقك.

يوضّح الجدول التالي إعدادات الحظر التي يمكنك ضبطها لكل فئة. على سبيل المثال، إذا تم ضبط إعداد الحظر على حظر القليل للفئة الكلام الذي يحض على الكراهية، سيتم حظر كل المحتوى الذي يُحتمل أن يكون ضمن المحتوى الذي يحض على الكراهية. ولكن يُسمح بأي شيء ذي احتمالية أقل.

الحدّ الأدنى (استوديو Google AI Studio) الحدّ الأدنى (واجهة برمجة التطبيقات) الوصف
عدم حظر أي من العناصر BLOCK_NONE العرض دائمًا بغض النظر عن احتمال توفُّر محتوى غير آمن
حظر القليل BLOCK_ONLY_HIGH الحظر عند وجود احتمال كبير لمحتوى غير آمن
حظر بعض المستخدمين BLOCK_MEDIUM_AND_ABOVE الحظر عندما يكون هناك احتمال متوسط أو مرتفع لمحتوى غير آمن
حظر معظم المستخدمين BLOCK_LOW_AND_ABOVE الحظر عندما يكون احتمال المحتوى غير آمن منخفضًا أو متوسطًا أو مرتفعًا
لا ينطبق HARM_BLOCK_THRESHOLD_UNSPECIFIED لم يتم تحديد الحدّ الأدنى، ويجب الحظر باستخدام الحدّ التلقائي.

وإذا لم يتم ضبط السياسة، يتم ضبط إعداد الحظر التلقائي على حظر بعض المستخدمين لجميع الفئات.

يمكنك ضبط هذه الإعدادات لكل طلب ترسله إلى الخدمة التوليدية. يُرجى الاطّلاع على مرجع واجهة برمجة التطبيقات HarmBlockThreshold لمعرفة التفاصيل.

ملاحظات حول الأمان

تعرض generateContent عنصر GenerateContentResponse يتضمن ملاحظات متعلقة بالأمان.

تم تضمين الملاحظات حول الطلب في promptFeedback. في حال ضبط العلامة promptFeedback.blockReason، سيتم حظر محتوى الطلب.

يتم تضمين ملاحظات المرشح للاستجابة في finishReason وsafetyRatings. إذا تم حظر محتوى الرد وكان finishReason هو SAFETY، يمكنك فحص safetyRatings لمعرفة المزيد من التفاصيل. ولن يتم إرجاع المحتوى الذي تم حظره.

ضبط إعدادات الأمان

يتناول هذا القسم كيفية ضبط إعدادات الأمان في كلٍّ من "استوديو تكنولوجيات الذكاء الاصطناعي من Google" وفي الرمز البرمجي الخاص بك.

Google AI Studio

يمكنك تعديل إعدادات الأمان في "استوديو Google AI"، ولكن لا يمكنك إيقافها.

انقر على تعديل إعدادات الأمان في لوحة تشغيل الإعدادات لفتح النافذة المشروطة تشغيل إعدادات الأمان. في النافذة المشروطة، يمكنك استخدام أشرطة التمرير لضبط مستوى فلترة المحتوى حسب فئة الأمان:

عند إرسال طلب (من خلال طرح سؤال على النموذج مثلاً)، تظهر الرسالة ما مِن محتوى إذا تم حظر محتوى الطلب. للاطّلاع على مزيد من التفاصيل، ضَع مؤشر الماوس فوق النص ما مِن محتوى وانقر على الأمان.

حِزم تطوير البرامج (SDK) لواجهة برمجة تطبيقات Gemini

يعرض مقتطف الرمز التالي كيفية ضبط إعدادات الأمان في مكالمة GenerateContent. يؤدي ذلك إلى ضبط فئتَي التحرش (HARM_CATEGORY_HARASSMENT) والكلام الذي يحض على الكراهية (HARM_CATEGORY_HATE_SPEECH) على BLOCK_LOW_AND_ABOVE، ما يؤدي إلى حظر أي محتوى يُحتمل أن يكون تحرشًا أو كلامًا يحض على الكراهية.

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

البدء

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

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

Node.js

import { HarmBlockThreshold, HarmCategory } from "@google/generative-ai";

// ...

const safetySetting = [
  {
    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 });

الويب

import { HarmBlockThreshold, HarmCategory } from "@google/generative-ai";

// ...

const safetySetting = [
  {
    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 });

Dart (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);

الخطوات التالية

  • يمكنك الاطلاع على مرجع واجهة برمجة التطبيقات لمعرفة المزيد حول واجهة برمجة التطبيقات الكاملة.
  • ننصحك بمراجعة إرشادات السلامة للحصول على نظرة عامة على اعتبارات الأمان عند تطوير النماذج اللغوية الكبيرة.
  • مزيد من المعلومات حول تقييم الاحتمالات مقابل درجة الخطورة من فريق Jigsaw
  • يمكنك الاطّلاع على مزيد من المعلومات حول المنتجات التي تساهم في حلول الأمان، مثل Perspective API. * يمكنك استخدام إعدادات الأمان هذه لإنشاء مصنِّف لمستوى اللغة غير اللائقة. اطّلِع على مثال التصنيف للبدء.