Действие — Добавить сообщение в историю переписки

Действие предназначено для корректной записи сообщений в историю для нейросети

ВАЖНО! Для работы данного действия нужно получить настроить интеграцию с OPENAI (либо DeepSeek). То есть, взять ключ OPENAI (либо DeepSeek) и добавить его в соответствующее поле поле в разделе «Интеграции» сообщества для которого будет выполняться это действие
Классный пример настройки

Рассмотрим действие подробнее:

Обзор действия
Обзор действия

1) Переключатель позволяет выбрать сообщество из которого будет выполнено действие.

2) роль OpenAI для истории: поддерживаются переменные например, %model_id%

По умолчанию: user. Доступные значения (выбираете одно):

user, system,assistant

Если вы укажете несколько значений через запятую, то Автопилот возьмет только первое.

В OpenAI (и других LLM-системах) есть три основных роли в общении с моделью:

  1. User (Пользователь) – это ты. Ты отправляешь запросы (prompts) модели, формулируешь вопросы, даёшь инструкции.
  2. Assistant (Ассистент) – это я. Я обрабатываю запросы и генерирую ответы, основываясь на предоставленной информации и моих знаниях.
  3. System (Система) – это "невидимый дирижёр", который задаёт правила поведения модели. Он определяет контекст общения, стиль ответов и ограничения. Например, система может сказать ассистенту: "Будь вежливым, избегай запрещённых тем, следи за точностью ответов."

3) текст пользователя: поддерживаются переменные например, %prompt%

По умолчанию: сообщение пользователя: %content%

4) ограничение на количество сообщений. Работает так. Если в истории больше 50 сообщений (значение указывается в этом поле), то действие удаляет одно сообщение из истории самое старое.

5) поле для передачи историй (контекста): поддерживаются переменные.

По умолчанию: ничего

6) Откуда брать историю. Из JSON или с сервера (при настроенном хостинге)

Переназначение роли:

Допустим у вас есть JSON с ролью

{
"message
s&quo
t;: [ { "r
ole": "system",
&qu
ot;co
ntent": "Ты
— психолог." },
{
&
quot;role": "use
r", "content&qu
ot;: &
quot;
Привет" }, {
"role": "
assis
tan
t", "content": "Я психолог." }, { "role": "system", "content": "Ты — юрист." } ]}

Сначала мы говорим нейросети, что она — психолог. Идет общение с клиентом, а потом меняем роли, на юриста.

в большинстве случаев обработка systemсообщений идет последовательно, и последнее systemсообщение перезапишет предыдущие инструкции.

То есть, если сначала указано "Ты — психолог.", а потом "Ты — юрист.", то в конечном итоге система будет считать, что ты юрист, а не психолог.

Будьте внимательны!

Полезные переменные действия:

  • %chat_history_all% — переменная в которой возвращается вся история после действия
  • %chat_history_user% — переменная в которой JSON вопроса пользователя
  • %chat_history_count% — количество сообщений в истории после отработки действия
  • %openai_role% — выбранная роль после отработки действия
  • %openai_content% — текст сообщения для истории
  • %openai_mess_count% — количество сообщений при привышении которого будет удаляться старое сообщение

Команда «Получить ответ от бота»

Важно! Пример универсальной команды с реакцией и на комментарии и в личные сообщения.

События:

1) Написал сообщение с текстом, подходящим под регулярное выражение ^Создай запрос:

Пример события
Пример события
ВАЖНО! Для переключения переключатель с содержащим на подходящим под регулярку и вводим нужный текст. Если какие -то условия, например «Сотрудник Аккаунта» у вас были в других командах, то выбирайте их из каталога, нажатием на «Найти в каталоге»

По желанию добавляем условия:

1) «Сотрудник аккаунта, чтобы команду мог запустить только Администратор сообщества, либо тот, у кого есть разрешение.» Тогда команду сможет добавлять только Администратор.

Действие — Добавить сообщение в историю переписки, image #3

2) Переменная %is_conv%равна 0— чтобы команда срабатывала, если подписчик написал в сообщения сообщества.

Пример условия, что совет может добавить только админ.
Пример условия, что совет может добавить только админ.

Опционально через «Добавить секцию» (для комментариев)

События:

1) Событие «Написал комментарий» под постом с ID вставить пост и текстом, подходящим под регулярное выражение ^Создай запрос:

Пример события
Пример события

По желанию добавляем условия:

1) «Выполнена команда» № 0 ровно 0 раз, чтобы команду могли запустить только один раз

Пример условия
Пример условия

Опционально через «Добавить секцию» (для ответа от администратора)

События:

Важно! Событие: «Получил сообщение» от админа не работает по умолчанию. Как настроить посмотрите в инструкции.

1) Событие «Получил сообщение от администратора» с текстом, подходящим под регулярное выражение ^Создай запрос:

