Пользовательские переменные

Благодаря опции "Пользовательские переменные" вы можете создать одну или несколько переменных самостоятельно. Создание переменных может быть полезным в ситуации, когда необходимо, чтобы бот запомнил конкретную информацию, которую затем необходимо передать, на которую нужно будет ссылаться, либо которая будет использоваться для корректной генерации ответов. Переменные позволяют сокращать контекст и экономить токены.

Данная опция находится в разделе "Дополнительные настройки"

Доступно 2 варианта переменных:

  • Фиксированные переменные

  • Динамические переменные

Фиксированные переменные позволяют создать переменные с известным типом данных. Мы выбираем их, когда заранее знаем какую информацию необходимо получить от пользователя, какого типа и формата эта информация должна быть. Иными словами когда нам важна типизация и валидация данных. Данные, содержащиеся в таких переменных могут быть использованы для передачи по API другому сервису.

Рассмотрим пример:

Нужна следующая информация для корректного заполнения полей: имя, дата рождения, email. Формат данных должен быть следующим: Имя, 15.01.1990, [email protected]. Введем переменные name, birth_date, email, тип данных "Строка". В инструкции обозначим формат, в котором данные должны быть переданы в переменные. "Запроси у пользователя имя, дату рождения, email, данные должны быть переданы в следующем формате: Имя, 15.01.1990, [email protected] Если информация не соответствует формату, запроси повторно, уточни необходимый формат. Получив информацию в корректном формате, сохрани ее как строку в переменные set_fields_values(name, birth_date, email) соответственно" Если пользователь передаст какую-то информацию некорректно, бот запросит повторно, чтобы в итоге передать корректную по типу и формату информацию. Конечный сервис в тоге получит информацию, которая не вызовет ошибку.

Пользователь предоставляет информацию в некорректном формате, бот уточняет формат и просит повторно ее прислать:

После получения информации в корректном формате, она валидирована и сохраняется в переменные:

В экспорте видим, что функция выполнена:

Динамические переменные позволяют сохранить любую информацию, любого объема, информация всегда сохраняется, как строка, в динамических переменных нет типизации. Эти переменные могут применяться более гибко. Нейросеть сама определяет важную информацию и задает переменную. Этот тип переменных мы не можем передавать в другие сервисы. Динамические переменные позволяют получать более качественную генерацию со стороны бота. При необходимости мы можем обозначать информацию, которую необходимо сохранить.

Рассмотрим на примере:

Нам нужно сохранить цели пользователя для финансового планирования. Укажем это в инструкции: "Запроси у пользователя финансовые цели. Передай финансовые цели в функцию memorize. Используй финансовые цели для построения бюджета"

В экспорте видим выполнение функции:

Фиксированные переменные

Чтобы создать Фиксированную переменную выполните следующие шаги:

1

Для создания нажмите кнопку "Добавить переменную"

2

Затем задайте название переменной, ее описание и тип данных.

Существует 4 типа переменных:

  • Строка - любая информация, которая должна восприниматься системой, как текст ("арбуз", "suvvy", "+79001234567")

  • Целочисленное - целое число (1, 2, 5, -1)

  • Целочисленное или дробное - целое число, либо дробное (1, 1.0, 3.4, -1.2)

  • Булево - true или false (да или нет)

При выборе необходимо строго учитывать тип информации, которая будет содержаться в переменной.

В нашем примере выберем тип "Целочисленное".

3

После ввода всех параметров нажмите на иконку "Сохранить"

Фиксированные переменные связаны с функцией

set_fields_values

В инструкции пропишите какие данные в какую переменную следует сохранить, лучше указать тип данных, который будет сохраняться в переменную, чтобы избежать путаницы и числовые данные не были переданы, как тип данных "Строка". Например:

"Запроси у пользователя его возраст и сохрани числовые данные в переменную set_fields_values(age)"

Динамические переменные

Для включения Динамических переменных активируйте соответствующий переключатель. В инструкции пропишите какую информацию нужно сохранить.

Подробно опишите, что именно должно быть сохранено.

После активации Динамических переменных появится дополнительная опция для удаления информации из этих переменных при очистке.

Динамические переменные связаны с функцией

memorize

При включенных Динамических переменных нейросеть самостоятельно принимает решение о том, какую информацию запомнить. Но если нам необходимо, чтобы была сохранена конкретная информация, мы можем самостоятельно уточнить, что именно необходимо запомнить. Для этого в инструкции добавляем фразу: "Передай эту информацию в функцию memorize".

При необходимости можем получить информацию о переменных. Для этого запрашиваем следующее: "Верни сохраненную в функции memorize информацию"

Last updated

Was this helpful?