Блог Горошко Андрея Bitrix24,Искусственный интеллект Добавить новый промпт «Анекдот»

Добавить новый промпт «Анекдот»

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Добавить новый промпт «Анекдот»». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.

Добавить новый промпт «Анекдот»

Зарегистрировать новый промпт поможет метод ai.prompt.register. Рассмотрим его использование на примере добавления категории шуток.

  • JS
    BX24.callMethod(
        'ai.prompt.register',
        {
            category: [
                "livefeed",
                "livefeed_comments"
            ],
            code: 'rest_joke',
            icon: 'smile',
            prompt: 'Расскажи анекдот',
            translate: {
                "en":"A joke",
                "ru":"Анекдот"
            }
        },
        function(result)
        {
            if(result.error())
            {
                console.error(result.error());
            }
            else
            {
                console.info(result.data());
            }
        }
    );
  • PHP
    require_once('crest.php');

    $result = CRest::call(
        'ai.prompt.register',
        [
            'category' => [
                "livefeed",
                "livefeed_comments"
            ],
            'code' => 'rest_joke',
            'icon' => 'smile',
            'prompt' => 'Расскажи анекдот',
            'translate' => [
                "en" => "A joke",
                "ru" => "Анекдот"
            ]
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

После выполнения команды появится пункт CoPilot-а, который может генерировать анекдоты.

!Пример CoPilot

Пункт меню «Анекдот» теперь кликабелен. Сделаем его родительским пунктом, добавив подпункты (после этого родительский пункт перестанет быть кликабельным).

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

  • JS
    BX24.callMethod(
        'ai.prompt.register',
        {
            category: [
                "livefeed",
                "livefeed_comments"
            ],
            code: 'rest_joke_wolf',
            icon: 'smile',
            prompt: 'Расскажи анекдот про волка',
            translate: {
                "en":"A joke about wolf",
                "ru":"Анекдот про волка"
            },
            parent_code: 'rest_joke',
            sort: 100
        },
        function(result)
        {
            if(result.error())
            {
                console.error(result.error());
            }
            else
            {
                console.info(result.data());
            }
        }
    );
  • PHP
    require_once('crest.php');

    $result = CRest::call(
        'ai.prompt.register',
        [
            'category' => [
                "livefeed",
                "livefeed_comments"
            ],
            'code' => 'rest_joke_wolf',
            'icon' => 'smile',
            'prompt' => 'Расскажи анекдот про волка',
            'translate' => [
                "en" => "A joke about wolf",
                "ru" => "Анекдот про волка"
            ],
            'parent_code' => 'rest_joke',
            'sort' => 100
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

После выполнения запроса несколько раз с разными данными меню выглядит так:

!Варианты CoPilot

Результат:

!Пример шутки CoPilot

Чтобы внедриться подпунктом в уже существующие пункты, узнайте код этого пункта и используйте предыдущий код. Код можно узнать, открыв комментарий к посту в ленте новостей. В этот момент отправляется команда на получение информации по CoPilot, где все показано:

!Код пункта

Есть еще визуальные категории, в которых можно разместить свои пункты:

!Категории

Передайте в команде параметр section, который может равняться create или edit. Это визуальное разделение, показывающее, что препромпт меняет текст или создает его.

Как изменить промпт

Если препромпт вам больше не нужен или вы хотите его изменить, выполните команду ai.prompt.unregister:

  • JS
    BX24.callMethod(
        'ai.prompt.unregister',
        {
            code: 'rest_joke_wolf'
        },
        function(result)
        {
            if(result.error())
            {
                console.error(result.error());
            }
            else
            {
                console.info(result.data());
            }
        }
    );
  • PHP
    require_once('crest.php');

    $result = CRest::call(
        'ai.prompt.unregister',
        [
            'code' => 'rest_joke_wolf'
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

💡 Экспертное мнение и рекомендации

Практические рекомендации:

  • При написании кастомных компонентов для «Добавить новый промпт «Анекдот»» всегда разделяйте бизнес-логику и представление (шаблон).
  • Используйте отладку SQL-запросов через конструкцию $wpdb->last_query или стандартный трекер Битрикса, чтобы контролировать нагрузку.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Обновить пользовательское поле user.userfield.updateОбновить пользовательское поле user.userfield.update

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Обновить пользовательское поле user.userfield.update», проанализируем лучшие практики и

Разработка кастомных чат-ботов для Открытых линий Битрикс24Разработка кастомных чат-ботов для Открытых линий Битрикс24

Профессиональная настройка и внедрение Битрикс24 CRM позволяет систематизировать работу отдела продаж, исключить потерю лидов и автоматизировать ключевые бизнес-процессы компании. Услуга «Разработка кастомных чат-ботов для Открытых линий Битрикс24» обеспечивает квалификация клиентов

Получить список коннекторов biconnector.connector.listПолучить список коннекторов biconnector.connector.list

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить список коннекторов biconnector.connector.list», проанализируем лучшие практики и