Пример события
Пример события

Действия:

1) Добавляем временную переменную %prompt%

со значением:

{reg}%content%~~Создай запрос:~~0~~{/reg}

которая найдет из регулярного выражения введенный совет. Рассмотрим ее подробнее:

  • %content% — означает, что поиск будет идти по тексту введенному пользователем.
  • Создай запрос— означает, что поиск будет проходить по шаблону, фраза начинается со слов Создай запроспосле чего из фразы мы удалим данную фразу оставив только запрос. Подробности в инструкции.
Пример действия
Пример действия

2) Для отправки запроса используем действие «Сгенерировать сообщение для OpenAI» с нужными параметрами:

Пример настройки
Пример настройки

рассмотрим подробнее:

  • модель - указывается одно значение на выбор. gpt-4o, gpt-4o-mini,gpt-4-turbo, gpt-3.5-turbo . По умолчанию: gpt-3.5-turbo
  • текст со значением %prompt% - здесь указывается сообщение от пользователя
  • истории у нас не передается поэтому там пусто. Поддерживаются переменные Автопилота
  • откуда брать историю. Из JSON или с сервера (при настроенном хостинге)

Дополнительные параметры по типу max_tokens передавайте по желанию:

  • max_tokens — максимальное количество токенов для запроса/ответа бота. 1000 токенов примерно 1500 кириллическим символам.

3) Во временной переменной %error% формируем текст при ошибке от бота. Например, через функцию {rand}

{rand}Я устал|Нет настроения отвечать{/rand}
Пример ошибки
Пример ошибки

4) Для того, чтобы сохранить текст ответа от бота во временной переменной %text% пишем:

%openai_answer% 
Ответ бота
Ответ бота

5) Во временной переменной %ok% формируем текст при ответе от бота. Например, просто передаем текст.

%text%
Пример текста
Пример текста

6) Условная переменная %text% cо значением:

  • %ok%
    если %text% подходит под регулярку точка
  • ИЛИ: %error%

То есть, есть адекватный ответ от бота мы выдаем его, а нет, выдаем ошибку.

Пример условий
Пример условий

7) Отправляем сообщение с текстом:

%text%
Пример действия
Пример действия

8) Опционально: действием: «Отправить сообщение» отправляем сообщение сотруднику с текстом:

Промт:%prompt%
Ответ бота:%text%
Пример действия
Пример действия

9) Действие: «Прервать/продолжить выполнение команды» с переключателем продолжено, если Событие 1914801 есть среди текущих (то есть запускается в комментариях)

Запускаем только в случае коммента
Запускаем только в случае коммента

10) Опционально пишем комментарий действием «Написать комментарий в VK» с текстом:

%text%
Важно! Для ответного комментария не забудьте нажать Еще→ сюда вставить переменную %object_id% или кликнуть по сноске справа рядом «Ответить» на комментарий с ID:
Пример действия
Пример действия

Сохранение историй на хостинге

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

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

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

Требования для работы скрипта:

  • Хостинг или VPS (бесплатный не подойдет, там есть ограничения)
  • желательно попроще (потому что для текущей версии требуется Apache). Ну или можете сами подправить под PHP-FPM
  • Возможность загружать исполняемые PHP скрипты в отдельную папку.
  • Навык смотреть видео и понимать технические инструкции :)
  • Желательно иметь хотя бы базовое понимание понятия запроса на сервер.
Важно! Если у вас MacOS, то файл он не отображает (об этом говорится в первом видео). В таком случае нужно создать этот файл на хостинге и сохранить со следующим текстом:
.htaccess
<FilesMatch &qu
ot;\.json$
&
quot;&gt; Order Allow,Deny Deny from all</FilesMatch>

Открываем conig.ini

и меняем необходимые параметры, пароль и ID сообщества в котором будет работать действие

password=123
allowed_clubs=123456,7890

Алгоритм установки:

  • Скачиваем по этой ссылке скрипт: https://disk.yandex.kz/d/kBrLcBW1LER6kw
  • Создаем поддомен на сайте, или просто готовим отдельную папку.
  • Открываем файловый менеджер хостинга и там: загружаем скрипт, и распаковываем при помощи архиватора в подготовленную директорию.
  • Там же обычно можно подредактировать конфигурацию.
  • Но можно и на компе распаковать, поправить и по одному файлу загрузить.

Полезные ссылки:

  • Приобрести домен по дешевке: skyjoom.com/rdn
  • Еще один вариант для доменов: namecheap.com
  • Удобный и недорогой хостинг: fornex

После настройки можно сохранять истории на сервере.

На этом все. Тестируем.

Идеально
Идеально

Все отлично! Сегодня мы научились интегрировать ChatGPT с автопилотом. Творческих успехов.

Оценить / обсудить статью можно в комментариях к этому посту.

Вернуться на главную страницу инструкций
8 views