chatme.ai
Search
K
Comment on page

Создание и сохранение переменных контекста | Слот Memory

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

Слот Memory – слот, позволяющий записывать данные в Контекстные переменные чата, а также создавать новые Пользовательские контекстные переменные путем записи значения в несуществующую ранее переменную.
Изменять Системные контекстные переменные в слоте Memory запрещено, за исключением client_message.

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

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

  1. 1.
    Name*ー название слота, которое будет отображено в дереве сценария. Максимальная длина значения поля — 40 символов.
    1. 1.
      При сохранении Слота проверяется значение в поле:
      1. 1.
        если поле пустое, выводится ошибка Please enter a slot name
        image.png
      2. 2.
        если в поле более 40 символов, выводится ошибка Name must contain no more than 40 characters
        image.png
  2. 2.
    FIELDS*ー массив пар Key — Value.
    1. 1.
      Key* ー имя переменной, указанное в соответствии с требованиями к именам пользовательским контекстным переменным.
      1. 1.
        При сохранении Слота проверяется значение в поле:
        1. 1.
          если поле пустое, выводится ошибка Please enter a key
          image.png
        2. 2.
          если имя переменной не соответствует требования к именам Пользовательских контекстных переменных, выводится ошибка Invalid name
          image.png
    2. 2.
      Value* ー значение, которое будет записано в переменную:
      1. 1.
        точное значение (число, строка, булева)
      2. 2.
        результат операции
      3. 3.
        значение другой переменной
      4. 4.
        При сохранении Слота проверяется значение в поле:
        1. 1.
          если поле пустое, выводится ошибка Please enter a value
          image.png
      5. 5.
        Обрезка пробелов: по нажатию кнопки CREATE (при создании слота) или SAVE (при редактировании слота) обрезаются пробелы и переносы строк в начале и в конце поля Value.
Важно:
  1. 1.
    Обязательно должна быть минимум одна пара Key — Value
  2. 2.
    Максимальное количество пар Key — Value не ограничено
  3. 3.
    При указании KEY обратите внимание на зависимость имени переменной от регистра (var и Varー разные переменные). Также, обратите внимание на Требования к названию пользовательской переменной.

Использование синтаксиса в Слоте Memory

В Слоте Memory допустимо использование Выражений и Управляющих конструкций в поле Value.
Если результатом вычисления шаблона является значение, которое можно привести к типу отличному от строки (число, логический тип, список, и т.п.), то сохраняемая контекстная переменная будет иметь этот тип. Иначе контекстная переменная будет сохранена как строка. Например, результатом вычисления шаблона:
{% for i in range(1, 4) %}{{ i }}{% endfor %}
будет строка “123”, которую можно привести к целочисленному типу, и в целевую Контекстная переменная будет сохранено целое число 123.
Пример:
  • В контекстную переменную numbers будет сохранено целое число 199;
  • В контекстную переменную random – псевдо-случайное число от 0 до 10 включительно;
  • В контекстную переменную string – строка из контекстной переменной client_message;
  • В контекстную переменную flag – значение логического типа True;
  • В контекстную переменную numbers – список (массив) [1, 2, 3, 4, 5].

Работа слота

Для того, чтобы записать значение в контекстные переменные чата используя слот Memory необходимо указать в поле KEY название переменной, а в поле VALUE нужное значение.