← Усі рецептиПотоки повідомлень / PYTHON

Модерація з чергою перевірки

Розрізняйте запитання, коректну критику, спам і образи. Невизначені повідомлення залишайте для модератора.

До 3 API-запитівДані: вигадані, англійськоюЗовнішні дії: 0
01 / ПРОЦЕС

Що вирішує модель. Що перевіряє код.

  1. Кожне вигадане повідомлення отримує три незалежні Noul: спам, особиста образа та продуктове запитання.
  2. За високого ризику код позначає hold, за низького — show, між порогами — review.
  3. Повідомлення обробляються послідовно з обмеженим бюджетом. Результат — локальний список рішень, без видалення чи публікації повідомлень.
02 / ЛОКАЛЬНИЙ ЗАПУСК

Прочитайте. Запустіть. Відтворіть.

Розпакуйте архів і відкрийте каталог у терміналі. Перший крок працює без ключа та мережі.

1 · offline plan · 0 API requests
python3 runner.py moderation

Для реального запуску задайте SHVYDKO_API_KEY у середовищі свого комп’ютера або сервера. Не вставляйте ключ у браузер чи вихідний код. Діють поточні квоти й тариф вашого облікового запису.

2 · explicit live run
python3 runner.py moderation --live --output moderation-run.json

Звіт містить запити, справжні відповіді, час і відоме використання. Файл створюється з приватними правами та не перезаписує наявний. Після мережевої помилки автоматичного повтору немає: перевірте Usage перед новим викликом.

3 · replay saved responses · 0 API requests
python3 runner.py moderation --replay moderation-run.json

Replay перевіряє відповідність рецепта, вхідних даних і запитів. Локальний файл можна редагувати, тому він не є підписаним доказом походження відповідей. Якщо заміните дані своїми, звіт також міститиме їх — зберігайте його приватно.

03 / ПЛАН ЗАПИТІВ

Відкритий контракт, без прихованих кроків.

План нижче згенеровано тим самим runner із даних архіву. Це запити й очікування автора, а не результат моделі.

offline-plan.json
{
  "mode": "offline_plan",
  "model_calls": 0,
  "recipe": "moderation",
  "author_expectation": {
    "m1": "show",
    "m2": "hold",
    "m3": "show"
  },
  "notice": "Requests only, no model answers. Hierarchy includes conditional branches; repetition requests are templates.",
  "requests": [
    {
      "state": {
        "message": "Where can I find the API documentation?",
        "policy": "Respectful criticism and product questions are allowed. Hold unsolicited promotional spam or personal abuse for moderator review."
      },
      "questions": {
        "spam": {
          "type": "noul",
          "instructions": "This is unsolicited promotional spam."
        },
        "abuse": {
          "type": "noul",
          "instructions": "This contains personal abuse, not just criticism."
        },
        "question": {
          "type": "noul",
          "instructions": "This asks a product-related question."
        }
      }
    },
    {
      "state": {
        "message": "BUY NOW BUY NOW! Click my unrelated promotion for free prizes!",
        "policy": "Respectful criticism and product questions are allowed. Hold unsolicited promotional spam or personal abuse for moderator review."
      },
      "questions": {
        "spam": {
          "type": "noul",
          "instructions": "This is unsolicited promotional spam."
        },
        "abuse": {
          "type": "noul",
          "instructions": "This contains personal abuse, not just criticism."
        },
        "question": {
          "type": "noul",
          "instructions": "This asks a product-related question."
        }
      }
    },
    {
      "state": {
        "message": "I disagree with this pricing, but the docs are useful.",
        "policy": "Respectful criticism and product questions are allowed. Hold unsolicited promotional spam or personal abuse for moderator review."
      },
      "questions": {
        "spam": {
          "type": "noul",
          "instructions": "This is unsolicited promotional spam."
        },
        "abuse": {
          "type": "noul",
          "instructions": "This contains personal abuse, not just criticism."
        },
        "question": {
          "type": "noul",
          "instructions": "This asks a product-related question."
        }
      }
    }
  ]
}