Искусственный интеллект, который делает контент для сайтов

Нейросети (искусственный интеллект) для работы с сайтом быстро набрали популярность. Разбираем кейсы где и как мы это применили.

Почему искусственный интеллект важен для сайтов?

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

  • Автоматизация рутинных задач
  • Улучшение качества контента
  • Персонализация пользовательского опыта
  • Оптимизация поисковых запросов — SEO

Ключевая мысль — ИИ может работать 24 часа в сутки и экономить огромные бюджеты.

Первый плагин ИИ для WordPress который реально работает

Мы перепробовали порядка 5 плагинов и все они оказались бесполезны.

Вот вводные что нам были важны:

  • нам нужен ИИ (нейросети) — чтобы решать задачи про бизнес
  • мы берем DeepSeek + OpenRouter — чтобы делать простые промпты
  • также мы берем Perplexity — чтобы делать запросы про поиск

В итоге пришлось написать свой плагин, который реально помогает решать задачи.

Ссылка https://wpcraft.ru/catalog/aipress/

Представим 2 задачи

  • в одном случае нам нужно классифицировать посты в каталоге
  • в другом случае нам нужно делать обзор продукта через интернет

Решение для классификации постов

Для классификации постов в каталоге можно использовать следующие методы ИИ:

  • Обучение модели на существующих категориях постов
  • Использование алгоритмов обработки естественного языка (NLP)
  • Применение кластерного анализа для автоматического группирования схожих постов

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

Решение для обзора продуктов

Для создания обзоров продуктов через интернет ИИ может:

  • Автоматически собирать информацию с различных источников
  • Анализировать отзывы пользователей и выявлять ключевые особенности
  • Генерировать структурированные обзоры на основе собранных данных

Этот тип нейросети должен уметь смотреть в Интернет и собирать данные так чтобы они были актуальны.

Результат

Авто бот — который делает обзор продукта

Этот ИИ бот — запускается каждую минуту и пишет обзор про продукт

code
<?php

namespace App\AIBots\AutoReviewForProduct;

use AIPress\Perplexity;
use WP_CLI;

/**
 * Обзор продукта с учетом поиска
 */
const ACTION = 'app_ai_review_for_product';

add_action(ACTION, function ($product_id) {
    wc_get_logger()->info($product_id . ' - ' . print_r($product_id, true));

    if (empty($product_id)) {
        return;
    }

    $id = $product_id;

    $out = process($id);

    if ($out) {
        update_post_meta($id, 'ai_review', $out);
    }
    update_post_meta($id, 'ai_review_done', true);
    wc_get_logger()->info('app_ai_review_for_product - ' . wc_get_product($id)->get_name(), [
        'source' => 'app-ai-bots',
        'link' => get_edit_post_link($id),
        'product_id' => $id,
        'out' => [$out],
    ]);
});

add_action('init', function () {
    if (as_has_scheduled_action(ACTION)) {
        return;
    }

    $pid = get_next_product_id();
    if(empty($pid)) {
        return;
    }

    $args = [
        'product_id' => $pid,
    ];

    as_schedule_single_action(time() + HOUR_IN_SECONDS, ACTION, $args, 'app', true);
});


function get_next_product_id()
{
    $product_next = get_posts([
        'post_type' => 'product',
        'posts_per_page' => 1,
        'orderby' => 'post_date',
        'order' => 'DESC',
        'fields' => 'ids',
        'meta_query' => [
            [
                'key' => 'ai_review_done',
                'compare' => 'NOT EXISTS',
            ],
        ],

    ]);

    return $product_next[0] ?? null;
}

function process($product_id = null)
{
    if (empty($product_id)) {
        return null;
    }

    $product = wc_get_product($product_id);

    if (empty($product)) {
        return null;
    }

    $text = $product->get_name() . ' - обзор';

    $out = Perplexity::prompt($text);

    if (empty($out)) {
        return null;
    }

    return $out;
}

Авто бот — который классифицирует продукты в каталоге

