В современных веб-приложениях огромную роль играет пользовательский контент — от чатов и форумов до комментариев. Но вместе с открытым общением появляются и вызовы: спам, оскорбления и токсичное поведение. Создание собственной системы модерации требует много времени и ресурсов. Вместо этого вы можете подключить Kolas.ai Clean Talk API в ваш PHP-проект с помощью официального PHP-клиента.

В этом руководстве показано, как интегрировать его пошагово.

Создание проекта Clean Talk

Прежде всего, необходимо создать новую учётную запись и новый проект Clean Talk в Kolas.ai.
Если ваше PHP-приложение должно поддерживать асинхронную интеграцию, добавьте webhook приложения в настройках проекта и получите секрет для X-Signature.

Шаг 1. Установка PHP-клиента

Добавьте Clean Talk PHP-клиент в проект с помощью Composer (GitHub):

composer require kolasai/clean-talk-php-client

Шаг 2. Аутентификация

Аутентифицируйтесь с помощью учётных данных проекта, чтобы получить токен:

use CleanTalkKolasAiOAuthClient;

$oauthClient = new KolasAiOAuthClient();
$authResult = $oauthClient->auth(YOUR_CLIENT_ID, YOUR_CLIENT_SECRET);

Шаг 3. Классификация сообщений

Отправляйте сообщения на классификацию методом predict:

    use CleanTalkCleanTalkPredictionClient;
use CleanTalkMessage;
use CleanTalkPredictRequest;

$client = new CleanTalkPredictionClient($authResult->getAccessToken());

$response = $client->predict(
new PredictRequest(
YOUR_PROJECT_ID,
[
new Message('11177c92-1111-4817-ace5-cda430481111', 'Hello world!'),
new Message('22277c92-2222-4817-ace5-cda430482222', 'Good buy world!'),
]
)
);

foreach ($response->getPredictions() as $prediction) {
echo "MessageId: {$prediction->getMessageId()}n";
echo "Message: {$prediction->getMessage()}n";
echo "Prediction: {$prediction->getPrediction()}n";
echo "Probability: {$prediction->getProbability()}n";
echo "Categories: " . implode(', ', $prediction->getCategories()) . "n";

Пример результата:

API возвращает классификацию и вероятность. Пример:

    MessageId: 11177c92-1111-4817-ace5-cda430481111
Message: Hello world!
Prediction: Neutral
Probability: 0.9036153107882
Categories: Insult, Neutral, Spam

MessageId: 22277c92-2222-4817-ace5-cda430482222
Message: Good buy world!
Prediction: Neutral
Probability: 0.99374455213547
Categories: Insult, Neutral, Spam

Асинхронная классификация

Если у вас большой поток сообщений или высоконагруженное приложение, лучше использовать асинхронный метод.

$client->asyncPredict($request);

В этом случае результат классификации не возвращается сразу — он приходит в ваш сервис через webhook, который можно настроить в проекте Kolas.ai.

Поддержка разных языков

Clean Talk API поддерживает:

  • Английский
  • Русский
  • Украинский

При необходимости можно подключить и другие языки — достаточно оставить запрос в поддержку info@kolas.ai.

Заключение

С помощью Kolas.ai Clean Talk PHP-клиента можно за считанные минуты подключить AI-модерацию к вашему проекту. Это простая интеграция, которая улучшает пользовательский опыт, защищая сообщество от спама и токсичных сообщений.

👉 Зарегистрируйтесь в Kolas.ai и создайте свой первый проект Clean Talk.