تنظیمات ایمنی

بررسی اجمالی

این راهنما تنظیمات ایمنی قابل تنظیم PalM API را که برای سرویس متنی در دسترس است توضیح می دهد. در مرحله نمونه سازی، می توانید تنظیمات ایمنی را در شش بعد تنظیم کنید تا به سرعت ارزیابی کنید که آیا برنامه شما به پیکربندی کم و بیش محدودی نیاز دارد یا خیر. به‌طور پیش‌فرض، تنظیمات ایمنی محتوایی را با احتمال متوسط ​​و/یا زیاد ناامن بودن در هر شش بعد مسدود می‌کند. این ایمنی پایه به گونه‌ای طراحی شده است که برای بیشتر موارد استفاده کار کند، بنابراین فقط در صورتی باید تنظیمات ایمنی خود را تنظیم کنید که به طور مداوم برای برنامه شما مورد نیاز است.

فیلترهای ایمنی

علاوه بر فیلترهای ایمنی قابل تنظیم، PaLM API دارای محافظ های داخلی در برابر آسیب های اصلی است، مانند محتوایی که ایمنی کودک را به خطر می اندازد. این نوع آسیب ها همیشه مسدود هستند و قابل تنظیم نیستند.

فیلترهای ایمنی قابل تنظیم دسته بندی های زیر را پوشش می دهند:

  • تحقیر کننده
  • سمی
  • جنسی
  • خشن
  • پزشکی
  • خطرناک

این تنظیمات به شما، توسعه‌دهنده، اجازه می‌دهد تا تعیین کنید چه چیزی برای مورد استفاده شما مناسب است. برای مثال، اگر در حال ساخت یک گفتگوی بازی ویدیویی هستید، ممکن است اجازه دادن به محتوای بیشتری را که به دلیل ماهیت بازی به عنوان خشونت یا خطرناک رتبه بندی می شود، قابل قبول تلقی کنید. در اینجا چند نمونه دیگر از موارد استفاده وجود دارد که ممکن است به انعطاف پذیری در این تنظیمات ایمنی نیاز داشته باشند:

استفاده از مورد دسته بندی
برنامه آموزشی ضد آزار و اذیت تحقیر آمیز، جنسی، سمی
دوست مطالعه معاینه پزشکی پزشکی
فیلمنامه نویس خشونت آمیز، جنسی، پزشکی، خطرناک
طبقه بندی سموم سمی، موهن

احتمال در مقابل شدت

PaLM API محتوا را بر اساس احتمال ناامن بودن محتوا و نه بر اساس شدت مسدود می کند. این مهم است که در نظر گرفته شود زیرا برخی از محتواها ممکن است احتمال ناامن کمی داشته باشند، حتی اگر شدت آسیب همچنان بالا باشد. برای مثال، مقایسه جملات:

  1. ربات به من مشت زد.
  2. ربات به من ضربه زد.

جمله 1 ممکن است منجر به احتمال بالاتری برای ناامن بودن شود، اما ممکن است جمله 2 را از نظر خشونت شدیدتر در نظر بگیرید.

با توجه به این موضوع، برای هر توسعه دهنده مهم است که به دقت آزمایش کند و در نظر بگیرد که چه سطح مسدودسازی مناسبی برای پشتیبانی از موارد استفاده کلیدی خود لازم است و در عین حال آسیب به کاربران نهایی را به حداقل می رساند.

تنظیمات ایمنی

تنظیمات ایمنی بخشی از درخواستی است که به سرویس متن ارسال می کنید. می توان آن را برای هر درخواستی که به API می کنید تنظیم کرد. جدول زیر دسته‌هایی را که می‌توانید تنظیم کنید فهرست می‌کند و نوع آسیبی که هر دسته شامل می‌شود را شرح می‌دهد.

دسته بندی ها توضیحات
تحقیر کننده نظرات منفی یا مضر که هویت و/یا ویژگی های محافظت شده را هدف قرار می دهد.
سمی محتوایی که بی ادب، بی احترامی یا توهین آمیز است.
جنسی حاوی ارجاعاتی به اعمال جنسی یا سایر محتوای زننده است.
خشن سناریوهایی را توصیف می‌کند که خشونت علیه یک فرد یا گروه را به تصویر می‌کشد، یا توصیف‌های کلی از گور را توصیف می‌کند.
خطرناک اقدامات مضر را ترویج، تسهیل یا تشویق می کند.
پزشکی مطالب مرتبط با موضوعات پزشکی

شما می توانید این تعاریف را در مرجع API نیز مشاهده کنید.

جدول زیر تنظیمات بلوک را که می توانید برای هر دسته تنظیم کنید، توضیح می دهد. به عنوان مثال، اگر تنظیم بلاک را برای دسته تحقیرآمیز روی Block few قرار دهید، هر چیزی که احتمال زیادی دارد محتوای تحقیرآمیز باشد مسدود می شود. اما هر چیزی با احتمال کمتر مجاز است.

اگر تنظیم نشده باشد، بسته به دسته خط‌مشی، تنظیم بلوک پیش‌فرض Block some یا Block most است.

