Перейти к содержанию

Значения слотов

Значения слотов

Слоты могут принимать значения set и null. Эти значения указывают на состояние слота и используются для управления логикой диалога.

Содержание инструкции:


1. set (установлен)

  • Значение: Слот содержит какое-то значение (не пустое).
  • Использование:

    • Когда слот заполнен, это означает, что бот получил необходимую информацию от пользователя.
    • Например, если слот user_name имеет значение set, это значит, что имя пользователя было предоставлено и сохранено.
  • Пример:

    slots:
      user_name:
        type: text
    

    Если пользователь сказал: "Меня зовут Алексей", то слот user_name будет иметь значение set (и само значение "Алексей").


2. null (пусто)

  • Значение: Слот не содержит значения (пустой).
  • Использование:

    • Когда слот имеет значение null, это означает, что информация еще не была предоставлена пользователем или была сброшена.
    • Например, если слот user_age имеет значение null, это значит, что возраст пользователя еще не был указан.
  • Пример:

    slots:
      user_age:
        type: float
    

    Если пользователь еще не сообщил свой возраст, слот user_age будет иметь значение null.


Как значения используются в диалоге?

В Stories (Истории)

  • Вы можете проверять, заполнен ли слот (slot_was_set) или пуст (slot_was_null), чтобы управлять потоком диалога.
  • Пример:

    stories:
      - story: Ask for user name
        steps:
          - intent: greet
          - action: utter_ask_name
          - intent: provide_name
            entities:
              - name: "Алексей"
          - slot_was_set:
              - user_name: "Алексей"  # Слот установлен
          - action: utter_thank_you
    

В Rules (Правилах)

  • Вы можете использовать условия для проверки состояния слотов.
  • Пример:

    rules:
      - rule: Ask for age if not provided
        condition:
          - slot_was_set:
              - user_name: null  # Слот пуст
        steps:
          - intent: greet
          - action: utter_ask_age
    

В Forms (Формах)

  • Слоты могут быть обязательными для заполнения. Если слот имеет значение null, бот будет запрашивать эту информацию у пользователя.
  • Пример:

    forms:
      user_info_form:
        required_slots:
          - user_name
          - user_age