chatme.ai
Search…
Создание Агента на платформе
Создание Сценария Агента
ДЛЯ РАЗРАБОТЧИКОВ
Создание и сохранение переменных контекста | Слот Memory

Назначение и общая информация

Слот Memory – слот, позволяющий записывать данные в Контекстные переменные чата, а также создавать новые Пользовательские контекстные переменные путем записи значения в несуществующую ранее переменную.
Изменять Системные контекстные переменные в слоте Memory запрещено, за исключением client_message.
Последующие переходы: Text, Wait For Reaction, Jump, Attachment, File, Memory, External Request, Slot Filling, Button Menu, Transition Rule, Regular Expression, NLU, Change Chat Mode.

Создание и настройки слота Memory

Атрибуты слота

  • NAME ー название слота, которое будет отображено в Диалоговом Сценарии;
  • KEY ー имя переменной;
  • VALUE ー значение, которое будет записано в переменную.

Работа слота

Для того, чтобы записать значение в Контекстные переменные чата, используя слот Memory, необходимо указать в поле KEY название переменной, а в поле VALUE нужное значение.
Важно!
Все переменные записываются только в текстовом или числовом формате. Число, записанное в одинарных кавычках (’45’), является строкой и не может участвовать в арифметических операциях.

Запись числового значения в переменную

Запись строки в переменную

В некоторых случаях значение VALUE необходимо обрамить одинарными кавычками.
Например, если нужно записать числа как строку:
или записать строку со спецсимволами (+):

Запись пробелов

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

Запись значения одной переменной в другую

Если требуется записать значение одной Контекстной переменной чата в другую переменную, то в поле VALUE необходимо указать название переменной, используя синтаксис {{ @variable_name }}.
Например, если нужно сохранить последнее сообщение Собеседника в Контексте client_message, то в поле VALUE будет значение {{ @client_message }}.

Запись пустой строки в переменную

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

Перезапись переменной client_message

В некоторых случаях необходимо заменить значение client_message на отличное от последнего сообщения Собеседника. Например, для распознавания текста, полученного по External Request в слотах NLU и Regular Expression.
Это можно сделать в слоте Memory. Переменная client_messageー единственная из системных контекстных переменных, которую можно перезаписывать.

Запись в переменную результатов конкатенации строк

Также в слоте Memory можно выполнять конкатенацию нескольких значений, в т.ч. переменными.
Для этого нужно перечислить эти переменные в нужном порядке в поле VALUE, через знак « + ».
  • Конкатенация строковых переменных
  • Конкатенация строковой и числовой переменной
Переменная v3 имеет числовое значение, ее необходимо обрамить одинарными кавычками. Иначе в процессе общения в слоте Memory произойдет ошибка, так как знак « + » с числовым значением определяется как операция сложения.
  • Конкатенация строковой переменной и строки
Важно!
Конкатенация системных контекстных переменных modified_at и date невозможна, так как они имеют тип данных «Дата».

Арифметические операции

В слоте Memory можно выполнять арифметические операции с числами.
NB
На данный момент нельзя проводить арифметические операции с переменными.

Сложение

Знак “+” выполняет как сложение, так и конкатенацию, в вышеуказанном примере складываются числа, но если обрамить их в одинарные кавычки (т.е. привести к строкам) ‘134’+’1265’, то будет выполнена конкатенация строк, итог будет равен 1341265.

Вычитание

Умножение

Деление

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

Скобки

Для определения приоритета выполнения арифметических операций используются круглые скобки.
Важно!
При попытке записать в поле VALUE операцию, которая не соответствует описанным выше правилам, произойдет ошибка. Системная контекстная переменная error примет значение Failed to process the data!
Copy link
On this page
Назначение и общая информация
Создание и настройки слота Memory
Атрибуты слота
Работа слота
Запись числового значения в переменную
Запись строки в переменную
Запись пробелов
Запись значения одной переменной в другую
Запись пустой строки в переменную
Перезапись переменной client_message
Запись в переменную результатов конкатенации строк
Арифметические операции