Squeak.ru - шаблоны программирования

Как использовать диалоговое окно sdk в машинописном тексте?

Я создаю приложение чат-бота с angular 6, и я хочу использовать диалоговое окно sdk. Поскольку sdk предназначен только для javascript, я также добавил типизацию для диалогового потока.

package.json:

dependencies: {
    [...]
    "@types/dialogflow": "0.6.3",
    "dialogflow": "0.6.0
}

Я пробовал много разных вариантов импорта:

import { SessionsClient } from 'dialogflow';
import { SessionsClient, v2 } from 'dialogflow';
import * as dialogflow from 'dialogflow';
import 'dialogflow'

Но я всегда получаю ошибку

MODULE_NOT_FOUND

Когда я пытаюсь использовать это

this.dialogflowSessionsClient = new SessionsClient();
this.dialogflowSessionsClient = new v2.SessionsClient();
this.dialogflowSessionsClient = new dialogflow.SessionsClient();

IDE может разрешить ссылку. Итак, что я делаю не так?

ОБНОВЛЕНИЕ

Я пробовал это также в новом проекте angular, и теперь у меня есть лучшее сообщение об ошибке. К сожалению, мне это тоже не помогает.

./node_modules/dialogflow/src/v2/agents_client.js

Модуль не найден: ошибка: не удается разрешить './agents_client_config' в '/ Users / [my-project-path] / node_modules / dialogflow / src / v2'


Ответы:


1

Я делаю то же самое, по этой ссылке . Все, что мне нужно было сделать, это использовать npm, чтобы установить его, а затем импортировать в мой проект Ionic, но здесь очень мало обслуживания, поэтому, честно говоря, я бы предложил использовать более новый библиотека HttpClient или другая хорошая библиотека REST и вызовы REST с помощью v2 справочные документы.

Google описывает, как они сопоставляют вызовы REST со своим протоколом gRPC в своих http protobuf, они называют это «транскодированием».

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

28.10.2018
  • Спасибо за ответ, @Jonathan. Я использую предложенную вами библиотеку. Он отлично работает, но мне нужны функции V2, такие как отправка пользовательских данных. Я тоже пытался написать это для себя. Затем я получаю ошибки CORS. (stackoverflow.com/questions/52838292/) Вы их тоже получили? 29.10.2018
  • Только что выяснилось, что мы не должны вызывать DF напрямую из внешнего интерфейса, что также объясняет проблемы CORS. productforums.google.com/forum/#!topic/dialogflow/HdQgHv17CYM Это касается V1 и V2, сейчас я создаю бэкэнд для перенаправления клиентских запросов, потому что, по-видимому, мы все равно должны использовать межсерверную аутентификацию, а стиль OAuth называется аутентификацией «two legged», см. Эту ссылку : auth0.com/docs/api-auth/which-oauth -flow-to-use Вкратце, мой поток будет следующим: Пользователь - ›Мой бэкэнд -› DF - ›Мой бэкэнд -› Пользователь. Вы можете написать мне на адрес [email protected] 31.10.2018
  • Я ощетинился использовать другой бэкэнд, потому что он увеличивает задержку и кажется ненужным. Но теперь я также считаю, что другого пути нет. Спасибо за помощь, @Jonathan! Не могли бы вы добавить эту дополнительную подсказку к своему ответу? 01.11.2018
  • Что ж, в итоге я использовал функции Firebase и обнаружил, что это то, что уже использует встроенный редактор Dialogflow. Теперь все имеет смысл. Итак, мы записываем функции firebase, а затем экспортируем их, и клиенты (телефоны и браузеры) будут вызывать эти функции firebase с URL-адресом, который функции firebase говорят нам использовать, поэтому функция firebase обрабатывает запрос от AND-ответа клиенту. 02.11.2018
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...