$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: В запросе нет сущностей.