Этот ИИ бот базируется на данных которые уже известны и просто выбирает то что есть

code
<?php

namespace App\AIBots\AutoSelectTagsForProducts;

use function AIPress\prompt;
use WP_CLI;


/**
 * Классифиактор продуктов в каталоге по таксономии product_tag
 */

const ACTION = 'app_ai_select_tags_for_product';

add_action(ACTION, function ($product_id) {

    if (empty($product_id)) {
        return;
    }

    $id = $product_id;

    $out = process($id);

    if ($out) {
        update_post_meta($id, 'tags_suggestions', json_encode($out, JSON_UNESCAPED_UNICODE));
    }

    // wc_get_logger()->info($product_id . ' - app_ai_select_tags_for_product - ' . print_r($out, true));
    update_post_meta($id, 'product_tags_processed', true);
    wc_get_logger()->info('app_ai_select_tags_for_product - ' . wc_get_product($id)->get_name(), [
        'source' => 'app-ai-bots',
        'link' => get_edit_post_link($id),
        'product_id' => $id,
        'out' => $out,
    ]);


});

add_action('init', function () {
    if (as_has_scheduled_action(ACTION)) {
        return;
    }

    $pid = get_next_product_id();
    if (empty($pid)) {
        return;
    }

    $args = [
        'product_id' => $pid,
    ];

    as_schedule_single_action(time() + HOUR_IN_SECONDS, ACTION, $args, 'app', true);
});

function get_next_product_id()
{
    $product_next = get_posts([
        'post_type' => 'product',
        'posts_per_page' => 1,
        'orderby' => 'post_date',
        'order' => 'DESC',
        'fields' => 'ids',
        'meta_query' => [
            [
                'key' => 'product_tags_processed',
                'compare' => 'NOT EXISTS',
            ],
        ],

    ]);

    return $product_next[0] ?? null;
}
// if (defined('WP_CLI') && WP_CLI) {
//     WP_CLI::add_command('ai-test', function () {
//         // echo '<pre>';
//         $res = prompt_select_tags_for_product(9755);
//         var_dump($res);
//         exit;
//     });
// }

function process($product_id = null)
{

    if (empty($product_id)) {
        return null;
    }

    $product = wc_get_product($product_id);

    if (empty($product)) {
        return null;
    }

    $prompt = 'Изучи информацию о продукте: ' . $product->get_name() . '.';
    $prompt .= PHP_EOL;
    $prompt .= "Описание продукта: " . $product->get_description();
    $prompt .= PHP_EOL;
    $prompt .= "Затем изучи список возможных категорий в формате JSON: " . get_json_list();
    $prompt .= PHP_EOL;
    $prompt .= "Верни результат тоже строго в формате JSON без лишних слов и разметок.";

    $params = [
        'model' => 'deepseek/deepseek-chat',
        'messages' => [
            [
                'role' => 'system',
                'content' => 'You are a helpful assistant who understands services, applications and software for business and automation, and speaks Russian.'
            ],
            [
                'role' => 'user',
                'content' => $prompt
            ],
        ]
    ];

    $json = prompt($prompt, $params);
    $data = json_decode($json, true);

    if (is_array($data)) {
        return $data;
    } else {
        return null;
    }
}

function get_json_list()
{
    $product_tags = get_terms([
        'taxonomy' => 'product_tag',
    ]);

    $product_tags = array_map(function ($term) {
        return [
            'id' => $term->term_id,
            'slug' => $term->slug,
            'name' => $term->name,
        ];
    }, $product_tags);

    $product_tags = json_encode($product_tags, JSON_UNESCAPED_UNICODE);

    return $product_tags;
}

Итого

Вот примеры 2х авто ботов — которые работают 24 часа в сутки — и решают задачи — которые обычно занимают 1-2 часа в день.

В журнале Woo мы можем увидеть результаты работы ботов

Там дальше еще больше автоботов и они будут решать еще больше задач. Но это будут уже другие истории.


Статьи в тему

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *