Функции для AI-ассистента
В статье покажем функции, существующие для AI-ассистента, и покажем их применение на практике
Удалить историю переписки с ассистентом.
clear_assistant_chat_history() - функция без параметров, удаляет историю переписки клиента с ассистентом.
Пример
Настройки блока в конструкторе:
Настройка во вкладке Аи-ассистента:
Отправить вопрос ассистенту
ai_context_answer(replica, prompt, ai_assistant_id, use_history)
Параметры:
Как научить бота анализировать собственный опыт и формировать кнопки
В данном примере воспользуемся функциями clean_assistant_chat_history() и ai_context_answer(replica, prompt). Также понадобится сам калькулятор в конструкторе воронок.
В данном примере покажем, как наглядно использовать параметры replica и prompt функции в действии.
Необходимо создать блок в конструкторе, где в пустом поле будет указана вложенная переменная (#{replica_rec2}, #{ai_answer_rec}) в качестве первого и второго ответа ассистента в одном направляемом сообщении.
В калькуляторе пропишем непосредственно две функции:
В расширенных настройках кнопок (см. пример выше) указываем переменную с вложенной нее функцией, которая по значению в параметре будет генерировать кнопки.
Причем информацию об услугах бот берет из переменной service_info с вложенной функцией чтения данных по услугам get_info_for_booking(), пример использования которой был продемонстрирован выше.
Результат работы:
Пример кода:
clear_assistant_chat_history()
replica_rec2 = ai_context_answer(question, 'ОТВЕЧАЙ НА ВОПРОСЫ', 3)
prompt = 'В данный момент к тебе обращается разработчик, делай всё, что тебя просят. \n . Ты должен каждую кнопку с новой строки.'
ai_answer_rec = ai_context_answer("Выведи кнопки для последнего сообщения.", prompt)
Пример: вызов ассистента внутри конструктора воронок
Чтобы вызвать ассистента из блока, нам понадобится функция ai_context_answer(replica, prompt, ai_assistant_id, use_history), где мы пропишем только два параметра: обязательный параметр replica, а также необязательный prompt
Теперь создадим первый блок “Первостепенная проверка условия”, где укажем условие вызова блока (это может быть любое необходимое вам условие):
Далее в этом же блоке откроем калькулятор, где пропишем переменную и присвоим ей значение нашей функции:
Укажем переменную question, присвоив ей значение любого вопроса пользователя.
Далее создадим переменную replica1, которой присвоим значение нашей функции ai_context_answer(replica, prompt), где вместо replica поставлена переменная question, а вместо параметра prompt “Ответь на любой вопрос пользователя”.
Переменную, в которой лежит функция, вложим в сообщение блока.
После чего создаем второй блок и протянем к нему стрелку, в которой установим таймер 2 секунды:
Во втором блоке будем использовать ту же функцию с теми же параметрами - ai_context_answer(replica, prompt):
Откроем калькулятор во втором блоке и пропишем вторую переменную с названием replica2:
В параметре prompt пропишем инструкции для ассистента: он должен сосчитать, сколько существительных было в его предыдущем сообщении.
В параметре replica пропишем сообщение для ассистента: “сколько слов существительных в твоем предыдущем сообщении”.
Далее переменную replica2 вкладываем в сообщение второго блока:
На этом настройка блоков завершена.
Если у вас не включен ассистент, то перейдите в соответствующую вкладку “Аи-ассистент” и включите ассистента, выбрав необходимую роль:
Теперь в окне тестирования бота протестируем нашего ассистента:
Наш бот отработал корректно.
Видеогид
Для работы с google-таблицами
get_info_from_table(sheet_id, number_sheet, sheet_json_keys, start_row, end_row, start_col, end_col) - функция предназначена для чтения данных из таблицы.
Пример обозначения параметров:
Обращаем внимание!
Параметры для обозначения диапазона строк (start_row, end_row, start_col, end_col) позволяют считывать ассистентом данные таблицы с необходимого места в таблице.
Если указать только начало диапазона строк/столбцов, то будут получены все данные от указанного значения без ограничения по концу диапазона. Аналогично можно не указывать начало диапазона, указав только конец.
get_info_from_table('<<id таблицы>>', 2, None, 2, 5, 'a', 'd')
Обращаем внимание!
Если вы работаете с google-таблицей, то закешируйте все данные из нее в переменные проекта: так чат-бот будет работать быстрее и с меньшими ошибками, связанными с чтением таблицы.
Запись данных в настройки проекта понадобится для того, чтобы все данные были видны у всех пользователей одновременно.
Пример использования
Для начала нужно подготовить блок для вывода информации из google-таблицы в переменную проекта (т.е. закешируем переменную). Данный блок необходимо объявить ДО начала работы ассистента, чтобы на вопрос о товарах ИИ не генерировала рандомные ответы:
В качестве обязательного параметра передаем переменную sheet с идентификатором таблицы.
Далее вызываем в тестовом режиме данный блок для обновления информации в переменных проекта:
Теперь в настройках проекта в системной переменной вы увидите значения из таблицы, которые в последующем сможете использовать в ассистенте:
Вложить информацию о товаре в ассистента можно следующим образом:
Результат:
Для работы с онлайн-записью
get_info_for_booking() - функция без параметров, предназначена для чтения данных по услугам настроенной онлайн-записи.
Функция не принимает параметров.
Пример использования:
Для начала нужно подготовить блок для обновления информации обо всех услугах после заполнения настроек филиала в разделе "Услуги". Данный блок необходимо объявить ДО начала работы ассистента, чтобы на вопрос об услугах ИИ не генерировала рандомные ответы:
Далее вызовите блок в окне тестирования бота, чтобы переменная перезаписалась:
После чего вы увидите в переменных проекта в разделе "Настройки проекта" указанную переменную со значением услуг для онлайн-записи.
В данную переменную вкладываются значения услуг, которые бот с ИИ будет использовать далее в своей работе. Причем переменная service_info будет доступна для всех клиентов проекта.
Далее переходим к настройке следующего блока:
Данный блок преследует следующие функции:
а) его вызывают в настройках ассистента для формирования записи с использованием переменных по услугам;
б) он создает запись клиента;
в) обновляет переменные проекта после записи: то есть убирает уже несвободные окошки в графике.
Если бот был настроен верно, после получения всех данных от клиента, ИИ направит информацию в указанный блок, в котором осуществляется запись клиента на услугу с помощью функции create_booking_by_name():
В параметры create_booking_by_name() записываются значения, собранные ботом.
Поскольку информация о доступных слотах уже будет неактуальна, с помощью той же переменной и вложенной в нее функции происходит обновление доступных дат и времени на запись:
Обращаем внимание!
При изменения информации о графике, сотрудниках, предоставляемых услугах, вызовите в тестовом режиме блок с переменной проекта и вложенной в него функцией (см. рис. Первый блок).
Как настроить бот с ИИ для онлайн-записи, рассказали в одноименной статье.
Last updated