Перейти к основному содержимому

$entities

Переменная $entities содержит список всех сущностей CAILA, распознанных в запросе пользователя.

Формат объекта

В качестве значения переменной выступает массив объектов вида:

[
{
"pattern": "fruit",
"startPos": 1,
"length": 1,
"value": "{\n \"name\": \"banana\",\n \"type\": \"fruit\"\n}"
}
]
  • pattern — название сущности.

  • startPos — позиция слова, с которого начинается сущность. Нумерация начинается с нуля.

  • length — число токенов, которые входят в сущность.

  • value — справочные данные сущности (DATA).

    предупреждение
    Значение value всегда имеет строковый тип, даже если в DATA вы указали JSON. Используйте в сценарии метод JSON.parse, чтобы преобразовать строку в объект и обратиться к его полям.

Если запрос пользователя попал в интент со слот-филлингом, у объектов в массиве $entities появляется дополнительное поле slot — название слота, в который попала сущность.

Пример использования

state: DebugEntities
q!: *
if: $entities.length
a: В запросе есть следующие сущности: {{_.pluck($entities, "pattern").join(", ")}}.
else:
a: В запросе нет сущностей.