Как отправить файл .png из моего приложения python в google dialogflow webhook

Я создаю чат-бота Google dialogflow для данных COVID-19. Я создал намерение, которое вызовет службу веб-перехватчика. Эта услуга представляет собой приложение-флягу на Python, которое собирает и обрабатывает данные. Мой вариант использования - пользователь будет запрашивать подробную информацию о местности. Я создаю изображение (файл .png) в своем приложении Flask. Но как я могу вернуть его обратно в диалог? До сих пор он принимает изображения с общедоступным URL-адресом. Но в моем случае у меня нет общедоступного URL. каждое изображение является динамичным по своей природе на основе пользовательского ввода. Может ли кто-нибудь помочь, как я могу этого добиться? Любая помощь приветствуется. Сообщите мне любые подробности.


person sid bhat    schedule 17.04.2020    source источник


Ответы (1)


вам понадобится ваш бэкэнд (другое приложение или другая конечная точка того же веб-перехватчика), чтобы предоставить изображение, как если бы оно было стандартной загрузкой.
Например, в DialogFlow вы должны настроить пользовательские полезные данные для отображения изображения

{
"metadata": {
"templateId": "11",
"contentType": "300",
"payload": [
  {
    "name": "Download",
    "action": {
      "type": "link",
      "url": "#avatar.avatarUrl",
      "openLinkInNewTab": "yes"
    }
  }
]
},
"platform": "kommunicate"
}

URL #avatar.avatarUrl будет URL для получения данного изображения (например, http://myserver/get/image0001) : это конечная точка, которая получает желаемое изображение (на основе вашей логики и реализации) и возвращает поток с содержимым изображения, а также устанавливает content-type=image/png (или другой подходящий тип).

Приведенный выше пример может зависеть от того, какой канал вы используете (браузер? Чат-приложение?) И язык программирования, но подход должен быть допустимым в любом случае.

person Beppe C    schedule 17.04.2020