Диалоговый поток: как выразить список словарей в качестве параметра намерения - PullRequest
0 голосов
/ 30 октября 2019

У меня есть платформа, в которой есть несколько сущностей БД. Для простоты предположим, что у меня есть сущности, состоящие из:

  • Имя Фамилия (тип диалогового окна: человек)
  • День рождения (тип диалогового окна: дата)
  • [. ..]
  • статьи (тип диалогового потока:?)

Теперь статьи - это разные таблицы с отношением один-ко-многим, и каждая статья состоит из name и value .

Итак, упрощенная сущность со статьями, если я выражу ее структуру с использованием нотации JSON, выглядит примерно так:

{
  "name": "John Doe",
  "birthday": "2019-05-12",
  "articles": [
    {"name": "art1", "value": "val1"},
    {"name": "art2", "value": "val2"},
    {"name": "art3", "value": "val3"}
  ]
}

Теперь намерение вызывается с использованием Событие , которое считывает конкретную сущность из базы данных и возвращает структуру, подобную только что увиденной. Но я не могу найти хороший способ для представления article в параметрах Intent, учитывая, что он, вероятно, должен быть изменен и затем сохранен на сервере с помощью webhook. Можете ли вы дать мне несколько советов?

1 Ответ

0 голосов
/ 30 октября 2019

Если вы хотите объединить несколько значений в одну сущность, взгляните на составные сущности. Вы можете использовать его для записи пары «ключ-значение» ваших статей, используя объекты диалогового потока или свои собственные.

https://cloud.google.com/dialogflow/docs/entities-developer#developer_composite

Чтобы захватить их как список, вы должны проверить список is. флажок в вашем намерении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...