Как добавить AI-модерацию сообщений в Python-проект за 10 минут
Автоматическая модерация стала необходимостью для онлайн-сервисов, форумов, игровых чатов и социальных сетей. Тысячи сообщений ежедневно содержат спам, оскорбления или нежелательный контент.
Чтобы эффективно решать эту задачу, сервис Kolas.ai предлагает SaaS-платформу для классификации сообщений. Теперь для разработчиков доступен официальный Python-клиент Kolas.ai, опубликованный на PyPI, который позволяет быстро интегрировать API в любые Python-проекты.
В этом руководстве мы подробно рассмотрим установку, настройку и примеры использования.
Почему стоит выбрать Kolas.ai для автоматической модерации
- Классификация сообщений по категориям: Neutral, Spam, Insult и др.
- Поддержка языков: английский, русский, украинский (другие добавляются по запросу).
- Безопасность: авторизация через протокол OAuth2.
- Гибкость: поддержка как синхронной, так и асинхронной обработки сообщений.
- Высокая точность благодаря ML-моделям, обученным на реальных пользовательских данных.
Установка Python-клиента Kolas.ai
Чтобы подключить клиент к проекту, выполните установку через pip
:
pip install clean-talk-client
- PyPI: https://pypi.org/project/clean-talk-client/
- GitHub: https://github.com/kolasai/clean-talk-python-client
Создание проекта Clean Talk
Для интеграции API нужно:
- Зарегистрироваться на Kolas.ai.
- Создать новый проект Clean Talk и загрузить датасеты для обучения.
- Получить Client ID и Client Secret.
- (Опционально) Настроить webhook для асинхронной классификации сообщений.
Аутентификация через OAuth2
from clean_talk_client.kolas_ai_oauth_client import KolasAiOAuthClient
YOUR_CLIENT_ID = '' # Set your client ID
YOUR_CLIENT_SECRET = '' # Set your client secret
oauth_client = KolasAiOAuthClient()
auth_result = oauth_client.auth(YOUR_CLIENT_ID, YOUR_CLIENT_SECRET)
Access token обновляется после истечения срока действия.
Синхронная классификация сообщений (Sync API)
Синхронная обработка подходит для чат-ботов, систем поддержки, интерактивных приложений.
from clean_talk_client.clean_talk_prediction_client import CleanTalkPredictionClient
from clean_talk_client.message import Message
from clean_talk_client.predict_request import PredictRequest
YOUR_PROJECT_ID = '' # Set your project ID
client = CleanTalkPredictionClient(auth_result.access_token)
request = PredictRequest(
YOUR_PROJECT_ID,
[
Message('11177c92-1266-4817-ace5-cda430481111', 'Hello world!'),
Message('22277c92-1266-4817-ace5-cda430482222', 'Good buy world!'),
]
)
# Sync request to kolas.ai. It returns result of predictions immediately
response = client.predict(request)
for prediction in response.get_predictions():
print("MessageId:", prediction.message_id)
print("Message:", prediction.message)
print("Prediction:", prediction.prediction)
print("Probability:", prediction.probability)
print("Categories:", ", ".join(prediction.categories))
Пример результата:
MessageId: 11177c92-1266-4817-ace5-cda430481111
Message: Hello world!
Prediction: Neutral
Probability: 0.9036153107882
Categories: Insult, Neutral, Spam
MessageId: 22277c92-1266-4817-ace5-cda430482222
Message: Good buy world!
Prediction: Neutral
Probability: 0.99374455213547
Categories: Insult, Neutral, Spam
Асинхронная классификация сообщений (Async API)
Если необходимо обрабатывать большой поток данных (форумы, социальные сети, игровые чаты), используйте асинхронный режим:
from clean_talk_client.clean_talk_prediction_client import CleanTalkPredictionClient
from clean_talk_client.message import Message
from clean_talk_client.predict_request import PredictRequest
YOUR_PROJECT_ID = '11' # Set your project ID
client = CleanTalkPredictionClient(auth_result.access_token)
request = PredictRequest(
YOUR_PROJECT_ID,
[
Message('11177c92-1266-4817-ace5-cda430481111', 'Hello world!'),
Message('22277c92-1266-4817-ace5-cda430482222', 'Good buy world!'),
]
)
client.async_predict(request)
Результаты приходят на ваш webhook.
Заключение
Интеграция Python-клиента Kolas.ai в проект позволяет:
- Автоматизировать модерацию чатов и форумов.
- Уменьшить нагрузку на ручных модераторов.
- Повысить качество пользовательских коммуникаций.
Попробуйте прямо сейчас: установите пакет с PyPI, подключите API, и получите готовый инструмент для фильтрации спама и оскорблений в реальном времени.