Модерация контента

Автоматически выявляйте в тексте нарушения и вредный контент — насилие, ненависть, харассмент, self-harm, сексуальный контент. Модель возвращает вердикт по каждой категории и оценку уверенности 0–1. Эндпоинт совместим с OpenAI Moderations.

Без кода — в Студии. Во вкладке Модерация ИИ-Студии можно вставить текст и сразу увидеть вердикт (✓ безопасно / ⚠️ нарушение) с разбивкой по категориям и шкалой уверенности.
ЭндпоинтPOST https://megaapi.ru/v1/moderations
Модельomni-moderation-latest (рекомендуется), text-moderation-stable
ВходСтрока или массив строк (батч)
Выходresults[].flagged + categories + category_scores

Запрос

POST https://megaapi.ru/v1/moderations
Authorization: Bearer sk-...
Content-Type: application/json

{
    "model": "omni-moderation-latest",
    "input": "Текст для проверки"
}

Ответ

{
    "id": "modr-...",
    "model": "omni-moderation-latest",
    "results": [{
        "flagged": true,
        "categories": { "violence": true, "hate": false, ... },
        "category_scores": { "violence": 0.9876, "hate": 0.0001, ... }
    }]
}
ПолеОписание
flaggedБулево: обнаружены ли нарушения.
categoriesБинарный вердикт по каждой категории.
category_scoresОценка уверенности 0–1 по каждой категории.

Категории

КатегорияЧто выявляет
hate / hate/threateningРазжигание ненависти, в т.ч. с угрозами.
harassment / harassment/threateningОскорбления, травля, личные нападки.
self-harm / /intent / /instructionsСамоповреждение: поощрение, намерение, инструкции.
sexual / sexual/minorsСексуальный контент; отдельно — с участием несовершеннолетних.
violence / violence/graphicНасилие и детальные жестокие сцены.

Поддерживается русский, английский и другие языки.

Интеграция: двусторонняя проверка

Проверяйте и вход пользователя, и выход модели:

from openai import OpenAI
client = OpenAI(api_key="sk-...", base_url="https://megaapi.ru/v1")

def safe_chat(user_message):
    # 1. Модерация ввода
    m = client.moderations.create(model="omni-moderation-latest", input=user_message)
    if m.results[0].flagged:
        return "Сообщение содержит недопустимый контент."

    # 2. Генерация ответа
    resp = client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": user_message}],
    )
    reply = resp.choices[0].message.content

    # 3. Модерация ответа
    out = client.moderations.create(model="omni-moderation-latest", input=reply)
    return "Ответ не прошёл проверку." if out.results[0].flagged else reply

Пороги и многоуровневая обработка

Реагируйте по уровню уверенности, а не только по flagged:

Максимальный скорРекомендуемое действие
> 0.95Жёсткая блокировка
0.80–0.95Ручная проверка модератором
0.50–0.80Предупреждение пользователю
< 0.50Пропустить (вероятно, ложное срабатывание)

Сценарии

Открыть в Студии → Полный справочник API Все модели