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

1) Переключатель позволяет выбрать сообщество из которого будет выполнено действие.
2) роль OpenAI для истории: поддерживаются переменные например, %model_id%
По умолчанию: user
. Доступные значения (выбираете одно):
user, system,assistant
Если вы укажете несколько значений через запятую, то Автопилот возьмет только первое.
В OpenAI (и других LLM-системах) есть три основных роли в общении с моделью:
- User (Пользователь) – это ты. Ты отправляешь запросы (prompts) модели, формулируешь вопросы, даёшь инструкции.
- Assistant (Ассистент) – это я. Я обрабатываю запросы и генерирую ответы, основываясь на предоставленной информации и моих знаниях.
- 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
сообщение перезапишет предыдущие инструкции.
То есть, если сначала указано "Ты — психо
лог.", а потом &qu
ot;Ты — юрист.", то в конечном итоге система будет считать, что ты юрист, а не психолог.
Будьте внимательны!
Полезные переменные действия:
- %chat_history_all% — переменная в которой возвращается вся история после действия
- %chat_history_user% — переменная в которой JSON вопроса пользователя
- %chat_history_count% — количество сообщений в истории после отработки действия
- %openai_role% — выбранная роль после отработки действия
- %openai_content% — текст сообщения для истории
- %openai_mess_count% — количество сообщений при привышении которого будет удаляться старое сообщение
Команда «Получить ответ от бота»
Важно! Пример универсальной команды с реакцией и на комментарии и в личные сообщения.
События:
1) Написал сообщение с текстом, подходящим под регулярное выражение ^Создай запрос:

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

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;> 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 с автопилотом. Творческих успехов.
Оценить / обсудить статью можно в комментариях к этому посту.
Вернуться на главную страницу инструкций