آستانه (استودیوی هوش مصنوعی گوگل) آستانه (API) شرح
هیچکدام را مسدود نکنید BLOCK_NONE همیشه بدون توجه به احتمال محتوای ناامن نشان داده شود
تعداد کمی را بلاک کنید BLOCK_ONLY_HIGH زمانی که احتمال بالای محتوای ناامن وجود دارد مسدود شود
برخی را مسدود کنید ( پیش‌فرض برای جنسی، خشونت، خطرناک و پزشکی ) BLOCK_MEDIUM_AND_ABOVE مسدود کردن زمانی که احتمال متوسط ​​یا زیاد محتوای ناامن وجود دارد
مسدود کردن اکثر ( پیش‌فرض برای تحقیر و سمیت ) BLOCK_LOW_AND_ABOVE مسدود کردن زمانی که احتمال کم، متوسط ​​یا زیاد محتوای ناامن وجود دارد
HARM_BLOCK_THRESHOLD_UNSPECIFIED آستانه مشخص نیست، با استفاده از آستانه پیش‌فرض مسدود کنید

شما می توانید این تنظیمات را برای هر درخواستی که به سرویس متن می دهید تنظیم کنید. برای جزئیات بیشتر به مرجع HarmBlockThreshold API مراجعه کنید.

بازخورد ایمنی

اگر محتوا مسدود شده بود، پاسخ API حاوی دلیل مسدود شدن آن در قسمت ContentFilter.reason است. اگر دلیل مربوط به ایمنی بود، پاسخ همچنین حاوی یک فیلد SafetyFeedback است که شامل تنظیمات ایمنی استفاده شده برای آن درخواست و همچنین رتبه ایمنی است. رتبه بندی ایمنی شامل دسته بندی و احتمال طبقه بندی آسیب است. محتوای مسدود شده برگردانده نمی شود.

احتمال برگشتی مطابق با سطوح اطمینان بلوک مطابق جدول زیر است:

احتمال شرح
قابل اغماض احتمال ناامن بودن محتوا بسیار ناچیز است
کم احتمال ناامن بودن محتوا کم است
متوسط احتمال ناامن بودن محتوا متوسط ​​است
بالا احتمال ناامن بودن محتوا زیاد است

به عنوان مثال، اگر محتوا به دلیل احتمال بالا بودن دسته سمیت مسدود شده باشد، رتبه ایمنی بازگردانده شده دارای دسته مساوی با TOXICITY و احتمال آسیب روی HIGH تنظیم می شود.

تنظیمات ایمنی در Google AI Studio

می‌توانید این تنظیمات را در Google AI Studio نیز تنظیم کنید. در تنظیمات Run ، روی ویرایش تنظیمات ایمنی کلیک کنید:

دکمه تنظیمات ایمنی

و از دستگیره ها برای تنظیم هر تنظیمات استفاده کنید:

دکمه تنظیمات ایمنی

اگر محتوا مسدود شده باشد، یک پیام بدون محتوا ظاهر می شود. برای مشاهده جزئیات بیشتر، نشانگر را روی No Content نگه دارید و روی ایمنی کلیک کنید.

نمونه های کد

این بخش نحوه استفاده از تنظیمات ایمنی در کد با استفاده از کتابخانه کلاینت پایتون را نشان می دهد.

درخواست نمونه

در زیر یک قطعه کد پایتون است که نحوه تنظیم تنظیمات ایمنی در تماس GenerateText را نشان می دهد. این دسته‌بندی آسیب‌های Derogatory و Violence روی BLOCK_LOW_AND_ABOVE تنظیم می‌کند که هر محتوایی را که احتمال خشونت‌آمیز یا تحقیرآمیز کم یا بالاتر دارد مسدود می‌کند.

completion = genai.generate_text(
    model=model,
    prompt=prompt,
    safety_settings=[
        {
            "category": safety_types.HarmCategory.HARM_CATEGORY_DEROGATORY,
            "threshold": safety_types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        },
        {
            "category": safety_types.HarmCategory.HARM_CATEGORY_VIOLENCE,
            "threshold": safety_types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        },
    ]
)

نمونه پاسخ

در زیر یک قطعه کد برای تجزیه بازخورد ایمنی از پاسخ نشان داده شده است. توجه داشته باشید که بازخورد ایمنی خالی خواهد بود مگر اینکه دلیل مسدود شدن یکی از ابعاد ایمنی باشد.

# First check the content filter reason
for filter in completion.filters:
    print(filter["reason"])

# If any of the reason is "safety", then the safety_feedback field will be
# populated
for feedback in completion.safety_feedback:
    print(feedback["rating"])
    print(feedback["setting"])s

مراحل بعدی

  • برای اطلاعات بیشتر در مورد API کامل به مرجع API مراجعه کنید.
  • برای نگاهی کلی به ملاحظات ایمنی هنگام توسعه با LLM، راهنمای ایمنی را مرور کنید.
  • درباره ارزیابی احتمال در مقابل شدت از تیم Jigsaw بیشتر بیاموزید
  • درباره محصولاتی که به راهکارهای ایمنی مانند Perspective API کمک می کنند، بیشتر بیاموزید.
  • می توانید از این تنظیمات ایمنی برای ایجاد یک طبقه بندی سمیت استفاده کنید. برای شروع به مثال طبقه بندی مراجعه کنید.